Команда разработчиков 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 для работы с данными.