feat: add limit for max executed vdbe opcodes
- Add a configurable non-negative 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. If not set via box.cfg, default value is 45000. Value 0 means that no checks for number of executed Vdbe opcodes will 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}}) ``` part of picodata/picodata/sbroad!461 NO_DOC=picodata internal patch NO_CHANGELOG=picodata internal patch
Showing
- src/box/box.cc 34 additions, 1 deletionsrc/box/box.cc
- src/box/box.h 1 addition, 0 deletionssrc/box/box.h
- src/box/errcode.h 3 additions, 3 deletionssrc/box/errcode.h
- src/box/execute.c 11 additions, 7 deletionssrc/box/execute.c
- src/box/execute.h 4 additions, 2 deletionssrc/box/execute.h
- src/box/iproto.cc 4 additions, 2 deletionssrc/box/iproto.cc
- src/box/lua/execute.c 64 additions, 21 deletionssrc/box/lua/execute.c
- src/box/lua/execute.h 1 addition, 1 deletionsrc/box/lua/execute.h
- src/box/lua/load_cfg.lua 2 additions, 0 deletionssrc/box/lua/load_cfg.lua
- src/box/lua/session.c 12 additions, 0 deletionssrc/box/lua/session.c
- src/box/session.c 3 additions, 0 deletionssrc/box/session.c
- src/box/session.h 2 additions, 0 deletionssrc/box/session.h
- src/box/session_settings.c 1 addition, 0 deletionssrc/box/session_settings.c
- src/box/session_settings.h 1 addition, 0 deletionssrc/box/session_settings.h
- src/box/sql/build.c 31 additions, 1 deletionsrc/box/sql/build.c
- src/box/sql/main.c 0 additions, 4 deletionssrc/box/sql/main.c
- src/box/sql/sqlInt.h 11 additions, 6 deletionssrc/box/sql/sqlInt.h
- src/box/sql/sqlLimit.h 3 additions, 5 deletionssrc/box/sql/sqlLimit.h
- src/box/sql/vdbe.c 18 additions, 3 deletionssrc/box/sql/vdbe.c
- src/box/sql/vdbeInt.h 5 additions, 1 deletionsrc/box/sql/vdbeInt.h
Loading
Please register or sign in to comment