@@ -121,7 +121,7 @@ def execute_request_factory(
121
121
):
122
122
data_query , query_id = session_state .lookup (query )
123
123
parameters_types = {}
124
- keep_in_cache = False
124
+
125
125
if query_id is not None :
126
126
query_pb = _apis .ydb_table .Query (id = query_id )
127
127
parameters_types = data_query .parameters_types
@@ -131,12 +131,6 @@ def execute_request_factory(
131
131
yql_text = data_query .yql_text
132
132
parameters_types = data_query .parameters_types
133
133
elif isinstance (query , types .DataQuery ):
134
- if settings is not None and hasattr (settings , "keep_in_cache" ):
135
- keep_in_cache = settings .keep_in_cache
136
- else :
137
- # that is an instance of a data query and we don't know query id for id.
138
- # so let's prepare it to keep in cache
139
- keep_in_cache = True
140
134
yql_text = query .yql_text
141
135
parameters_types = query .parameters_types
142
136
else :
@@ -145,6 +139,17 @@ def execute_request_factory(
145
139
request = _apis .ydb_table .ExecuteDataQueryRequest (
146
140
parameters = convert .parameters_to_pb (parameters_types , parameters )
147
141
)
142
+
143
+ if query_id is not None :
144
+ # SDK not send query text and nothing save to cache
145
+ keep_in_cache = False
146
+ elif settings is not None and hasattr (settings , "keep_in_cache" ):
147
+ keep_in_cache = settings .keep_in_cache
148
+ elif parameters :
149
+ keep_in_cache = True
150
+ else :
151
+ keep_in_cache = False
152
+
148
153
if keep_in_cache :
149
154
request .query_cache_policy .keep_in_cache = True
150
155
request .query .MergeFrom (query_pb )
0 commit comments