Skip to content

feat: add limit for max executed vdbe opcodes

Arseniy Volynets requested to merge vdbe-limit into 2.11.0-picodata

Add a configurable session parameter "sql_vdbe_max_steps" - max number of opcodes that Vdbe is allowed to execute for sql query.

  • Default value can be specified in box.cfg. Default value in box.cfg is 45000.
  • To specify session value sql query can be used:
box.execute([[set session "sql_vdbe_max_steps" = 1000;]])
  • The value 0 indicates that no checks needs to be made
  • Add the third argument to box.execute function, that allows to specify options for query execution. The only option supported: sql_vdbe_max_steps. Usage example:
box.execute([[select * from t]], {}, {{sql_vdbe_max_steps = 1000}})
Edited by Arseniy Volynets

Merge request reports