Tarantool development patches archive
 help / color / mirror / Atom feed
From: imeevma@tarantool.org
To: v.shpilevoy@tarantool.org
Cc: tarantool-patches@dev.tarantool.org
Subject: [Tarantool-patches] [PATCH v3 0/5] Replace control pragmas by SET
Date: Thu,  7 Nov 2019 13:36:17 +0300	[thread overview]
Message-ID: <cover.1573121685.git.imeevma@gmail.com> (raw)

The main goal of this set of patches is to replace control pragmas
with the SET operator. Control pragmas are those that change SQL
settings. Along with this, we will allow to see SQL session-local
settings in unified way.

https://github.com/tarantool/tarantool/issues/4511
https://github.com/tarantool/tarantool/tree/imeevma/gh-4511-pragma-replaced-by-set

Changes in v2:
1) Sysview _vsql_settings was changed to _session_settings.
2) Code refactoring.
3) Fixed comments and descriptions.
4) Fixed showed in review bugs.

Changes in v3:
1) SQL settings divided into session and global.
2) Patch 2, 3 and 5 were refactored due to removal of
sql_compound_select_limit from the session options.

Mergen Imeev (5):
  sysview: make get() and create_iterator() methods virtual
  box: introdice _vsession_settings sysview
  sql: introduce SET statement
  temporary: disable boolean.test.sql
  sql: replace control pragmas

 src/box/bootstrap.snap                             | Bin 5944 -> 5982 bytes
 src/box/lua/space.cc                               |   2 +
 src/box/lua/upgrade.lua                            |  23 ++
 src/box/schema_def.h                               |   2 +
 src/box/session.cc                                 | 131 +++++++++++
 src/box/session.h                                  |  13 ++
 src/box/sql.c                                      |   3 +-
 src/box/sql.h                                      |  36 +++
 src/box/sql/build.c                                | 245 +++++++++++++++++++++
 src/box/sql/delete.c                               |  26 ---
 src/box/sql/insert.c                               |  35 +--
 src/box/sql/parse.y                                |   8 +-
 src/box/sql/pragma.c                               | 203 +----------------
 src/box/sql/pragma.h                               | 150 -------------
 src/box/sql/select.c                               |  16 +-
 src/box/sql/sqlInt.h                               |  16 +-
 src/box/sql/update.c                               |  26 ---
 src/box/sql/vdbe.c                                 |  26 +--
 src/box/sysview.c                                  |  48 +++-
 test/app-tap/tarantoolctl.test.lua                 |   4 +-
 test/box-py/bootstrap.result                       |   5 +-
 test/box/access_sysview.result                     | 124 ++++++++++-
 test/box/access_sysview.test.lua                   |  54 +++++
 test/box/alter.result                              |   5 +-
 test/sql-tap/analyze4.test.lua                     |   4 +-
 test/sql-tap/autoinc.test.lua                      |   2 +-
 test/sql-tap/colname.test.lua                      |  37 +---
 test/sql-tap/fkey2.test.lua                        |   4 +-
 test/sql-tap/gh2548-select-compound-limit.test.lua |  16 +-
 test/sql-tap/lua/sqltester.lua                     |   2 +-
 test/sql-tap/misc1.test.lua                        |   2 +-
 test/sql-tap/pragma.test.lua                       | 135 +-----------
 test/sql-tap/select1.test.lua                      |  35 ++-
 test/sql-tap/tkt3731.test.lua                      |   2 +-
 test/sql-tap/trigger2.test.lua                     |   2 +-
 test/sql-tap/triggerC.test.lua                     |  51 +----
 test/sql-tap/update.test.lua                       |  17 +-
 test/sql-tap/whereA.test.lua                       |  24 +-
 test/sql/check-clear-ephemeral.result              |   4 +-
 test/sql/check-clear-ephemeral.test.lua            |   4 +-
 test/sql/checks.result                             |   4 +-
 test/sql/checks.test.lua                           |   4 +-
 test/sql/clear.result                              |   4 +-
 test/sql/clear.test.lua                            |   4 +-
 test/sql/collation.result                          |   2 +-
 test/sql/collation.test.lua                        |   2 +-
 test/sql/ddl.result                                |   2 +-
 test/sql/ddl.test.lua                              |   2 +-
 test/sql/delete-multiple-idx.result                |   4 +-
 test/sql/delete-multiple-idx.test.lua              |   4 +-
 test/sql/delete.result                             |   4 +-
 test/sql/delete.test.lua                           |   4 +-
 test/sql/drop-index.result                         |   4 +-
 test/sql/drop-index.test.lua                       |   4 +-
 test/sql/drop-table.result                         |   4 +-
 test/sql/drop-table.test.lua                       |   4 +-
 test/sql/engine.result                             |   6 +-
 test/sql/engine.test.lua                           |   6 +-
 test/sql/errinj.result                             |   2 +-
 test/sql/errinj.test.lua                           |   2 +-
 test/sql/func-recreate.result                      |   2 +-
 test/sql/func-recreate.test.lua                    |   2 +-
 test/sql/gh-2362-select-access-rights.result       |   2 +-
 test/sql/gh-2362-select-access-rights.test.lua     |   2 +-
 test/sql/gh-2929-primary-key.result                |   2 +-
 test/sql/gh-2929-primary-key.test.lua              |   2 +-
 test/sql/gh-2981-check-autoinc.result              |   2 +-
 test/sql/gh-2981-check-autoinc.test.lua            |   2 +-
 test/sql/gh-3199-no-mem-leaks.result               |   2 +-
 test/sql/gh-3199-no-mem-leaks.test.lua             |   2 +-
 test/sql/gh-3613-idx-alter-update-2.result         |   2 +-
 test/sql/gh-3613-idx-alter-update-2.test.lua       |   2 +-
 test/sql/gh-3613-idx-alter-update.result           |   2 +-
 test/sql/gh-3613-idx-alter-update.test.lua         |   2 +-
 test/sql/gh-3888-values-blob-assert.result         |   2 +-
 test/sql/gh-3888-values-blob-assert.test.lua       |   2 +-
 test/sql/gh2141-delete-trigger-drop-table.result   |   2 +-
 test/sql/gh2141-delete-trigger-drop-table.test.lua |   2 +-
 test/sql/gh2251-multiple-update.result             |   2 +-
 test/sql/gh2251-multiple-update.test.lua           |   2 +-
 test/sql/gh2483-remote-persistency-check.result    |   2 +-
 test/sql/gh2483-remote-persistency-check.test.lua  |   2 +-
 .../gh2808-inline-unique-persistency-check.result  |   2 +-
 ...gh2808-inline-unique-persistency-check.test.lua |   2 +-
 test/sql/icu-upper-lower.result                    |   2 +-
 test/sql/icu-upper-lower.test.lua                  |   2 +-
 test/sql/insert-unique.result                      |   4 +-
 test/sql/insert-unique.test.lua                    |   4 +-
 test/sql/integer-overflow.result                   |   2 +-
 test/sql/integer-overflow.test.lua                 |   2 +-
 test/sql/iproto.result                             |  33 +--
 test/sql/iproto.test.lua                           |  10 +-
 test/sql/max-on-index.result                       |   4 +-
 test/sql/max-on-index.test.lua                     |   4 +-
 test/sql/message-func-indexes.result               |   2 +-
 test/sql/message-func-indexes.test.lua             |   2 +-
 test/sql/misc.result                               |   2 +-
 test/sql/misc.test.lua                             |   2 +-
 test/sql/no-pk-space.result                        |   2 +-
 test/sql/no-pk-space.test.lua                      |   2 +-
 test/sql/on-conflict.result                        |   2 +-
 test/sql/on-conflict.test.lua                      |   2 +-
 test/sql/persistency.result                        |   2 +-
 test/sql/persistency.test.lua                      |   2 +-
 test/sql/row-count.result                          |  10 +-
 test/sql/row-count.test.lua                        |   4 +-
 test/sql/savepoints.result                         |   2 +-
 test/sql/savepoints.test.lua                       |   2 +-
 test/sql/select-null.result                        |   4 +-
 test/sql/select-null.test.lua                      |   4 +-
 test/sql/sql-debug.result                          | 144 +++++++++---
 test/sql/sql-debug.test.lua                        |  33 ++-
 test/sql/sql-statN-index-drop.result               |   2 +-
 test/sql/sql-statN-index-drop.test.lua             |   2 +-
 test/sql/suite.ini                                 |   2 +-
 test/sql/tokenizer.result                          |   2 +-
 test/sql/tokenizer.test.lua                        |   2 +-
 test/sql/transition.result                         |   2 +-
 test/sql/transition.test.lua                       |   2 +-
 test/sql/transitive-transactions.result            |   8 +-
 test/sql/transitive-transactions.test.lua          |   8 +-
 test/sql/triggers.result                           |  14 +-
 test/sql/triggers.test.lua                         |  14 +-
 test/sql/update-with-nested-select.result          |   4 +-
 test/sql/update-with-nested-select.test.lua        |   4 +-
 test/sql/upgrade.result                            |   2 +-
 test/sql/upgrade.test.lua                          |   2 +-
 test/sql/view.result                               |   2 +-
 test/sql/view.test.lua                             |   2 +-
 test/sql/view_delayed_wal.result                   |   2 +-
 test/sql/view_delayed_wal.test.lua                 |   2 +-
 test/sql/vinyl-opts.result                         |   2 +-
 test/sql/vinyl-opts.test.lua                       |   2 +-
 test/wal_off/alter.result                          |   2 +-
 134 files changed, 1044 insertions(+), 992 deletions(-)

