Tarantool development patches archive
 help / color / mirror / Atom feed
From: Kirill Shcherbatov <kshcherbatov@tarantool.org>
To: tarantool-patches@freelists.org, korablev@tarantool.org
Cc: Kirill Shcherbatov <kshcherbatov@tarantool.org>
Subject: [tarantool-patches] [PATCH v1 0/3] box: local sql_flags for parser and vdbe
Date: Wed, 15 May 2019 20:34:27 +0300	[thread overview]
Message-ID: <cover.1557941573.git.kshcherbatov@tarantool.org> (raw)

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

             reply	other threads:[~2019-05-15 17:34 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-15 17:34 Kirill Shcherbatov [this message]
2019-05-15 17:34 ` [tarantool-patches] [PATCH v1 1/3] sql: get rid of SQL_NullCallback flag Kirill Shcherbatov
2019-05-16 23:08   ` [tarantool-patches] " n.pettik
2019-05-15 17:34 ` [tarantool-patches] [PATCH v1 2/3] sql: ban sql functions coinciding with builtins Kirill Shcherbatov
2019-05-16 23:12   ` [tarantool-patches] " n.pettik
2019-05-17  8:22     ` Kirill Shcherbatov
2019-05-17 15:20       ` n.pettik
2019-05-17  8:22     ` Kirill Shcherbatov
2019-05-15 17:34 ` [tarantool-patches] [PATCH v1 3/3] box: local sql_flags for parser and vdbe Kirill Shcherbatov
2019-05-15 18:54   ` [tarantool-patches] " Kirill Shcherbatov
2019-05-16 23:08     ` n.pettik
2019-05-17  8:22       ` Kirill Shcherbatov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1557941573.git.kshcherbatov@tarantool.org \
    --to=kshcherbatov@tarantool.org \
    --cc=korablev@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --subject='Re: [tarantool-patches] [PATCH v1 0/3] box: local sql_flags for parser and vdbe' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox