Skip to content

Commit 7f916bf

Browse files
committed
Wrap prepare execute request exceptions to ydb.Error
1 parent 456cd74 commit 7f916bf

File tree

1 file changed

+33
-30
lines changed

1 file changed

+33
-30
lines changed

ydb/query/base.py

Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -137,40 +137,43 @@ def create_execute_query_request(
137137
parameters: Optional[dict],
138138
concurrent_result_sets: Optional[bool],
139139
) -> ydb_query.ExecuteQueryRequest:
140-
syntax = QuerySyntax.YQL_V1 if not syntax else syntax
141-
exec_mode = QueryExecMode.EXECUTE if not exec_mode else exec_mode
142-
stats_mode = QueryStatsMode.NONE if stats_mode is None else stats_mode
140+
try:
141+
syntax = QuerySyntax.YQL_V1 if not syntax else syntax
142+
exec_mode = QueryExecMode.EXECUTE if not exec_mode else exec_mode
143+
stats_mode = QueryStatsMode.NONE if stats_mode is None else stats_mode
143144

144-
tx_control = None
145-
if not tx_id and not tx_mode:
146145
tx_control = None
147-
elif tx_id:
148-
tx_control = ydb_query.TransactionControl(
149-
tx_id=tx_id,
150-
commit_tx=commit_tx,
151-
begin_tx=None,
152-
)
153-
else:
154-
tx_control = ydb_query.TransactionControl(
155-
begin_tx=ydb_query.TransactionSettings(
156-
tx_mode=tx_mode,
146+
if not tx_id and not tx_mode:
147+
tx_control = None
148+
elif tx_id:
149+
tx_control = ydb_query.TransactionControl(
150+
tx_id=tx_id,
151+
commit_tx=commit_tx,
152+
begin_tx=None,
153+
)
154+
else:
155+
tx_control = ydb_query.TransactionControl(
156+
begin_tx=ydb_query.TransactionSettings(
157+
tx_mode=tx_mode,
158+
),
159+
commit_tx=commit_tx,
160+
tx_id=None,
161+
)
162+
163+
return ydb_query.ExecuteQueryRequest(
164+
session_id=session_id,
165+
query_content=ydb_query.QueryContent.from_public(
166+
query=query,
167+
syntax=syntax,
157168
),
158-
commit_tx=commit_tx,
159-
tx_id=None,
169+
tx_control=tx_control,
170+
exec_mode=exec_mode,
171+
parameters=parameters,
172+
concurrent_result_sets=concurrent_result_sets,
173+
stats_mode=stats_mode,
160174
)
161-
162-
return ydb_query.ExecuteQueryRequest(
163-
session_id=session_id,
164-
query_content=ydb_query.QueryContent.from_public(
165-
query=query,
166-
syntax=syntax,
167-
),
168-
tx_control=tx_control,
169-
exec_mode=exec_mode,
170-
parameters=parameters,
171-
concurrent_result_sets=concurrent_result_sets,
172-
stats_mode=stats_mode,
173-
)
175+
except BaseException as e:
176+
raise issues.ClientInternalError("Unable to prepare execute request") from e
174177

175178

176179
def bad_session_handler(func):

0 commit comments

Comments
 (0)