[tarantool-patches] [PATCH v1 0/3] box: local sql_flags for parser and vdbe

Kirill Shcherbatov kshcherbatov at tarantool.org
Wed May 15 20:34:27 MSK 2019


The sql_flags is a parser parameter that describe how to parse the
SQL request, but now this information is taken from the global
user session object.
When we need to run the parser with some other parameters, it is
necessary to change global session object, which may lead to
unpredictable consequences in general case.
Introduced a new parser and vdbe field sql_flags is responsible
for SQL parsing results.

Also fixed bug #4219 ban sql functions coinciding with builtins.

Branch: http://github.com/tarantool/tarantool/tree/kshch/gh-3691-sql-flags-in-parser
Issue: https://github.com/tarantool/tarantool/issues/3961

Kirill Shcherbatov (3):
  sql: get rid of SQL_NullCallback flag
  sql: ban sql functions coinciding with builtins
  box: local sql_flags for parser and vdbe

 src/box/lua/lua_sql.c         |   8 +-
 src/box/sql.c                 |   2 +-
 src/box/sql.h                 |   3 +-
 src/box/sql/callback.c        | 174 +++++++++++++++-------------------
 src/box/sql/delete.c          |  12 +--
 src/box/sql/expr.c            |  25 +++--
 src/box/sql/fk_constraint.c   |   7 +-
 src/box/sql/func.c            |  33 +++----
 src/box/sql/insert.c          |  18 ++--
 src/box/sql/legacy.c          |   6 +-
 src/box/sql/main.c            |  33 ++++---
 src/box/sql/prepare.c         |   5 +-
 src/box/sql/resolve.c         |   7 +-
 src/box/sql/select.c          |  24 ++---
 src/box/sql/sqlInt.h          |  32 ++++++-
 src/box/sql/tokenize.c        |   7 +-
 src/box/sql/trigger.c         |  13 +--
 src/box/sql/update.c          |  15 ++-
 src/box/sql/vdbe.c            |  72 +++++++-------
 src/box/sql/vdbeInt.h         |   2 +
 src/box/sql/vdbemem.c         |   2 +-
 src/box/sql/where.c           |  13 ++-
 test/sql-tap/lua_sql.test.lua |  11 ++-
 23 files changed, 254 insertions(+), 270 deletions(-)

-- 
2.21.0





More information about the Tarantool-patches mailing list