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 9DD8C46970E for ; Mon, 30 Dec 2019 19:43:06 +0300 (MSK) From: imeevma@tarantool.org Date: Mon, 30 Dec 2019 19:43:05 +0300 Message-Id: Subject: [Tarantool-patches] [PATCH v2 0/9] sql: Remove control pragmas List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: korablev@tarantool.org Cc: tarantool-patches@dev.tarantool.org This patch-set removes control pragmas. https://github.com/tarantool/tarantool/issues/4511 https://github.com/tarantool/tarantool/tree/imeevma/gh-4511-replace-pragma-by-set Mergen Imeev (9): sql: remove PRAGMA "count_changes" sql: remove PRAGMA "short_column_names" sql: remove PRAGMA "sql_compound_select_limit" sql: remove PRAGMA "vdbe_addoptrace" box: introduce 'service' engine box: introduce _session_settings system space box: add SQL settings to _session_settings sql: remove control pragmas sql: refactor PRAGMA-related code src/box/CMakeLists.txt | 2 + src/box/bootstrap.snap | Bin 5921 -> 5976 bytes src/box/box.cc | 4 + src/box/errcode.h | 1 + src/box/lua/space.cc | 2 + src/box/lua/upgrade.lua | 15 + src/box/schema_def.h | 8 + src/box/service_engine.c | 135 ++++++ src/box/service_engine.h | 53 +++ src/box/session_settings.c | 472 +++++++++++++++++++++ src/box/session_settings.h | 70 +++ src/box/sql.c | 8 +- src/box/sql/build.c | 194 +++++++++ src/box/sql/delete.c | 24 -- src/box/sql/expr.c | 15 - src/box/sql/insert.c | 34 +- src/box/sql/parse.y | 34 +- src/box/sql/pragma.c | 447 +++++-------------- src/box/sql/pragma.h | 253 ++--------- src/box/sql/select.c | 20 +- src/box/sql/sqlInt.h | 25 +- src/box/sql/update.c | 25 -- src/box/sql/util.c | 15 - src/box/sql/vdbe.c | 33 +- src/box/sql/vdbe.h | 5 - src/box/sql/vdbeaux.c | 39 +- test/app-tap/tarantoolctl.test.lua | 4 +- test/box-py/bootstrap.result | 3 + test/box/access_sysview.result | 6 +- test/box/alter.result | 5 +- ...h-4511-access-settings-from-any-frontend.result | 286 +++++++++++++ ...4511-access-settings-from-any-frontend.test.lua | 108 +++++ test/box/misc.result | 1 + test/box/sql-update-with-nested-select.result | 2 - test/box/sql-update-with-nested-select.test.lua | 3 - test/sql-tap/autoinc.test.lua | 3 +- test/sql-tap/colname.test.lua | 51 +-- test/sql-tap/fkey2.test.lua | 4 +- test/sql-tap/index-info.test.lua | 2 +- 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 | 55 +-- test/sql-tap/suite.ini | 1 + test/sql-tap/tkt3731.test.lua | 2 +- test/sql-tap/trigger2.test.lua | 3 +- test/sql-tap/triggerC.test.lua | 65 +-- test/sql-tap/update.test.lua | 49 ++- test/sql-tap/whereA.test.lua | 24 +- test/sql/check-clear-ephemeral.result | 5 +- test/sql/check-clear-ephemeral.test.lua | 5 +- test/sql/checks.result | 10 +- test/sql/checks.test.lua | 4 +- test/sql/clear.result | 5 +- test/sql/clear.test.lua | 5 +- test/sql/collation.result | 3 +- test/sql/collation.test.lua | 2 +- test/sql/constraint.result | 3 +- test/sql/constraint.test.lua | 2 +- test/sql/ddl.result | 3 +- test/sql/ddl.test.lua | 2 +- test/sql/delete-multiple-idx.result | 5 +- test/sql/delete-multiple-idx.test.lua | 5 +- test/sql/delete.result | 5 +- test/sql/delete.test.lua | 5 +- test/sql/drop-index.result | 5 +- test/sql/drop-index.test.lua | 5 +- test/sql/drop-table.result | 5 +- test/sql/drop-table.test.lua | 5 +- test/sql/engine.cfg | 3 - test/sql/engine.result | 12 +- test/sql/engine.test.lua | 6 +- test/sql/errinj.result | 3 +- test/sql/errinj.test.lua | 2 +- test/sql/full_metadata.result | 8 +- test/sql/full_metadata.test.lua | 4 +- test/sql/func-recreate.result | 3 +- test/sql/func-recreate.test.lua | 2 +- test/sql/gh-2362-select-access-rights.result | 5 +- test/sql/gh-2362-select-access-rights.test.lua | 2 +- test/sql/gh-2929-primary-key.result | 3 +- test/sql/gh-2929-primary-key.test.lua | 2 +- test/sql/gh-2981-check-autoinc.result | 3 +- test/sql/gh-2981-check-autoinc.test.lua | 2 +- test/sql/gh-3199-no-mem-leaks.result | 3 +- test/sql/gh-3199-no-mem-leaks.test.lua | 2 +- test/sql/gh-3613-idx-alter-update-2.result | 3 +- test/sql/gh-3613-idx-alter-update-2.test.lua | 2 +- test/sql/gh-3613-idx-alter-update.result | 3 +- test/sql/gh-3613-idx-alter-update.test.lua | 2 +- test/sql/gh-3888-values-blob-assert.result | 3 +- test/sql/gh-3888-values-blob-assert.test.lua | 2 +- test/sql/gh2141-delete-trigger-drop-table.result | 3 +- test/sql/gh2141-delete-trigger-drop-table.test.lua | 2 +- test/sql/gh2251-multiple-update.result | 3 +- test/sql/gh2251-multiple-update.test.lua | 2 +- test/sql/gh2483-remote-persistency-check.result | 3 +- test/sql/gh2483-remote-persistency-check.test.lua | 2 +- .../gh2808-inline-unique-persistency-check.result | 3 +- ...gh2808-inline-unique-persistency-check.test.lua | 2 +- test/sql/icu-upper-lower.result | 3 +- test/sql/icu-upper-lower.test.lua | 2 +- test/sql/insert-unique.result | 5 +- test/sql/insert-unique.test.lua | 5 +- test/sql/integer-overflow.result | 3 +- test/sql/integer-overflow.test.lua | 2 +- test/sql/iproto.result | 34 +- test/sql/iproto.test.lua | 10 +- test/sql/max-on-index.result | 5 +- test/sql/max-on-index.test.lua | 5 +- test/sql/message-func-indexes.result | 3 +- test/sql/message-func-indexes.test.lua | 2 +- test/sql/misc.result | 3 +- test/sql/misc.test.lua | 2 +- test/sql/no-pk-space.result | 3 +- test/sql/no-pk-space.test.lua | 2 +- test/sql/on-conflict.result | 3 +- test/sql/on-conflict.test.lua | 2 +- test/sql/persistency.result | 3 +- test/sql/persistency.test.lua | 2 +- test/sql/row-count.result | 11 +- test/sql/row-count.test.lua | 4 +- test/sql/savepoints.result | 3 +- test/sql/savepoints.test.lua | 2 +- test/sql/select-null.result | 5 +- test/sql/select-null.test.lua | 5 +- test/sql/sql-debug.result | 57 --- test/sql/sql-debug.test.lua | 17 - test/sql/sql-statN-index-drop.test.lua | 2 +- test/sql/suite.ini | 2 +- test/sql/tokenizer.result | 3 +- test/sql/tokenizer.test.lua | 2 +- test/sql/transition.result | 3 +- test/sql/transition.test.lua | 2 +- test/sql/transitive-transactions.result | 9 +- test/sql/transitive-transactions.test.lua | 9 +- test/sql/triggers.result | 27 +- test/sql/triggers.test.lua | 14 +- test/sql/update-with-nested-select.result | 5 +- test/sql/update-with-nested-select.test.lua | 5 +- test/sql/upgrade.result | 3 +- test/sql/upgrade.test.lua | 2 +- test/sql/view.result | 3 +- test/sql/view.test.lua | 2 +- test/sql/view_delayed_wal.result | 3 +- test/sql/view_delayed_wal.test.lua | 2 +- test/sql/vinyl-opts.result | 4 +- test/sql/vinyl-opts.test.lua | 2 +- test/wal_off/alter.result | 2 +- 149 files changed, 1775 insertions(+), 1472 deletions(-) create mode 100644 src/box/service_engine.c create mode 100644 src/box/service_engine.h create mode 100644 src/box/session_settings.c create mode 100644 src/box/session_settings.h create mode 100644 test/box/gh-4511-access-settings-from-any-frontend.result create mode 100644 test/box/gh-4511-access-settings-from-any-frontend.test.lua delete mode 100644 test/sql/sql-debug.result delete mode 100644 test/sql/sql-debug.test.lua -- 2.7.4