@@ -17,7 +17,11 @@ namespace NYdb {
17
17
namespace NRetry ::Async {
18
18
template <typename TClient, typename TAsyncStatusType>
19
19
class TRetryContext ;
20
- }
20
+ } // namespace NRetry::Async
21
+ namespace NRetry ::Sync {
22
+ template <typename TClient, typename TStatusType>
23
+ class TRetryContext ;
24
+ } // namespace NRetry::Sync
21
25
}
22
26
23
27
namespace NYdb ::NQuery {
@@ -58,10 +62,15 @@ class TSession;
58
62
class TQueryClient {
59
63
friend class TSession ;
60
64
friend class NRetry ::Async::TRetryContext<TQueryClient, TAsyncExecuteQueryResult>;
65
+ friend class NRetry ::Async::TRetryContext<TQueryClient, TAsyncStatus>;
66
+ friend class NRetry ::Sync::TRetryContext<TQueryClient, TStatus>;
61
67
62
68
public:
63
- using TQueryFunc = std::function<TAsyncExecuteQueryResult(TSession session)>;
64
- using TQueryWithoutSessionFunc = std::function<TAsyncExecuteQueryResult(TQueryClient& client)>;
69
+ using TQueryResultFunc = std::function<TAsyncExecuteQueryResult(TSession session)>;
70
+ using TQueryFunc = std::function<TAsyncStatus(TSession session)>;
71
+ using TQuerySyncFunc = std::function<TStatus(TSession session)>;
72
+ using TQueryWithoutSessionFunc = std::function<TAsyncStatus(TQueryClient& client)>;
73
+ using TQueryWithoutSessionSyncFunc = std::function<TStatus(TQueryClient& client)>;
65
74
using TSettings = TClientSettings;
66
75
using TSession = TSession;
67
76
using TCreateSessionSettings = TCreateSessionSettings;
@@ -82,7 +91,15 @@ class TQueryClient {
82
91
TAsyncExecuteQueryIterator StreamExecuteQuery (const TString& query, const TTxControl& txControl,
83
92
const TParams& params, const TExecuteQuerySettings& settings = TExecuteQuerySettings());
84
93
85
- TAsyncExecuteQueryResult RetryQuery (TQueryFunc&& queryFunc, TRetryOperationSettings settings = TRetryOperationSettings());
94
+ TAsyncExecuteQueryResult RetryQuery (TQueryResultFunc&& queryFunc, TRetryOperationSettings settings = TRetryOperationSettings());
95
+
96
+ TAsyncStatus RetryQuery (TQueryFunc&& queryFunc, TRetryOperationSettings settings = TRetryOperationSettings());
97
+
98
+ TAsyncStatus RetryQuery (TQueryWithoutSessionFunc&& queryFunc, TRetryOperationSettings settings = TRetryOperationSettings());
99
+
100
+ TStatus RetryQuery (const TQuerySyncFunc& queryFunc, TRetryOperationSettings settings = TRetryOperationSettings());
101
+
102
+ TStatus RetryQuery (const TQueryWithoutSessionSyncFunc& queryFunc, TRetryOperationSettings settings = TRetryOperationSettings());
86
103
87
104
TAsyncExecuteQueryResult RetryQuery (const TString& query, const TTxControl& txControl,
88
105
TDuration timeout, bool isIndempotent);
0 commit comments