raw_batch_request.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. #pragma once
  2. #include "client_method_options.h"
  3. #include "fwd.h"
  4. #include "operation.h"
  5. #include <library/cpp/threading/future/core/future.h>
  6. namespace NYT {
  7. ////////////////////////////////////////////////////////////////////////////////
  8. class IRawBatchRequest
  9. : public virtual TThrRefBase
  10. {
  11. public:
  12. virtual void ExecuteBatch(const TExecuteBatchOptions& options = {}) = 0;
  13. virtual ::NThreading::TFuture<TNodeId> Create(
  14. const TTransactionId& transaction,
  15. const TYPath& path,
  16. ENodeType type,
  17. const TCreateOptions& options = {}) = 0;
  18. virtual ::NThreading::TFuture<void> Remove(
  19. const TTransactionId& transaction,
  20. const TYPath& path,
  21. const TRemoveOptions& options = {}) = 0;
  22. virtual ::NThreading::TFuture<bool> Exists(
  23. const TTransactionId& transaction,
  24. const TYPath& path,
  25. const TExistsOptions& options = {}) = 0;
  26. virtual ::NThreading::TFuture<TNode> Get(
  27. const TTransactionId& transaction,
  28. const TYPath& path,
  29. const TGetOptions& options = {}) = 0;
  30. virtual ::NThreading::TFuture<void> Set(
  31. const TTransactionId& transaction,
  32. const TYPath& path,
  33. const TNode& value,
  34. const TSetOptions& options = {}) = 0;
  35. virtual ::NThreading::TFuture<TNode::TListType> List(
  36. const TTransactionId& transaction,
  37. const TYPath& path,
  38. const TListOptions& options = {}) = 0;
  39. virtual ::NThreading::TFuture<TNodeId> Copy(
  40. const TTransactionId& transaction,
  41. const TYPath& sourcePath,
  42. const TYPath& destinationPath,
  43. const TCopyOptions& options = {}) = 0;
  44. virtual ::NThreading::TFuture<TNodeId> Move(
  45. const TTransactionId& transaction,
  46. const TYPath& sourcePath,
  47. const TYPath& destinationPath,
  48. const TMoveOptions& options = {}) = 0;
  49. virtual ::NThreading::TFuture<TNodeId> Link(
  50. const TTransactionId& transaction,
  51. const TYPath& targetPath,
  52. const TYPath& linkPath,
  53. const TLinkOptions& options = {}) = 0;
  54. virtual ::NThreading::TFuture<TLockId> Lock(
  55. const TTransactionId& transaction,
  56. const TYPath& path,
  57. ELockMode mode,
  58. const TLockOptions& options = {}) = 0;
  59. virtual ::NThreading::TFuture<void> Unlock(
  60. const TTransactionId& transaction,
  61. const TYPath& path,
  62. const TUnlockOptions& options = {}) = 0;
  63. virtual ::NThreading::TFuture<TMaybe<TYPath>> GetFileFromCache(
  64. const TTransactionId& transactionId,
  65. const TString& md5Signature,
  66. const TYPath& cachePath,
  67. const TGetFileFromCacheOptions& options = {}) = 0;
  68. virtual ::NThreading::TFuture<TYPath> PutFileToCache(
  69. const TTransactionId& transactionId,
  70. const TYPath& filePath,
  71. const TString& md5Signature,
  72. const TYPath& cachePath,
  73. const TPutFileToCacheOptions& options = {}) = 0;
  74. virtual ::NThreading::TFuture<TCheckPermissionResponse> CheckPermission(
  75. const TString& user,
  76. EPermission permission,
  77. const TYPath& path,
  78. const TCheckPermissionOptions& options = {}) = 0;
  79. virtual ::NThreading::TFuture<TOperationAttributes> GetOperation(
  80. const TOperationId& operationId,
  81. const TGetOperationOptions& options = {}) = 0;
  82. virtual ::NThreading::TFuture<void> AbortOperation(const TOperationId& operationId) = 0;
  83. virtual ::NThreading::TFuture<void> CompleteOperation(const TOperationId& operationId) = 0;
  84. virtual ::NThreading::TFuture<void> SuspendOperation(
  85. const TOperationId& operationId,
  86. const TSuspendOperationOptions& options = {}) = 0;
  87. virtual ::NThreading::TFuture<void> ResumeOperation(
  88. const TOperationId& operationId,
  89. const TResumeOperationOptions& options = {}) = 0;
  90. virtual ::NThreading::TFuture<void> UpdateOperationParameters(
  91. const TOperationId& operationId,
  92. const TUpdateOperationParametersOptions& options = {}) = 0;
  93. virtual ::NThreading::TFuture<TRichYPath> CanonizeYPath(const TRichYPath& path) = 0;
  94. virtual ::NThreading::TFuture<TVector<TTableColumnarStatistics>> GetTableColumnarStatistics(
  95. const TTransactionId& transaction,
  96. const TVector<TRichYPath>& paths,
  97. const TGetTableColumnarStatisticsOptions& options = {}) = 0;
  98. virtual ::NThreading::TFuture<TMultiTablePartitions> GetTablePartitions(
  99. const TTransactionId& transaction,
  100. const TVector<TRichYPath>& paths,
  101. const TGetTablePartitionsOptions& options = {}) = 0;
  102. };
  103. ////////////////////////////////////////////////////////////////////////////////
  104. } // namespace NYT