-
Notifications
You must be signed in to change notification settings - Fork 349
Description
При вызове метода Begin создается объект Transaction, который использует для выполнения запросов в YDB устаревший Table Client API. Вместо этого нужно использовать Query Client (класс TQueryClient в YDB С++ SDK).
Для этого нужно:
- Создавать транзакцию внутри объекта Transaction через Query Client.
- Использовать Query Client для выполнения запросов в методах Execute внутри объекта Transaction
- Сохранить сигнатуру существующих методов интерактивной транзакции
Текущая сигнатура Execute зависит от API для Table Client, нужно будет сделать конвертацию под Query Client. Вот примеры такой конвертации в YDB Go SDK и YDB Java SDK.
API Query Client и Table Client немного отличаются, например ExecuteQuery вместо ExecuteDataQuery и RetryQuery вместо RetryOperation. Есть еще отличия, их лучше самому посмотреть в коде YDB C++ SDK: Table Client API и Query Client API.
Код компоненты userver для работы с YDB находится здесь.
Создание транзакции: include, source
Работа с транзакциями: include, source