Выпуск Tarantool Rust SDK 2.0

Александр Толстой

Команда разработчиков Picodata сообщает о выпуске новой версии Tarantool Rust SDK 2.0. Данное программное обеспечение используется для разработки модулей для Tarantool на языке Rust.

Новая версия является крупным обновлением, которое вносит ряд изменений, не совместимых с прошлыми версиями. Среди таких изменений следующее:

  • Функция transaction::start_transaction удалена в пользу transaction::transaction, которая имеет более гибкую сигнатуру.
  • fiber::clock теперь возвращает новый тип tarantool::time::Instant, который полностью заменяет std::time::Instant. Операции над ним по умолчанию округляют значение, а не вызывают панику.
  • Методы трейта tlua::LuaRead теперь возвращают ошибку типа WrongType, которая содержит информацию об ожидаемых и полученных типах значений.
  • Ошибка Error::Decode теперь содержит информацию об ожидаемом типе данных и полученном содержимом msgpack-значения.

Также в этом релизе добавлены следующие новые функции:

  • Макро-аттрибут #[tarantool::test] и функция test::test_cases (доступны с опцией –features=test), которые можно использовать для написания тестового фреймворка, например, как это сделано в Tarantool-test.
  • Функция proc::all_procs, которая возвращает массив с описаниями хранимых процедур, указанных при помощи #tarantool::proc. Это можно использовать для автоматизации объявления хранимых процедур.
  • tarantool::network::client, альтернативная async-реализация клиента IPROTO, основанная на нашем экспериментальном async runtime.
  • fiber::defer теперь будет работать более эффективно на новых версиях Tarantool (начиная с 2.11).

Про остальные изменения можно почитать в CHANGELOG.md

Tarantool — это СУБД и платформа вычислений, работающая резидентно, в оперативной памяти. Это быстрая, надёжная и хорошо масштабируемая основа для построения распределённых систем с нужной клиенту бизнес-логикой. Программное обеспечение Picodata использует доработанную и улучшенную версию Tarantool для создания кластеров хранения данных и обеспечения запуска приложений на языке Rust для работы с данными.