58class TableClient
final {
63 impl::TableSettings settings,
64 OperationSettings operation_settings,
65 dynamic_config::Source config_source,
66 std::shared_ptr<impl::Driver> driver
75 void MakeDirectory(
const std::string& path, MakeDirectorySettings query_settings = {});
76 void RemoveDirectory(
const std::string& path, RemoveDirectorySettings query_settings = {});
78 NYdb::NScheme::TDescribePathResult DescribePath(std::string_view path, DescribePathSettings query_settings = {});
79 NYdb::NScheme::TListDirectoryResult ListDirectory(std::string_view path, ListDirectorySettings query_settings = {});
81 NYdb::NTable::TDescribeTableResult DescribeTable(std::string_view path, DescribeTableSettings query_settings = {});
83 std::string_view path,
84 NYdb::NTable::TTableDescription&& table_desc,
85 CreateTableSettings query_settings = {}
87 void DropTable(std::string_view path, DropTableSettings query_settings = {});
106 template <
typename... Args>
107 ExecuteResponse ExecuteDataQuery(
const Query& query, Args&&... args);
109 template <
typename... Args>
110 ExecuteResponse ExecuteDataQuery(OperationSettings settings,
const Query& query, Args&&... args);
112 ExecuteResponse ExecuteDataQuery(OperationSettings settings,
const Query& query, PreparedArgsBuilder&& builder);
114 ExecuteResponse ExecuteDataQuery(
115 QuerySettings query_settings,
116 OperationSettings settings,
118 PreparedArgsBuilder&& builder
128 Transaction Begin(
utils::
StringLiteral transaction_name, OperationSettings settings = {});
133 Transaction
Begin(DynamicTransactionName transaction_name, OperationSettings settings = {});
143 std::string_view table,
145 OperationSettings settings = {},
146 BulkUpsertSettings query_settings = {}
151 template <
typename RangeOfStructs>
152 void BulkUpsert(std::string_view table,
const RangeOfStructs& rows, OperationSettings settings = {});
156 std::string_view table,
157 NYdb::NTable::TReadTableSettings&& read_settings = {},
158 OperationSettings settings = {}
165 template <
typename... Args>
166 ScanQueryResults ExecuteScanQuery(
const Query& query, Args&&... args);
168 template <
typename... Args>
169 ScanQueryResults ExecuteScanQuery(
170 ScanQuerySettings&& scan_settings,
171 OperationSettings settings,
176 ScanQueryResults ExecuteScanQuery(
177 ScanQuerySettings&& scan_settings,
178 OperationSettings settings,
180 PreparedArgsBuilder&& builder
201 template <
typename... Args>
202 ExecuteResponse ExecuteQuery(
const Query& query, Args&&... args);
204 template <
typename... Args>
205 ExecuteResponse ExecuteQuery(OperationSettings settings,
const Query& query, Args&&... args);
207 ExecuteResponse ExecuteQuery(OperationSettings settings,
const Query& query, PreparedArgsBuilder&& builder);
209 ExecuteResponse ExecuteQuery(
210 NYdb::NQuery::TExecuteQuerySettings&& exec_settings,
211 OperationSettings settings,
213 PreparedArgsBuilder&& builder
219 friend void DumpMetric(
utils::statistics::Writer& writer,
const TableClient& table_client);
229 NYdb::NQuery::TQueryClient& GetNativeQueryClient();
232 utils::RetryBudget& GetRetryBudget();
235 friend class Transaction;
236 friend struct impl::RequestContext;
238 std::string JoinDbPath(std::string_view path)
const;
242 NYdb::NQuery::TExecuteQuerySettings ToExecuteQuerySettings(
const QuerySettings& query_settings)
const;
243 NYdb::NTable::TExecDataQuerySettings ToExecDataQuerySettings(
const QuerySettings& query_settings)
const;
245 template <
typename... Args>
246 PreparedArgsBuilder MakeBuilder(Args&&... args);
254 template <
typename QuerySettings,
typename Func>
255 auto ExecuteWithPathImpl(
256 std::string_view path,
257 std::string_view operation_name,
258 OperationSettings settings,
259 QuerySettings&& query_settings,
263 dynamic_config::Source config_source_;
264 const OperationSettings default_settings_;
265 const bool keep_in_query_cache_;
266 const bool use_query_client_;
267 std::unique_ptr<impl::Stats> stats_;
268 std::shared_ptr<impl::Driver> driver_;
269 std::unique_ptr<NYdb::NScheme::TSchemeClient> scheme_client_;
270 std::unique_ptr<NYdb::NTable::TTableClient> table_client_;
271 std::unique_ptr<NYdb::NQuery::TQueryClient> query_client_;