64class TableClient
final {
69 impl::TableSettings settings,
70 OperationSettings operation_settings,
71 dynamic_config::Source config_source,
72 std::shared_ptr<impl::Driver> driver
81 void MakeDirectory(
const std::string& path, MakeDirectorySettings query_settings = {});
82 void RemoveDirectory(
const std::string& path, RemoveDirectorySettings query_settings = {});
84 NYdb::NScheme::TDescribePathResult DescribePath(std::string_view path, DescribePathSettings query_settings = {});
85 NYdb::NScheme::TListDirectoryResult ListDirectory(std::string_view path, ListDirectorySettings query_settings = {});
87 NYdb::NTable::TDescribeTableResult DescribeTable(std::string_view path, DescribeTableSettings query_settings = {});
89 std::string_view path,
90 NYdb::NTable::TTableDescription&& table_desc,
91 CreateTableSettings query_settings = {}
93 void DropTable(std::string_view path, DropTableSettings query_settings = {});
112 template <
typename... Args>
113 ExecuteResponse ExecuteDataQuery(
const Query& query, Args&&... args);
115 template <
typename... Args>
116 ExecuteResponse ExecuteDataQuery(OperationSettings settings,
const Query& query, Args&&... args);
118 ExecuteResponse ExecuteDataQuery(OperationSettings settings,
const Query& query, PreparedArgsBuilder&& builder);
120 ExecuteResponse ExecuteDataQuery(
121 QuerySettings query_settings,
122 OperationSettings settings,
124 PreparedArgsBuilder&& builder
144 void RetryTx(
utils::
StringLiteral transaction_name, RetryTxSettings retry_settings, RetryTxFunction fn);
147 void RetryTx(DynamicTransactionName transaction_name, RetryTxSettings retry_settings, RetryTxFunction fn);
157 Transaction Begin(
utils::
StringLiteral transaction_name, OperationSettings settings = {});
162 Transaction
Begin(DynamicTransactionName transaction_name, OperationSettings settings = {});
172 std::string_view table,
174 OperationSettings settings = {},
175 BulkUpsertSettings query_settings = {}
180 template <
typename RangeOfStructs>
181 void BulkUpsert(std::string_view table,
const RangeOfStructs& rows, OperationSettings settings = {});
185 std::string_view table,
186 NYdb::NTable::TReadTableSettings&& read_settings = {},
187 OperationSettings settings = {}
194 template <
typename... Args>
195 ScanQueryResults ExecuteScanQuery(
const Query& query, Args&&... args);
197 template <
typename... Args>
198 ScanQueryResults ExecuteScanQuery(
199 ScanQuerySettings&& scan_settings,
200 OperationSettings settings,
205 ScanQueryResults ExecuteScanQuery(
206 ScanQuerySettings&& scan_settings,
207 OperationSettings settings,
209 PreparedArgsBuilder&& builder
230 template <
typename... Args>
231 ExecuteResponse ExecuteQuery(
const Query& query, Args&&... args);
233 template <
typename... Args>
234 ExecuteResponse ExecuteQuery(OperationSettings settings,
const Query& query, Args&&... args);
236 ExecuteResponse ExecuteQuery(OperationSettings settings,
const Query& query, PreparedArgsBuilder&& builder);
238 ExecuteResponse ExecuteQuery(
239 NYdb::NQuery::TExecuteQuerySettings&& exec_settings,
240 OperationSettings settings,
242 PreparedArgsBuilder&& builder
248 friend void DumpMetric(
utils::
statistics::Writer& writer,
const TableClient& table_client);
258 NYdb::NQuery::TQueryClient& GetNativeQueryClient();
261 utils::RetryBudget& GetRetryBudget();
264 friend class Transaction;
266 template <
typename Settings>
267 friend class impl::RequestContext;
269 std::string JoinDbPath(std::string_view path)
const;
273 NYdb::NQuery::TExecuteQuerySettings ToExecuteQuerySettings(
const QuerySettings& query_settings)
const;
274 NYdb::NTable::TExecDataQuerySettings ToExecDataQuerySettings(
const QuerySettings& query_settings)
const;
276 template <
typename... Args>
277 PreparedArgsBuilder MakeBuilder(Args&&... args);
285 template <
typename QuerySettings,
typename Func>
286 auto ExecuteWithPathImpl(
287 std::string_view path,
288 std::string_view operation_name,
289 OperationSettings settings,
290 QuerySettings&& query_settings,
294 dynamic_config::Source config_source_;
295 const OperationSettings default_settings_;
296 const bool keep_in_query_cache_;
297 const bool use_query_client_;
298 std::unique_ptr<impl::Stats> stats_;
299 std::shared_ptr<impl::Driver> driver_;
300 std::unique_ptr<NYdb::NScheme::TSchemeClient> scheme_client_;
301 std::unique_ptr<NYdb::NTable::TTableClient> table_client_;
302 std::unique_ptr<NYdb::NQuery::TQueryClient> query_client_;