60class TableClient
final {
65 impl::TableSettings settings,
66 OperationSettings operation_settings,
67 dynamic_config::Source config_source,
68 std::shared_ptr<impl::Driver> driver
77 void MakeDirectory(
const std::string& path, MakeDirectorySettings query_settings = {});
78 void RemoveDirectory(
const std::string& path, RemoveDirectorySettings query_settings = {});
80 NYdb::NScheme::TDescribePathResult DescribePath(std::string_view path, DescribePathSettings query_settings = {});
81 NYdb::NScheme::TListDirectoryResult ListDirectory(std::string_view path, ListDirectorySettings query_settings = {});
83 NYdb::NTable::TDescribeTableResult DescribeTable(std::string_view path, DescribeTableSettings query_settings = {});
85 std::string_view path,
86 NYdb::NTable::TTableDescription&& table_desc,
87 CreateTableSettings query_settings = {}
89 void DropTable(std::string_view path, DropTableSettings query_settings = {});
108 template <
typename... Args>
109 ExecuteResponse ExecuteDataQuery(
const Query& query, Args&&... args);
111 template <
typename... Args>
112 ExecuteResponse ExecuteDataQuery(OperationSettings settings,
const Query& query, Args&&... args);
114 ExecuteResponse ExecuteDataQuery(OperationSettings settings,
const Query& query, PreparedArgsBuilder&& builder);
116 ExecuteResponse ExecuteDataQuery(
117 QuerySettings query_settings,
118 OperationSettings settings,
120 PreparedArgsBuilder&& builder
140 void RetryTx(
utils::
StringLiteral transaction_name, RetryTxSettings retry_settings, RetryTxFunction fn);
143 void RetryTx(DynamicTransactionName transaction_name, RetryTxSettings retry_settings, RetryTxFunction fn);
153 Transaction Begin(
utils::
StringLiteral transaction_name, OperationSettings settings = {});
158 Transaction
Begin(DynamicTransactionName transaction_name, OperationSettings settings = {});
168 std::string_view table,
170 OperationSettings settings = {},
171 BulkUpsertSettings query_settings = {}
176 template <
typename RangeOfStructs>
177 void BulkUpsert(std::string_view table,
const RangeOfStructs& rows, OperationSettings settings = {});
181 std::string_view table,
182 NYdb::NTable::TReadTableSettings&& read_settings = {},
183 OperationSettings settings = {}
190 template <
typename... Args>
191 ScanQueryResults ExecuteScanQuery(
const Query& query, Args&&... args);
193 template <
typename... Args>
194 ScanQueryResults ExecuteScanQuery(
195 ScanQuerySettings&& scan_settings,
196 OperationSettings settings,
201 ScanQueryResults ExecuteScanQuery(
202 ScanQuerySettings&& scan_settings,
203 OperationSettings settings,
205 PreparedArgsBuilder&& builder
226 template <
typename... Args>
227 ExecuteResponse ExecuteQuery(
const Query& query, Args&&... args);
229 template <
typename... Args>
230 ExecuteResponse ExecuteQuery(OperationSettings settings,
const Query& query, Args&&... args);
232 ExecuteResponse ExecuteQuery(OperationSettings settings,
const Query& query, PreparedArgsBuilder&& builder);
234 ExecuteResponse ExecuteQuery(
235 NYdb::NQuery::TExecuteQuerySettings&& exec_settings,
236 OperationSettings settings,
238 PreparedArgsBuilder&& builder
244 friend void DumpMetric(
utils::statistics::Writer& writer,
const TableClient& table_client);
254 NYdb::NQuery::TQueryClient& GetNativeQueryClient();
257 utils::RetryBudget& GetRetryBudget();
260 friend class Transaction;
262 template <
typename Settings>
263 friend class impl::RequestContext;
265 std::string JoinDbPath(std::string_view path)
const;
269 NYdb::NQuery::TExecuteQuerySettings ToExecuteQuerySettings(
const QuerySettings& query_settings)
const;
270 NYdb::NTable::TExecDataQuerySettings ToExecDataQuerySettings(
const QuerySettings& query_settings)
const;
272 template <
typename... Args>
273 PreparedArgsBuilder MakeBuilder(Args&&... args);
281 template <
typename QuerySettings,
typename Func>
282 auto ExecuteWithPathImpl(
283 std::string_view path,
284 std::string_view operation_name,
285 OperationSettings settings,
286 QuerySettings&& query_settings,
290 dynamic_config::Source config_source_;
291 const OperationSettings default_settings_;
292 const bool keep_in_query_cache_;
293 const bool use_query_client_;
294 std::unique_ptr<impl::Stats> stats_;
295 std::shared_ptr<impl::Driver> driver_;
296 std::unique_ptr<NYdb::NScheme::TSchemeClient> scheme_client_;
297 std::unique_ptr<NYdb::NTable::TTableClient> table_client_;
298 std::unique_ptr<NYdb::NQuery::TQueryClient> query_client_;