@@ -110,6 +110,8 @@ def execute_request_factory(session_state, tx_state, query, parameters, commit_t
110110 data_query , query_id = session_state .lookup (query )
111111 parameters_types = {}
112112
113+ is_data_query = False
114+
113115 if query_id is not None :
114116 query_pb = _apis .ydb_table .Query (id = query_id )
115117 parameters_types = data_query .parameters_types
@@ -118,9 +120,11 @@ def execute_request_factory(session_state, tx_state, query, parameters, commit_t
118120 # client cache disabled for send query text every time
119121 yql_text = data_query .yql_text
120122 parameters_types = data_query .parameters_types
123+ is_data_query = True
121124 elif isinstance (query , types .DataQuery ):
122125 yql_text = query .yql_text
123126 parameters_types = query .parameters_types
127+ is_data_query = True
124128 else :
125129 yql_text = query
126130 query_pb = _apis .ydb_table .Query (yql_text = yql_text )
@@ -133,6 +137,8 @@ def execute_request_factory(session_state, tx_state, query, parameters, commit_t
133137 keep_in_cache = settings .keep_in_cache
134138 elif parameters :
135139 keep_in_cache = True
140+ elif is_data_query :
141+ keep_in_cache = True
136142 else :
137143 keep_in_cache = False
138144
@@ -159,5 +165,7 @@ def wrap_result_and_tx_id(rpc_state, response_pb, session_state, tx_state, query
159165 issues ._process_response (response_pb .operation )
160166 message = _apis .ydb_table .ExecuteQueryResult ()
161167 response_pb .operation .result .Unpack (message )
168+ if message .query_meta .id and isinstance (query , types .DataQuery ):
169+ session_state .keep (query , message .query_meta .id )
162170 tx_state .tx_id = None if not message .tx_meta .id else message .tx_meta .id
163171 return convert .ResultSets (message .result_sets , session_state .table_client_settings )
0 commit comments