C++ YT Wrapper
C++ library for working with YT clusters
Loading...
Searching...
No Matches
fwd.h
Go to the documentation of this file.
1#pragma once
2
7
8
9#include <util/generic/fwd.h>
10#include <util/system/types.h>
11
12#include <variant>
13
15namespace google::protobuf {
16 class Message;
17}
18
19namespace NYT {
20
22 // batch_request.h
24
25 class IBatchRequest;
26 using TBatchRequestPtr = ::TIntrusivePtr<IBatchRequest>;
27
29 // client.h
31
32 enum ELockMode : int;
33
35
37
38 struct TLockOptions;
39
40 template <class TDerived>
41 struct TTabletOptions;
42
43 struct TMountTableOptions;
44
46
48
50
51 struct TAlterTableOptions;
52
53 struct TLookupRowsOptions;
54
55 struct TSelectRowsOptions;
56
58
60
62
64
68
69 struct TTabletInfo;
70
71 class ILock;
72 using ILockPtr = ::TIntrusivePtr<ILock>;
73
74 class ITransaction;
75 using ITransactionPtr = ::TIntrusivePtr<ITransaction>;
76
77 class ITransactionPinger;
78 using ITransactionPingerPtr = ::TIntrusivePtr<ITransactionPinger>;
79
80 struct IOperation;
81 using IOperationPtr = ::TIntrusivePtr<IOperation>;
82
83 class IClientBase;
84
85 class IClient;
86
87 using IClientPtr = ::TIntrusivePtr<IClient>;
88 using IClientBasePtr = ::TIntrusivePtr<IClientBase>;
89
91 // config.h
93
94 struct TConfig;
95 using TConfigPtr = ::TIntrusivePtr<TConfig>;
96
98 // cypress.h
100
101 enum ENodeType : int;
102
103 struct TCreateOptions;
104
105 struct TRemoveOptions;
106
107 struct TGetOptions;
108
109 struct TSetOptions;
110
112
113 struct TListOptions;
114
115 struct TCopyOptions;
116
117 struct TMoveOptions;
118
119 struct TLinkOptions;
120
121 struct TConcatenateOptions;
122
123 struct TInsertRowsOptions;
124
125 struct TDeleteRowsOptions;
126
127 struct TTrimRowsOptions;
128
129 class ICypressClient;
130
132 // errors.h
134
135 class TApiUsageError;
136
137 class TYtError;
138
139 class TErrorResponse;
140
141 struct TFailedJobInfo;
142
144
146 // node.h
148
149 class TNode;
150
152 // common.h
154
155 using TMutationId = TGUID;
156 using TTransactionId = TGUID;
157 using TNodeId = TGUID;
158 using TLockId = TGUID;
159 using TOperationId = TGUID;
160 using TTabletCellId = TGUID;
161 using TReplicaId = TGUID;
162 using TJobId = TGUID;
163 using TJobTraceId = TGUID;
164
165 using TYPath = TString;
166 using TLocalFilePath = TString;
167
168 template <class T, class TDerived = void>
169 struct TOneOrMany;
170
171 // key column values
172 using TKey = TOneOrMany<TNode>;
173
174 class TSortColumn;
175
176 // column names
177 using TColumnNames = TOneOrMany<TString>;
178
179 // key column descriptors.
180 class TSortColumns;
181
182 enum EValueType : int;
183
184 enum ESortOrder : int;
185
186 enum EOptimizeForAttr : i8;
187
188 enum EErasureCodecAttr : i8;
189
190 enum ESchemaModificationAttr : i8;
191
192 enum class EMasterReadKind : int;
193
194 class TColumnSchema;
195
196 class TTableSchema;
197
198 enum class ERelation;
199
200 struct TKeyBound;
201
202 struct TReadLimit;
203
204 struct TReadRange;
205
206 struct TRichYPath;
207
208 struct TAttributeFilter;
209
211 // io.h
213
214 enum class EFormatType : int;
215
216 struct TFormat;
217
218 class IFileReader;
219
220 using IFileReaderPtr = ::TIntrusivePtr<IFileReader>;
221
222 class IFileWriter;
223
224 using IFileWriterPtr = ::TIntrusivePtr<IFileWriter>;
225
227
228 using IFileFragmentWriterPtr = ::TIntrusivePtr<IFileFragmentWriter>;
229
230 class IBlobTableReader;
231 using IBlobTableReaderPtr = ::TIntrusivePtr<IBlobTableReader>;
232
233 class TRawTableReader;
234
235 using TRawTableReaderPtr = ::TIntrusivePtr<TRawTableReader>;
236
237 class TRawTableWriter;
238
239 using TRawTableWriterPtr = ::TIntrusivePtr<TRawTableWriter>;
240
241 template <class T, class = void>
242 class TTableReader;
243
244 template <class T, class = void>
245 class TTableRangesReader;
246
247 template <typename T>
248 using TTableRangesReaderPtr = ::TIntrusivePtr<TTableRangesReader<T>>;
249
250 template <class T>
251 using TTableReaderPtr = ::TIntrusivePtr<TTableReader<T>>;
252
253 template <class T, class = void>
254 class TTableWriter;
255
256 template <class T>
257 using TTableWriterPtr = ::TIntrusivePtr<TTableWriter<T>>;
258
259 template <class T>
261
262 template <class T>
263 using ITableFragmentWriterPtr = ::TIntrusivePtr<ITableFragmentWriter<T>>;
264
265 struct TYaMRRow;
266
267 using ::google::protobuf::Message;
268
269 class ISkiffRowParser;
270
271 using ISkiffRowParserPtr = ::TIntrusivePtr<ISkiffRowParser>;
272
273 class ISkiffRowSkipper;
274
275 using ISkiffRowSkipperPtr = ::TIntrusivePtr<ISkiffRowSkipper>;
276
277 namespace NDetail {
278
279 class TYdlGenericRowType;
280
281 } // namespace NDetail
282
283 template<class... TYdlRowTypes>
284 class TYdlOneOf;
285
286 template<class... TProtoRowTypes>
287 class TProtoOneOf;
288
289 template<class... TSkiffRowTypes>
290 class TSkiffRowOneOf;
291
292 using TYaMRReader = TTableReader<TYaMRRow>;
293 using TYaMRWriter = TTableWriter<TYaMRRow>;
294 using TNodeReader = TTableReader<TNode>;
295 using TNodeWriter = TTableWriter<TNode>;
296 using TMessageReader = TTableReader<Message>;
297 using TMessageWriter = TTableWriter<Message>;
298 using TYdlTableWriter = TTableWriter<NDetail::TYdlGenericRowType>;
299
300 template <class TDerived>
301 struct TIOOptions;
302
303 struct TFileReaderOptions;
304
305 struct TFileWriterOptions;
306
307 struct TTableReaderOptions;
308
309 class TSkiffRowHints;
310
311 struct TTableWriterOptions;
312
314 // job_statistics.h
316
317 class TJobStatistics;
318
319 template <typename T>
321
323 // operation.h
325
326 class TFormatHints;
327
328 struct TUserJobSpec;
329
330 struct TMapOperationSpec;
331
333
335
337
339
340 struct TSortOperationSpec;
341
342 class IIOperationPreparationContext;
343
344 class IJob;
345 using IJobPtr = ::TIntrusivePtr<IJob>;
346
347 class IRawJob;
348 using IRawJobPtr = ::TIntrusivePtr<IRawJob>;
349
350 enum EMergeMode : int;
351
352 struct TMergeOperationSpec;
353
354 struct TEraseOperationSpec;
355
356 template <class TR, class TW>
357 class IMapper;
358
359 template <class TR, class TW>
360 class IReducer;
361
362 template <class TR, class TW>
363 class IAggregatorReducer;
364
366
368
369 enum class EOperationBriefState : int;
370
372
373 struct TOperationOptions;
374
375 enum class EOperationAttribute : int;
376
378
380
382
383 struct TGetJobOptions;
384
385 struct TListJobsOptions;
386
387 struct TGetJobTraceOptions;
388
389 struct IOperationClient;
390
391 enum class EFinishedJobState : int;
392
393 enum class EJobType : int;
394 enum class EJobState : int;
395 enum class ETaskName : int;
396 class TTaskName;
397
398 struct TJobBinaryDefault;
399
400 struct TJobBinaryLocalPath;
401
403
404 using TJobBinaryConfig = std::variant<
408
409 struct TRetryConfig;
411 using IRetryConfigProviderPtr = ::TIntrusivePtr<IRetryConfigProvider>;
412
414 // distributed_session.h
416
419
423
427
429 // raw_batch_request.h
431
432 class IRawBatchRequest;
433 using IRawBatchRequestPtr = ::TIntrusivePtr<IRawBatchRequest>;
434
436 // raw_client.h
438
439 class IRawClient;
440 using IRawClientPtr = ::TIntrusivePtr<IRawClient>;
441}
Batch request object.
Definition batch_request.h:188
Base class for NYT::IClient and NYT::ITransaction.
Definition client.h:143
Interface containing non-transactional commands.
Definition client.h:282
Client interface to execute Cypress-related commands.
Definition cypress.h:22
Definition io.h:129
Interface representing YT file reader.
Definition io.h:112
Interface representing YT file writer.
Definition io.h:118
Interface for all user jobs.
Definition operation.h:1942
Interface representing a lock obtained from NYT::ITransaction::Lock.
Definition client.h:108
Base interface for structured (typed) map jobs with given reader and writer.
Definition operation.h:2083
Definition raw_batch_request.h:15
Definition raw_client.h:28
This method is called before feeding input rows to reducer (before Do method). virtual void Start(TWr...
Definition operation.h:2218
Base interface for structured (typed) reduce jobs with given reader and writer.
Definition operation.h:2131
The library uses this class to understand how to retry individual requests.
Definition retry_policy.h:23
Definition skiff_row.h:83
Definition skiff_row.h:103
Class template for distributed table API fragment writer.
Definition io.h:423
Interface representing a master transaction.
Definition client.h:206
Error that is thrown when library detects invalid usage of API.
Definition errors.h:32
Single column description.
Definition common.h:618
Generic error response returned by server.
Definition errors.h:158
Options that control how C++ objects represent table rows when reading or writing a table.
Definition client_method_options.h:701
Class representing single statistic.
Definition job_statistics.h:168
Class representing a collection of job statistics.
Definition job_statistics.h:35
Error that is thrown when operation watched by library fails.
Definition errors.h:254
"Marker" type to use for several protobuf types in NYT::TTableReader.
Definition io.h:37
Low-level interface to read YT table with retries.
Definition io.h:140
Low-level interface to write YT table.
Definition io.h:174
Definition client_method_options.h:680
"Marker" type to use for several skiff row types in NYT::TTableReader.
Definition io.h:52
Table key column description.
Definition common.h:494
List of TSortColumn.
Definition common.h:558
Class to facilitate reading table rows sorted by key.
Definition io.h:381
Class template to read typed rows from YT tables.
Definition io.h:249
Description of table schema.
Definition common.h:771
Class template to write typed rows to YT tables.
Definition io.h:399
Task name (can either well-known or just a string).
Definition operation.h:2803
Error returned by YT cluster.
Definition errors.h:62
Main namespace of YT client.
Definition abortable_stream.h:7
ETaskName
Well-known task names.
Definition operation.h:2780
EOperationAttribute
Attributes to request for an operation.
Definition operation.h:2352
EMasterReadKind
Enumeration for specifying how reading from master is performed.
Definition common.h:1416
EJobType
Job type.
Definition operation.h:2749
EOperationBriefState
"Coarse-grained" state of an operation.
Definition operation.h:2408
EErasureCodecAttr
Value of "erasure_codec" attribute.
Definition common.h:456
EJobState
Job state.
Definition operation.h:2829
ESchemaModificationAttr
Value of "schema_modification" attribute.
Definition common.h:472
ENodeType
Type of the cypress node.
Definition client_method_options.h:22
ELockMode
Type of the lock.
Definition client_method_options.h:960
EMergeMode
Merge mode.
Definition operation.h:1299
EOptimizeForAttr
Value of "optimize_for" attribute.
Definition common.h:443
ERelation
Enumeration describing comparison operation used in key bound.
Definition common.h:895
ESortOrder
Sort order.
Definition common.h:431
EValueType
Type of the value that can occur in YT table.
Definition common.h:352
Interface of client capable of managing operations.
Definition operation.h:3407
Interface representing an operation.
Definition operation.h:3244
Options for NYT::IClient::AlterTable.
Definition client_method_options.h:1120
Options for NYT::IClient::AlterTableReplica.
Definition client_method_options.h:1462
List of attributes to retrieve in operations like NYT::ICypressClient::Get.
Definition common.h:1389
Options for NYT::IClient::CheckPermission.
Definition client_method_options.h:1558
Result of NYT::IClient::CheckPermission command.
Definition client.h:94
Part of NYT::TCheckPermissionResponse.
Definition client.h:68
Options for NYT::ITransaction::Commit.
Definition client_method_options.h:1029
Options for NYT::ICypressClient::Concatenate.
Definition client_method_options.h:347
Definition config.h:110
Options for NYT::ICypressClient::Copy.
Definition client_method_options.h:276
Options for NYT::CreateClient;.
Definition client_method_options.h:1212
Options for NYT::ICypressClient::Create.
Definition client_method_options.h:126
Options for NYT::IClient::DeleteRows.
Definition client_method_options.h:1439
Definition distributed_session.h:94
Definition distributed_session.h:59
Spec of Erase operation.
Definition operation.h:1367
Definition errors.h:227
Options for reading file from YT.
Definition client_method_options.h:569
Options for writing file.
Definition client_method_options.h:647
Definition distributed_session.h:122
Definition distributed_session.h:87
Class representing YT data format.
Definition format.h:38
Options for NYT::IClient::GetFileFromCache.
Definition client_method_options.h:1487
Options for NYT::IClient::GetJob.
Definition operation.h:3126
Options for NYT::IClient::GetJobTrace.
Definition operation.h:3187
Options for NYT::IClient::GetOperation call.
Definition operation.h:2393
Options for NYT::ICypressClient::Get.
Definition client_method_options.h:208
Base class for many options related to IO.
Definition client_method_options.h:531
Options for NYT::IClient::InsertRows.
Definition client_method_options.h:1401
Tag class marking that binary from specified Cypress path should be used in operation.
Definition operation.h:136
Tag class marking that current binary should be used in operation.
Definition operation.h:125
Tag class marking that binary from specified local path should be used in operation.
Definition operation.h:129
Spec of JoinReduce operation.
Definition operation.h:1094
Key with relation specifying interval of keys in lower or upper limit of NYT::TReadRange.
Definition common.h:930
Options for NYT::ICypressClient::Link.
Definition client_method_options.h:324
Options for NYT::IClient::ListJobs.
Definition operation.h:2911
Options of NYT::IClient::ListOperations command.
Definition operation.h:2599
Options for NYT::ICypressClient::List.
Definition client_method_options.h:258
Options for locking cypress node.
Definition client_method_options.h:978
Options for NYT::IClient::LookupRows.
Definition client_method_options.h:1143
Spec of Map operation.
Definition operation.h:959
Spec of MapReduce operation.
Definition operation.h:1195
Spec of Merge operation.
Definition operation.h:1311
Options for NYT::IClient::MountTable.
Definition client_method_options.h:1056
Options for NYT::ICypressClient::Move.
Definition client_method_options.h:300
Options for NYT::ICypressClient::MultisetAttributes.
Definition client_method_options.h:242
Convenience class that keeps sequence of items.
Definition common.h:280
Class describing which attributes to request in NYT::IClient::GetOperation or NYT::IClient::ListOpera...
Definition operation.h:2374
Operation info.
Definition operation.h:2516
Options for NYT::IOperationClient::Map and other operation start commands.
Definition operation.h:1511
Definition distributed_session.h:117
Definition distributed_session.h:82
Options for NYT::IClient::GetTableColumnarStatistics.
Definition client_method_options.h:1500
Spec of raw Map operation.
Definition operation.h:968
Description of the read limit.
Definition common.h:951
Range of a table or a file.
Definition common.h:995
Spec of Reduce operation.
Definition operation.h:1030
Options for NYT::IClient::RemountTable.
Definition client_method_options.h:1089
Options for NYT::ICypressClient::Remove.
Definition client_method_options.h:163
Options for NYT::IClient::ReshardTable.
Definition client_method_options.h:1097
Options for NYT::IOperation::ResumeOperation.
Definition client_method_options.h:493
A configuration that controls retries of a single request.
Definition retry_policy.h:12
Path with additional attributes.
Definition common.h:1040
Options for NYT::IClient::SelectRows.
Definition client_method_options.h:1172
Options for NYT::ICypressClient::Set.
Definition client_method_options.h:223
Spec of Sort operation.
Definition operation.h:1241
Definition distributed_session.h:103
Definition distributed_session.h:68
Options for NYT::IClient::StartTransaction.
Definition client_method_options.h:886
Options for NYT::IOperation::SuspendOperation.
Definition client_method_options.h:469
Options for NYT::IClient::CreateTableReader.
Definition client_method_options.h:781
Options for NYT::IClient::CreateTableWriter.
Definition client_method_options.h:825
Contains information about tablet.
Definition common.h:1363
Base class for options that deal with tablets.
Definition client_method_options.h:1038
Options for NYT::IClient::TrimRows.
Definition client_method_options.h:1455
Options for NYT::IClient::UnmountTable.
Definition client_method_options.h:1074
Spec of user job.
Definition operation.h:757
Type representing YaMR table row.
Definition io.h:445