51class TableClient
final {
56 impl::TableSettings settings,
57 OperationSettings operation_settings,
58 dynamic_config::Source config_source,
59 std::shared_ptr<impl::Driver> driver
68 void MakeDirectory(
const std::string& path, MakeDirectorySettings query_settings = {});
69 void RemoveDirectory(
const std::string& path, RemoveDirectorySettings query_settings = {});
71 NYdb::NScheme::TDescribePathResult DescribePath(std::string_view path, DescribePathSettings query_settings = {});
72 NYdb::NScheme::TListDirectoryResult ListDirectory(std::string_view path, ListDirectorySettings query_settings = {});
74 NYdb::NTable::TDescribeTableResult DescribeTable(std::string_view path, DescribeTableSettings query_settings = {});
76 std::string_view path,
77 NYdb::NTable::TTableDescription&& table_desc,
78 CreateTableSettings query_settings = {}
80 void DropTable(std::string_view path, DropTableSettings query_settings = {});
94 template <
typename... Args>
95 ExecuteResponse ExecuteDataQuery(
const Query& query, Args&&... args);
97 template <
typename... Args>
98 ExecuteResponse ExecuteDataQuery(OperationSettings settings,
const Query& query, Args&&... args);
100 ExecuteResponse ExecuteDataQuery(OperationSettings settings,
const Query& query, PreparedArgsBuilder&& builder);
102 ExecuteResponse ExecuteDataQuery(
103 QuerySettings query_settings,
104 OperationSettings settings,
106 PreparedArgsBuilder&& builder
116 Transaction Begin(std::string transaction_name, OperationSettings settings = {});
118 Transaction Begin(std::string transaction_name, TransactionMode tx_mode);
126 std::string_view table,
128 OperationSettings settings = {},
129 BulkUpsertSettings query_settings = {}
134 template <
typename RangeOfStructs>
135 void BulkUpsert(std::string_view table,
const RangeOfStructs& rows, OperationSettings settings = {});
139 std::string_view table,
140 NYdb::NTable::TReadTableSettings&& read_settings = {},
141 OperationSettings settings = {}
148 template <
typename... Args>
149 ScanQueryResults ExecuteScanQuery(
const Query& query, Args&&... args);
151 template <
typename... Args>
153 ExecuteScanQuery(ScanQuerySettings&& scan_settings, OperationSettings settings,
const Query& query, Args&&... args);
155 ScanQueryResults ExecuteScanQuery(
156 ScanQuerySettings&& scan_settings,
157 OperationSettings settings,
159 PreparedArgsBuilder&& builder
178 template <
typename... Args>
179 ExecuteResponse ExecuteQuery(
const Query& query, Args&&... args);
181 template <
typename... Args>
182 ExecuteResponse ExecuteQuery(OperationSettings settings,
const Query& query, Args&&... args);
184 ExecuteResponse ExecuteQuery(OperationSettings settings,
const Query& query, PreparedArgsBuilder&& builder);
186 ExecuteResponse ExecuteQuery(
187 NYdb::NQuery::TExecuteQuerySettings&& exec_settings,
188 OperationSettings settings,
190 PreparedArgsBuilder&& builder
196 friend void DumpMetric(
utils::statistics::Writer& writer,
const TableClient& table_client);
206 NYdb::NQuery::TQueryClient& GetNativeQueryClient();
209 utils::RetryBudget& GetRetryBudget();
212 friend class Transaction;
213 friend struct impl::RequestContext;
215 std::string JoinDbPath(std::string_view path)
const;
219 NYdb::NTable::TExecDataQuerySettings ToExecQuerySettings(QuerySettings query_settings)
const;
221 template <
typename... Args>
222 PreparedArgsBuilder MakeBuilder(Args&&... args);
230 template <
typename QuerySettings,
typename Func>
231 auto ExecuteWithPathImpl(
232 std::string_view path,
233 std::string_view operation_name,
234 OperationSettings settings,
235 QuerySettings&& query_settings,
239 dynamic_config::Source config_source_;
240 const OperationSettings default_settings_;
241 const bool keep_in_query_cache_;
242 std::unique_ptr<impl::Stats> stats_;
243 std::shared_ptr<impl::Driver> driver_;
244 std::unique_ptr<NYdb::NScheme::TSchemeClient> scheme_client_;
245 std::unique_ptr<NYdb::NTable::TTableClient> table_client_;
246 std::unique_ptr<NYdb::NQuery::TQueryClient> query_client_;