15
15
from ..connection import _RpcState as RpcState
16
16
17
17
from . import base
18
+ from ..settings import BaseRequestSettings
18
19
19
20
logger = logging .getLogger (__name__ )
20
21
@@ -214,7 +215,7 @@ def tx_id(self) -> Optional[str]:
214
215
"""
215
216
return self ._tx_state .tx_id
216
217
217
- def _begin_call (self , settings : Optional [base . QueryClientSettings ]) -> "BaseQueryTxContext" :
218
+ def _begin_call (self , settings : Optional [BaseRequestSettings ]) -> "BaseQueryTxContext" :
218
219
self ._tx_state ._check_invalid_transition (QueryTxStateEnum .BEGINED )
219
220
220
221
return self ._driver (
@@ -226,7 +227,7 @@ def _begin_call(self, settings: Optional[base.QueryClientSettings]) -> "BaseQuer
226
227
(self ._session_state , self ._tx_state , self ),
227
228
)
228
229
229
- def _commit_call (self , settings : Optional [base . QueryClientSettings ]) -> "BaseQueryTxContext" :
230
+ def _commit_call (self , settings : Optional [BaseRequestSettings ]) -> "BaseQueryTxContext" :
230
231
self ._tx_state ._check_invalid_transition (QueryTxStateEnum .COMMITTED )
231
232
232
233
return self ._driver (
@@ -238,7 +239,7 @@ def _commit_call(self, settings: Optional[base.QueryClientSettings]) -> "BaseQue
238
239
(self ._session_state , self ._tx_state , self ),
239
240
)
240
241
241
- def _rollback_call (self , settings : Optional [base . QueryClientSettings ]) -> "BaseQueryTxContext" :
242
+ def _rollback_call (self , settings : Optional [BaseRequestSettings ]) -> "BaseQueryTxContext" :
242
243
self ._tx_state ._check_invalid_transition (QueryTxStateEnum .ROLLBACKED )
243
244
244
245
return self ._driver (
@@ -253,11 +254,12 @@ def _rollback_call(self, settings: Optional[base.QueryClientSettings]) -> "BaseQ
253
254
def _execute_call (
254
255
self ,
255
256
query : str ,
256
- commit_tx : bool = False ,
257
- syntax : base .QuerySyntax = None ,
258
- exec_mode : base .QueryExecMode = None ,
259
- parameters : dict = None ,
260
- concurrent_result_sets : bool = False ,
257
+ commit_tx : Optional [bool ],
258
+ syntax : Optional [base .QuerySyntax ],
259
+ exec_mode : Optional [base .QueryExecMode ],
260
+ parameters : Optional [dict ],
261
+ concurrent_result_sets : Optional [bool ],
262
+ settings : Optional [BaseRequestSettings ],
261
263
) -> Iterable [_apis .ydb_query .ExecuteQueryResponsePart ]:
262
264
self ._tx_state ._check_tx_ready_to_use ()
263
265
@@ -277,6 +279,7 @@ def _execute_call(
277
279
request .to_proto (),
278
280
_apis .QueryService .Stub ,
279
281
_apis .QueryService .ExecuteQuery ,
282
+ settings = settings ,
280
283
)
281
284
282
285
def _move_to_beginned (self , tx_id : str ) -> None :
@@ -323,26 +326,26 @@ def _ensure_prev_stream_finished(self) -> None:
323
326
pass
324
327
self ._prev_stream = None
325
328
326
- def begin (self , settings : Optional [base . QueryClientSettings ] = None ) -> "QueryTxContextSync" :
329
+ def begin (self , settings : Optional [BaseRequestSettings ] = None ) -> "QueryTxContextSync" :
327
330
"""WARNING: This API is experimental and could be changed.
328
331
329
332
Explicitly begins a transaction
330
333
331
- :param settings: A request settings
334
+ :param settings: An additional request settings BaseRequestSettings;
332
335
333
336
:return: Transaction object or exception if begin is failed
334
337
"""
335
338
self ._begin_call (settings )
336
339
337
340
return self
338
341
339
- def commit (self , settings : Optional [base . QueryClientSettings ] = None ) -> None :
342
+ def commit (self , settings : Optional [BaseRequestSettings ] = None ) -> None :
340
343
"""WARNING: This API is experimental and could be changed.
341
344
342
345
Calls commit on a transaction if it is open otherwise is no-op. If transaction execution
343
346
failed then this method raises PreconditionFailed.
344
347
345
- :param settings: A request settings
348
+ :param settings: An additional request settings BaseRequestSettings;
346
349
347
350
:return: A committed transaction or exception if commit is failed
348
351
"""
@@ -357,13 +360,13 @@ def commit(self, settings: Optional[base.QueryClientSettings] = None) -> None:
357
360
358
361
self ._commit_call (settings )
359
362
360
- def rollback (self , settings : Optional [base . QueryClientSettings ] = None ) -> None :
363
+ def rollback (self , settings : Optional [BaseRequestSettings ] = None ) -> None :
361
364
"""WARNING: This API is experimental and could be changed.
362
365
363
366
Calls rollback on a transaction if it is open otherwise is no-op. If transaction execution
364
367
failed then this method raises PreconditionFailed.
365
368
366
- :param settings: A request settings
369
+ :param settings: An additional request settings BaseRequestSettings;
367
370
368
371
:return: A committed transaction or exception if commit is failed
369
372
"""
@@ -386,7 +389,7 @@ def execute(
386
389
syntax : Optional [base .QuerySyntax ] = None ,
387
390
exec_mode : Optional [base .QueryExecMode ] = None ,
388
391
concurrent_result_sets : Optional [bool ] = False ,
389
- settings : Optional [base . QueryClientSettings ] = None ,
392
+ settings : Optional [BaseRequestSettings ] = None ,
390
393
) -> base .SyncResponseContextIterator :
391
394
"""WARNING: This API is experimental and could be changed.
392
395
@@ -403,7 +406,7 @@ def execute(
403
406
3) QueryExecMode.VALIDATE;
404
407
4) QueryExecMode.PARSE.
405
408
:param concurrent_result_sets: A flag to allow YDB mix parts of different result sets. Default is False;
406
- :param settings: An additional request settings QueryClientSettings ;
409
+ :param settings: An additional request settings BaseRequestSettings ;
407
410
408
411
:return: Iterator with result sets
409
412
"""
@@ -416,17 +419,17 @@ def execute(
416
419
exec_mode = exec_mode ,
417
420
parameters = parameters ,
418
421
concurrent_result_sets = concurrent_result_sets ,
422
+ settings = settings ,
419
423
)
420
424
421
- settings = settings if settings is not None else self .session ._settings
422
425
self ._prev_stream = base .SyncResponseContextIterator (
423
426
stream_it ,
424
427
lambda resp : base .wrap_execute_query_response (
425
428
rpc_state = None ,
426
429
response_pb = resp ,
427
430
tx = self ,
428
431
commit_tx = commit_tx ,
429
- settings = settings ,
432
+ settings = self . session . _settings ,
430
433
),
431
434
)
432
435
return self ._prev_stream
0 commit comments