C++ YT Wrapper
C++ library for working with YT clusters
Loading...
Searching...
No Matches
batch_request.h
1#pragma once
2
3#include "fwd.h"
4
6
7#include <library/cpp/threading/future/future.h>
8#include <util/generic/ptr.h>
9
10namespace NYT {
11
13
16 : public TThrRefBase
17{
18public:
19 virtual ~IBatchRequestBase() = default;
20
25 virtual ::NThreading::TFuture<TNodeId> Create(
26 const TYPath& path,
27 ENodeType type,
28 const TCreateOptions& options = TCreateOptions()) = 0;
29
34 virtual ::NThreading::TFuture<void> Remove(
35 const TYPath& path,
36 const TRemoveOptions& options = TRemoveOptions()) = 0;
37
42 virtual ::NThreading::TFuture<bool> Exists(
43 const TYPath& path,
44 const TExistsOptions& options = TExistsOptions()) = 0;
45
50 virtual ::NThreading::TFuture<TNode> Get(
51 const TYPath& path,
52 const TGetOptions& options = TGetOptions()) = 0;
53
58 virtual ::NThreading::TFuture<void> Set(
59 const TYPath& path,
60 const TNode& node,
61 const TSetOptions& options = TSetOptions()) = 0;
62
67 virtual ::NThreading::TFuture<TNode::TListType> List(
68 const TYPath& path,
69 const TListOptions& options = TListOptions()) = 0;
70
75 virtual ::NThreading::TFuture<TNodeId> Copy(
76 const TYPath& sourcePath,
77 const TYPath& destinationPath,
78 const TCopyOptions& options = TCopyOptions()) = 0;
79
84 virtual ::NThreading::TFuture<TNodeId> Move(
85 const TYPath& sourcePath,
86 const TYPath& destinationPath,
87 const TMoveOptions& options = TMoveOptions()) = 0;
88
93 virtual ::NThreading::TFuture<TNodeId> Link(
94 const TYPath& targetPath,
95 const TYPath& linkPath,
96 const TLinkOptions& options = TLinkOptions()) = 0;
97
102 virtual ::NThreading::TFuture<ILockPtr> Lock(
103 const TYPath& path,
104 ELockMode mode,
105 const TLockOptions& options = TLockOptions()) = 0;
106
111 virtual ::NThreading::TFuture<void> Unlock(
112 const TYPath& path,
113 const TUnlockOptions& options = TUnlockOptions()) = 0;
114
119 virtual ::NThreading::TFuture<void> AbortOperation(const TOperationId& operationId) = 0;
120
125 virtual ::NThreading::TFuture<void> CompleteOperation(const TOperationId& operationId) = 0;
126
131 virtual ::NThreading::TFuture<void> SuspendOperation(
132 const TOperationId& operationId,
134
139 virtual ::NThreading::TFuture<void> ResumeOperation(
140 const TOperationId& operationId,
141 const TResumeOperationOptions& options = TResumeOperationOptions()) = 0;
142
147 virtual ::NThreading::TFuture<void> UpdateOperationParameters(
148 const TOperationId& operationId,
150
155 virtual ::NThreading::TFuture<TRichYPath> CanonizeYPath(const TRichYPath& path) = 0;
156
161 virtual ::NThreading::TFuture<TVector<TTableColumnarStatistics>> GetTableColumnarStatistics(
162 const TVector<TRichYPath>& paths,
163 const TGetTableColumnarStatisticsOptions& options = {}) = 0;
164
169 virtual ::NThreading::TFuture<TCheckPermissionResponse> CheckPermission(
170 const TString& user,
171 EPermission permission,
172 const TYPath& path,
173 const TCheckPermissionOptions& options = TCheckPermissionOptions()) = 0;
174};
175
187 : public IBatchRequestBase
188{
189public:
198 virtual IBatchRequestBase& WithTransaction(const TTransactionId& transactionId) = 0;
199 IBatchRequestBase& WithTransaction(const ITransactionPtr& transaction);
200
217 virtual void ExecuteBatch(const TExecuteBatchOptions& options = TExecuteBatchOptions()) = 0;
218};
219
221
222} // namespace NYT
Helper base of NYT::IBatchRequest holding most of useful methods.
Definition batch_request.h:17
virtual ::NThreading::TFuture< TNodeId > Link(const TYPath &targetPath, const TYPath &linkPath, const TLinkOptions &options=TLinkOptions())=0
Create symbolic link.
virtual ::NThreading::TFuture< TRichYPath > CanonizeYPath(const TRichYPath &path)=0
Canonize cypress path.
virtual ::NThreading::TFuture< void > SuspendOperation(const TOperationId &operationId, const TSuspendOperationOptions &options=TSuspendOperationOptions())=0
Suspend operation.
virtual ::NThreading::TFuture< void > Remove(const TYPath &path, const TRemoveOptions &options=TRemoveOptions())=0
Remove cypress node.
virtual ::NThreading::TFuture< void > AbortOperation(const TOperationId &operationId)=0
Abort operation.
virtual ::NThreading::TFuture< TNode::TListType > List(const TYPath &path, const TListOptions &options=TListOptions())=0
List cypress directory.
virtual ::NThreading::TFuture< void > UpdateOperationParameters(const TOperationId &operationId, const TUpdateOperationParametersOptions &options=TUpdateOperationParametersOptions())=0
Update parameters of running operation.
virtual ::NThreading::TFuture< bool > Exists(const TYPath &path, const TExistsOptions &options=TExistsOptions())=0
Check wether cypress node exists.
virtual ::NThreading::TFuture< void > CompleteOperation(const TOperationId &operationId)=0
Force complete operation.
virtual ::NThreading::TFuture< void > ResumeOperation(const TOperationId &operationId, const TResumeOperationOptions &options=TResumeOperationOptions())=0
Resume operation.
virtual ::NThreading::TFuture< TNodeId > Create(const TYPath &path, ENodeType type, const TCreateOptions &options=TCreateOptions())=0
Create cypress node.
virtual ::NThreading::TFuture< TCheckPermissionResponse > CheckPermission(const TString &user, EPermission permission, const TYPath &path, const TCheckPermissionOptions &options=TCheckPermissionOptions())=0
Check permission for given path.
virtual ::NThreading::TFuture< TNodeId > Move(const TYPath &sourcePath, const TYPath &destinationPath, const TMoveOptions &options=TMoveOptions())=0
Move cypress node.
virtual ::NThreading::TFuture< TNodeId > Copy(const TYPath &sourcePath, const TYPath &destinationPath, const TCopyOptions &options=TCopyOptions())=0
Copy cypress node.
virtual ::NThreading::TFuture< void > Unlock(const TYPath &path, const TUnlockOptions &options=TUnlockOptions())=0
Unlock cypress node.
virtual ::NThreading::TFuture< TVector< TTableColumnarStatistics > > GetTableColumnarStatistics(const TVector< TRichYPath > &paths, const TGetTableColumnarStatisticsOptions &options={})=0
Get table columnar statistic.
virtual ::NThreading::TFuture< ILockPtr > Lock(const TYPath &path, ELockMode mode, const TLockOptions &options=TLockOptions())=0
Lock cypress node.
virtual ::NThreading::TFuture< void > Set(const TYPath &path, const TNode &node, const TSetOptions &options=TSetOptions())=0
Set cypress node.
virtual ::NThreading::TFuture< TNode > Get(const TYPath &path, const TGetOptions &options=TGetOptions())=0
Get cypress node.
Batch request object.
Definition batch_request.h:188
virtual void ExecuteBatch(const TExecuteBatchOptions &options=TExecuteBatchOptions())=0
Executes all subrequests of batch request.
virtual IBatchRequestBase & WithTransaction(const TTransactionId &transactionId)=0
Temporary override current transaction.
Main namespace of YT client.
Definition abortable_stream.h:7
EPermission
Definition client_method_options.h:1514
ENodeType
Type of the cypress node.
Definition client_method_options.h:22
ELockMode
Type of the lock.
Definition client_method_options.h:960
Options for NYT::IClient::CheckPermission.
Definition client_method_options.h:1558
Options for NYT::ICypressClient::Copy.
Definition client_method_options.h:276
Options for NYT::ICypressClient::Create.
Definition client_method_options.h:126
Options for NYT::IBatchRequest::ExecuteBatch.
Definition client_method_options.h:1288
Options for NYT::ICypressClient::Exists.
Definition client_method_options.h:198
Options for NYT::ICypressClient::Get.
Definition client_method_options.h:208
Options for NYT::IClient::GetTableColumnarStatistics.
Definition client_method_options.h:1593
Options for NYT::ICypressClient::Link.
Definition client_method_options.h:324
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::ICypressClient::Move.
Definition client_method_options.h:300
Options for NYT::ICypressClient::Remove.
Definition client_method_options.h:163
Options for NYT::IOperation::ResumeOperation.
Definition client_method_options.h:493
Path with additional attributes.
Definition common.h:1040
Options for NYT::ICypressClient::Set.
Definition client_method_options.h:223
Options for NYT::IOperation::SuspendOperation.
Definition client_method_options.h:469
Options for NYT::ITransaction::Unlock.
Definition client_method_options.h:1017
Options for NYT::IOperation::UpdateParameters.
Definition client_method_options.h:504