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