userver: ydb::TableClient Class Reference
Loading...
Searching...
No Matches
ydb::TableClient Class Referencefinal

Detailed Description

Definition at line 58 of file table.hpp.

Public Member Functions

void ExecuteSchemeQuery (const std::string &query)
 Query for creating/deleting tables.
 
void MakeDirectory (const std::string &path, MakeDirectorySettings query_settings={})
 
void RemoveDirectory (const std::string &path, RemoveDirectorySettings query_settings={})
 
NYdb::NScheme::TDescribePathResult DescribePath (std::string_view path, DescribePathSettings query_settings={})
 
NYdb::NScheme::TListDirectoryResult ListDirectory (std::string_view path, ListDirectorySettings query_settings={})
 
NYdb::NTable::TDescribeTableResult DescribeTable (std::string_view path, DescribeTableSettings query_settings={})
 
void CreateTable (std::string_view path, NYdb::NTable::TTableDescription &&table_desc, CreateTableSettings query_settings={})
 
void DropTable (std::string_view path, DropTableSettings query_settings={})
 
PreparedArgsBuilder GetBuilder () const
 Builder for storing dynamic query params.
 
void BulkUpsert (std::string_view table, NYdb::TValue &&rows, OperationSettings settings={}, BulkUpsertSettings query_settings={})
 Efficiently write large ranges of table data.
 
template<typename RangeOfStructs >
void BulkUpsert (std::string_view table, const RangeOfStructs &rows, OperationSettings settings={})
 
ReadTableResults ReadTable (std::string_view table, NYdb::NTable::TReadTableSettings &&read_settings={}, OperationSettings settings={})
 Efficiently read large ranges of table data.
 
utils::RetryBudgetGetRetryBudget ()
 
Data queries execution

Execute a single data query outside of transactions. Query parameters are passed in Args as "string key - value" pairs:

client.ExecuteDataQuery(query, "name1", value1, "name2", value2, ...);

Use ydb::PreparedArgsBuilder for storing a generic buffer of query params if needed.

It is convinient to keep YQL queries in separate files, see External SQL/YQL files for more info.

template<typename... Args>
ExecuteResponse ExecuteDataQuery (const Query &query, Args &&... args)
 
template<typename... Args>
ExecuteResponse ExecuteDataQuery (OperationSettings settings, const Query &query, Args &&... args)
 
ExecuteResponse ExecuteDataQuery (OperationSettings settings, const Query &query, PreparedArgsBuilder &&builder)
 
ExecuteResponse ExecuteDataQuery (QuerySettings query_settings, OperationSettings settings, const Query &query, PreparedArgsBuilder &&builder)
 
Transactions

Begin a transaction with the specified name. The settings are used for the BEGIN statement.

See also
ydb::Transaction
Transaction Begin (utils::StringLiteral transaction_name, OperationSettings settings={})
 
Transaction Begin (DynamicTransactionName transaction_name, OperationSettings settings={})
 
Transaction Begin (utils::StringLiteral transaction_name, TransactionMode tx_mode)
 
Scan queries execution

A separate data access interface designed primarily for performing analytical ad-hoc queries.

template<typename... Args>
ScanQueryResults ExecuteScanQuery (const Query &query, Args &&... args)
 
template<typename... Args>
ScanQueryResults ExecuteScanQuery (ScanQuerySettings &&scan_settings, OperationSettings settings, const Query &query, Args &&... args)
 
ScanQueryResults ExecuteScanQuery (ScanQuerySettings &&scan_settings, OperationSettings settings, const Query &query, PreparedArgsBuilder &&builder)
 
Queries execution (using YDB Query SDK)

Execute a single query outside of transactions. Query parameters are passed in Args as "string key - value" pairs:

client.ExecuteQuery(query, "name1", value1, "name2", value2, ...);

Use ydb::PreparedArgsBuilder for storing a generic buffer of query params if needed.

If both exec_settings and settings args are passed, exec_settings.client_timeout_ms and exec_settings.trace_id are ignored and are overwritten by settings.client_timeout_ms and settings.trace_id.

template<typename... Args>
ExecuteResponse ExecuteQuery (const Query &query, Args &&... args)
 
template<typename... Args>
ExecuteResponse ExecuteQuery (OperationSettings settings, const Query &query, Args &&... args)
 
ExecuteResponse ExecuteQuery (OperationSettings settings, const Query &query, PreparedArgsBuilder &&builder)
 
ExecuteResponse ExecuteQuery (NYdb::NQuery::TExecuteQuerySettings &&exec_settings, OperationSettings settings, const Query &query, PreparedArgsBuilder &&builder)
 
NYdb::NTable::TTableClient & GetNativeTableClient ()
 
NYdb::NQuery::TQueryClient & GetNativeQueryClient ()
 

Member Function Documentation

◆ Begin()

Transaction ydb::TableClient::Begin ( DynamicTransactionName  transaction_name,
OperationSettings  settings = {} 
)
Warning
Make sure that transaction_name has low cardinality. If transaction_name is unique for every call, per-transaction metrics will overflow metrics quota, and metrics will become unusable.

◆ BulkUpsert()

template<typename RangeOfStructs >
void ydb::TableClient::BulkUpsert ( std::string_view  table,
const RangeOfStructs &  rows,
OperationSettings  settings = {} 
)

Efficiently write large ranges of table data. The passed range of structs is serialized to TValue.

Definition at line 282 of file table.hpp.

◆ ExecuteDataQuery() [1/2]

template<typename... Args>
ExecuteResponse ydb::TableClient::ExecuteDataQuery ( const Query query,
Args &&...  args 
)

Definition at line 272 of file table.hpp.

◆ ExecuteDataQuery() [2/2]

template<typename... Args>
ExecuteResponse ydb::TableClient::ExecuteDataQuery ( OperationSettings  settings,
const Query query,
Args &&...  args 
)

Definition at line 277 of file table.hpp.

◆ ExecuteQuery() [1/2]

template<typename... Args>
ExecuteResponse ydb::TableClient::ExecuteQuery ( const Query query,
Args &&...  args 
)

Definition at line 306 of file table.hpp.

◆ ExecuteQuery() [2/2]

template<typename... Args>
ExecuteResponse ydb::TableClient::ExecuteQuery ( OperationSettings  settings,
const Query query,
Args &&...  args 
)

Definition at line 311 of file table.hpp.

◆ ExecuteScanQuery() [1/2]

template<typename... Args>
ScanQueryResults ydb::TableClient::ExecuteScanQuery ( const Query query,
Args &&...  args 
)

Definition at line 289 of file table.hpp.

◆ ExecuteScanQuery() [2/2]

template<typename... Args>
ScanQueryResults ydb::TableClient::ExecuteScanQuery ( ScanQuerySettings &&  scan_settings,
OperationSettings  settings,
const Query query,
Args &&...  args 
)

Definition at line 294 of file table.hpp.

◆ GetNativeTableClient()

NYdb::NTable::TTableClient & ydb::TableClient::GetNativeTableClient ( )

Get native table or query client

Warning
Use with care! Facilities from <core/include/userver/drivers/subscribable_futures.hpp> can help with non-blocking wait operations.

Friends And Related Symbol Documentation

◆ Transaction

friend class Transaction
friend

Definition at line 227 of file table.hpp.


The documentation for this class was generated from the following file: