aboutsummaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/interface/raw_batch_request.h
diff options
context:
space:
mode:
authorhiddenpath <hiddenpath@yandex-team.com>2025-01-15 20:17:09 +0300
committerhiddenpath <hiddenpath@yandex-team.com>2025-01-15 21:21:14 +0300
commitbb37d56338bace93813adc51a61936a19acc8edc (patch)
tree3d771660421001c994e2baf9a40b409d06c7a24b /yt/cpp/mapreduce/interface/raw_batch_request.h
parent9a04c0af35c6a47061b3699089da07acfcf14587 (diff)
downloadydb-bb37d56338bace93813adc51a61936a19acc8edc.tar.gz
YT-23616: Make THttpRawBatchRequest as an implementation of IRawBatchRequest interface
commit_hash:9e6c556686dda1562697762d38da532dc5c87b80
Diffstat (limited to 'yt/cpp/mapreduce/interface/raw_batch_request.h')
-rw-r--r--yt/cpp/mapreduce/interface/raw_batch_request.h134
1 files changed, 134 insertions, 0 deletions
diff --git a/yt/cpp/mapreduce/interface/raw_batch_request.h b/yt/cpp/mapreduce/interface/raw_batch_request.h
new file mode 100644
index 0000000000..ec7b2b542c
--- /dev/null
+++ b/yt/cpp/mapreduce/interface/raw_batch_request.h
@@ -0,0 +1,134 @@
+#pragma once
+
+#include "client_method_options.h"
+#include "fwd.h"
+#include "operation.h"
+
+#include <library/cpp/threading/future/core/future.h>
+
+namespace NYT {
+
+////////////////////////////////////////////////////////////////////////////////
+
+class IRawBatchRequest
+ : public virtual TThrRefBase
+{
+public:
+ virtual void ExecuteBatch(const TExecuteBatchOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<TNodeId> Create(
+ const TTransactionId& transaction,
+ const TYPath& path,
+ ENodeType type,
+ const TCreateOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<void> Remove(
+ const TTransactionId& transaction,
+ const TYPath& path,
+ const TRemoveOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<bool> Exists(
+ const TTransactionId& transaction,
+ const TYPath& path,
+ const TExistsOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<TNode> Get(
+ const TTransactionId& transaction,
+ const TYPath& path,
+ const TGetOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<void> Set(
+ const TTransactionId& transaction,
+ const TYPath& path,
+ const TNode& value,
+ const TSetOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<TNode::TListType> List(
+ const TTransactionId& transaction,
+ const TYPath& path,
+ const TListOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<TNodeId> Copy(
+ const TTransactionId& transaction,
+ const TYPath& sourcePath,
+ const TYPath& destinationPath,
+ const TCopyOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<TNodeId> Move(
+ const TTransactionId& transaction,
+ const TYPath& sourcePath,
+ const TYPath& destinationPath,
+ const TMoveOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<TNodeId> Link(
+ const TTransactionId& transaction,
+ const TYPath& targetPath,
+ const TYPath& linkPath,
+ const TLinkOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<TLockId> Lock(
+ const TTransactionId& transaction,
+ const TYPath& path,
+ ELockMode mode,
+ const TLockOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<void> Unlock(
+ const TTransactionId& transaction,
+ const TYPath& path,
+ const TUnlockOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<TMaybe<TYPath>> GetFileFromCache(
+ const TTransactionId& transactionId,
+ const TString& md5Signature,
+ const TYPath& cachePath,
+ const TGetFileFromCacheOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<TYPath> PutFileToCache(
+ const TTransactionId& transactionId,
+ const TYPath& filePath,
+ const TString& md5Signature,
+ const TYPath& cachePath,
+ const TPutFileToCacheOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<TCheckPermissionResponse> CheckPermission(
+ const TString& user,
+ EPermission permission,
+ const TYPath& path,
+ const TCheckPermissionOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<TOperationAttributes> GetOperation(
+ const TOperationId& operationId,
+ const TGetOperationOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<void> AbortOperation(const TOperationId& operationId) = 0;
+
+ virtual ::NThreading::TFuture<void> CompleteOperation(const TOperationId& operationId) = 0;
+
+ virtual ::NThreading::TFuture<void> SuspendOperation(
+ const TOperationId& operationId,
+ const TSuspendOperationOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<void> ResumeOperation(
+ const TOperationId& operationId,
+ const TResumeOperationOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<void> UpdateOperationParameters(
+ const TOperationId& operationId,
+ const TUpdateOperationParametersOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<TRichYPath> CanonizeYPath(const TRichYPath& path) = 0;
+
+ virtual ::NThreading::TFuture<TVector<TTableColumnarStatistics>> GetTableColumnarStatistics(
+ const TTransactionId& transaction,
+ const TVector<TRichYPath>& paths,
+ const TGetTableColumnarStatisticsOptions& options = {}) = 0;
+
+ virtual ::NThreading::TFuture<TMultiTablePartitions> GetTablePartitions(
+ const TTransactionId& transaction,
+ const TVector<TRichYPath>& paths,
+ const TGetTablePartitionsOptions& options = {}) = 0;
+};
+
+////////////////////////////////////////////////////////////////////////////////
+
+} // namespace NYT