[Tarantool-patches] [PATCH v1 0/7] sql: properly check arguments types of built-in functions

imeevma at tarantool.org imeevma at tarantool.org
Wed Aug 12 18:15:42 MSK 2020


This patch-set makes SQL to use the ApplyType opcode to validate the argument
types of built-in functions.

https://github.com/tarantool/tarantool/issues/4159
https://github.com/tarantool/tarantool/tree/imeevma/gh-4159-rework-sql-builtins

@ChangeLog
 - Built-in function argument types are now properly checked (gh-4159).

Mergen Imeev (7):
  box: add has_vararg option for functions
  sql: do not return UNSIGNED in built-in functions
  sql: move built-in function definitions in _func
  box: add param_list to 'struct func'
  sql: check built-in functions argument types
  sql: VARBINARY and STRING in built-in functions
  sql: refactor sql/func.c

 src/box/alter.cc               |   12 +-
 src/box/bootstrap.snap         |  Bin 5976 -> 6291 bytes
 src/box/func.c                 |    1 +
 src/box/func_def.c             |    5 +
 src/box/func_def.h             |    8 +
 src/box/lua/call.c             |    2 +
 src/box/lua/upgrade.lua        |  143 +++
 src/box/sql/expr.c             |    4 +
 src/box/sql/func.c             |  894 +++----------------
 src/box/sql/resolve.c          |    2 +-
 src/box/sql/select.c           |   26 +
 src/box/sql/sqlInt.h           |   14 +
 src/box/sql/vdbeapi.c          |    2 +-
 test/box-py/bootstrap.result   |    2 +-
 test/sql-tap/cse.test.lua      |    4 +-
 test/sql-tap/func.test.lua     |   36 +-
 test/sql-tap/orderby1.test.lua |    2 +-
 test/sql-tap/position.test.lua |    6 +-
 test/sql/boolean.result        |   32 +-
 test/sql/checks.result         |    8 -
 test/sql/checks.test.lua       |    2 -
 test/sql/types.result          | 1489 +++++++++++++++++++++++++++++++-
 test/sql/types.test.lua        |  250 ++++++
 23 files changed, 2092 insertions(+), 852 deletions(-)

-- 
2.25.1



More information about the Tarantool-patches mailing list