-- 
2.7.4

             reply	other threads:[~2019-11-07 10:36 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-07 10:36 imeevma [this message]
2019-11-07 10:36 ` [Tarantool-patches] [PATCH v3 1/5] sysview: make get() and create_iterator() methods virtual imeevma
2019-11-07 10:36 ` [Tarantool-patches] [PATCH v3 2/5] box: introdice _vsession_settings sysview imeevma
2019-11-07 10:36 ` [Tarantool-patches] [PATCH v3 3/5] sql: introduce SET statement imeevma
2019-11-07 12:40   ` Vladislav Shpilevoy
2019-11-07 14:12     ` Mergen Imeev
2019-11-11 21:56       ` Vladislav Shpilevoy
2019-11-15 14:06         ` Mergen Imeev
2019-11-17 17:26           ` Vladislav Shpilevoy
2019-11-17 20:32             ` Vladislav Shpilevoy
2019-11-27 10:33               ` Mergen Imeev
2019-11-27 23:03                 ` Vladislav Shpilevoy
2019-11-27 23:07                   ` Vladislav Shpilevoy
2019-11-27 23:09                     ` Vladislav Shpilevoy
2019-11-28  8:59                     ` Mergen Imeev
2019-11-28  8:56                   ` Mergen Imeev
2019-11-07 10:36 ` [Tarantool-patches] [PATCH v3 4/5] temporary: disable boolean.test.sql imeevma
2019-11-07 10:37 ` [Tarantool-patches] [PATCH v3 5/5] sql: replace control pragmas imeevma
2019-12-06 11:37 ` [Tarantool-patches] [PATCH v3 0/5] Replace control pragmas by SET Kirill Yukhin
2019-12-06 13:50   ` Mergen Imeev
2019-12-06 14:06     ` Sergey Ostanevich
2019-12-17 22:11     ` Alexander Turenko
2019-12-18  2:39       ` Peter Gulutzan
2019-12-18 17:39         ` Peter Gulutzan
2019-12-19  9:59           ` Mergen Imeev
2019-12-19 17:35             ` Peter Gulutzan
2019-12-19 17:51               ` Mergen Imeev
2019-12-19 21:09           ` Vladislav Shpilevoy
2019-12-18 10:20       ` Kirill Yukhin
2019-12-18 10:53         ` Alexander Turenko

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.1573121685.git.imeevma@gmail.com \
    --to=imeevma@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --cc=v.shpilevoy@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH v3 0/5] Replace control pragmas by SET' \
    /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