From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpng3.m.smailru.net (smtpng3.m.smailru.net [94.100.177.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id BEAFF430D56 for ; Thu, 7 Nov 2019 13:36:19 +0300 (MSK) From: imeevma@tarantool.org Date: Thu, 7 Nov 2019 13:36:17 +0300 Message-Id: Subject: [Tarantool-patches] [PATCH v3 0/5] Replace control pragmas by SET List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: v.shpilevoy@tarantool.org Cc: tarantool-patches@dev.tarantool.org 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