#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