[Tarantool-patches] [PATCH v3 0/5] Replace control pragmas by SET

imeevma at tarantool.org imeevma at tarantool.org
Thu Nov 7 13:36:17 MSK 2019


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



More information about the Tarantool-patches mailing list