@@ -263,6 +263,7 @@ def execute(
263
263
stream : Optional [bool ] = None ,
264
264
skip_inaccessible_cols : Optional [bool ] = None ,
265
265
max_runtime : Optional [Number ] = None ,
266
+ fill_block_cache : Optional [bool ] = None ,
266
267
) -> Result [Cursor ]:
267
268
"""Execute the query and return the result cursor.
268
269
@@ -345,6 +346,16 @@ def execute(
345
346
it is killed. The value is specified in seconds. Default value
346
347
is 0.0 (no timeout).
347
348
:type max_runtime: int | float
349
+ :param fill_block_cache: If set to true or not specified, this will
350
+ make the query store the data it reads via the RocksDB storage
351
+ engine in the RocksDB block cache. This is usually the desired
352
+ behavior. The option can be set to false for queries that are
353
+ known to either read a lot of data which would thrash the block
354
+ cache, or for queries that read data which are known to be outside
355
+ of the hot set. By setting the option to false, data read by the
356
+ query will not make it into the RocksDB block cache if not already
357
+ in there, thus leaving more room for the actual hot set.
358
+ :type fill_block_cache: bool
348
359
:return: Result cursor.
349
360
:rtype: arango.cursor.Cursor
350
361
:raise arango.exceptions.AQLQueryExecuteError: If execute fails.
@@ -364,6 +375,8 @@ def execute(
364
375
options : Json = {}
365
376
if full_count is not None :
366
377
options ["fullCount" ] = full_count
378
+ if fill_block_cache is not None :
379
+ options ["fillBlockCache" ] = fill_block_cache
367
380
if max_plans is not None :
368
381
options ["maxNumberOfPlans" ] = max_plans
369
382
if optimizer_rules is not None :
0 commit comments