From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id AFE47263A5 for ; Thu, 28 Jun 2018 12:19:10 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OMCoHLTrzpLL for ; Thu, 28 Jun 2018 12:19:10 -0400 (EDT) Received: from smtpng1.m.smailru.net (smtpng1.m.smailru.net [94.100.181.251]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 6FE9B26317 for ; Thu, 28 Jun 2018 12:19:10 -0400 (EDT) From: Kirill Shcherbatov Subject: [tarantool-patches] [PATCH v2 0/3] sql: default engine pragma Date: Thu, 28 Jun 2018 19:19:03 +0300 Message-Id: Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: tarantool-patches@freelists.org Cc: korablev@tarantool.org, Kirill Shcherbatov Introduced a new SQL pragma that allows to set default storage engine. Both 'memtx' and 'vinyl' are supported. Config enum value is stored in user_session represented as uint8_t. Initial 0 value match default MEMTEX storage engine. Adopted basic sql test to launch with multiple engines. Worth to take into account that vinyl transactions don't rollback automatically on failures. This required to modify some tests. --- Branch: http://github.com/tarantool/tarantool/tree/kshch/gh-2199-engine-sql-specifier Issue: https://github.com/tarantool/tarantool/issues/2199 Kirill Shcherbatov (3): sql: introduce pragma sql_default_engine sql: fix SQL Count for vinyl engine sql: enable multi-engine tests for SQL src/box/schema_def.c | 5 +++ src/box/schema_def.h | 9 +++++ src/box/session.cc | 1 + src/box/session.h | 2 ++ src/box/sql.c | 6 ++-- src/box/sql/build.c | 6 +++- src/box/sql/pragma.c | 28 +++++++++++++++ src/box/sql/pragma.h | 6 ++++ test/sql-tap/analyze9.test.lua | 2 ++ test/sql-tap/engine.cfg | 6 ++++ test/sql-tap/gh-2367-pragma.test.lua | 29 ++++++++++++++- test/sql-tap/lua/sqltester.lua | 9 ++++- test/sql-tap/suite.ini | 1 + test/sql/app.lua | 3 +- test/sql/check-clear-ephemeral.result | 6 ++++ test/sql/check-clear-ephemeral.test.lua | 3 +- test/sql/checks.result | 6 ++++ test/sql/checks.test.lua | 2 ++ test/sql/clear.result | 6 ++++ test/sql/clear.test.lua | 2 ++ test/sql/collation.result | 9 +++++ test/sql/collation.test.lua | 3 ++ test/sql/delete-multiple-idx.result | 6 ++++ test/sql/delete-multiple-idx.test.lua | 2 ++ test/sql/delete.result | 6 ++++ test/sql/delete.test.lua | 2 ++ test/sql/drop-index.result | 6 ++++ test/sql/drop-index.test.lua | 2 ++ test/sql/drop-table.result | 6 ++++ test/sql/drop-table.test.lua | 2 ++ test/sql/engine.cfg | 6 ++++ test/sql/engine.result | 42 ++++++++++++++++++++++ test/sql/engine.test.lua | 17 +++++++++ test/sql/errinj.result | 9 +++++ test/sql/errinj.test.lua | 3 ++ test/sql/gh-2929-primary-key.result | 9 +++++ test/sql/gh-2929-primary-key.test.lua | 4 +++ test/sql/gh-2981-check-autoinc.result | 9 +++++ test/sql/gh-2981-check-autoinc.test.lua | 4 +++ test/sql/gh-3199-no-mem-leaks.result | 6 ++++ test/sql/gh-3199-no-mem-leaks.test.lua | 2 ++ test/sql/gh2141-delete-trigger-drop-table.result | 6 ++++ test/sql/gh2141-delete-trigger-drop-table.test.lua | 2 ++ test/sql/gh2251-multiple-update.result | 6 ++++ test/sql/gh2251-multiple-update.test.lua | 2 ++ test/sql/gh2483-remote-persistency-check.result | 6 ++++ test/sql/gh2483-remote-persistency-check.test.lua | 2 ++ .../gh2808-inline-unique-persistency-check.result | 6 ++++ ...gh2808-inline-unique-persistency-check.test.lua | 2 ++ test/sql/icu-upper-lower.result | 6 ++++ test/sql/icu-upper-lower.test.lua | 2 ++ test/sql/insert-unique.result | 6 ++++ test/sql/insert-unique.test.lua | 2 ++ test/sql/iproto.result | 9 +++++ test/sql/iproto.test.lua | 3 ++ test/sql/max-on-index.result | 6 ++++ test/sql/max-on-index.test.lua | 2 ++ test/sql/message-func-indexes.result | 6 ++++ test/sql/message-func-indexes.test.lua | 2 ++ test/sql/misc.result | 9 +++++ test/sql/misc.test.lua | 4 +++ test/sql/on-conflict.result | 6 ++++ test/sql/on-conflict.test.lua | 2 ++ test/sql/persistency.result | 6 ++++ test/sql/persistency.test.lua | 2 ++ test/sql/savepoints.result | 6 ++++ test/sql/savepoints.test.lua | 2 ++ test/sql/select-null.result | 6 ++++ test/sql/select-null.test.lua | 2 ++ test/sql/sql-statN-index-drop.result | 6 ++++ test/sql/sql-statN-index-drop.test.lua | 2 ++ test/sql/suite.ini | 1 + test/sql/tokenizer.result | 6 ++++ test/sql/tokenizer.test.lua | 2 ++ test/sql/transition.result | 9 +++++ test/sql/transition.test.lua | 4 +++ test/sql/transitive-transactions.result | 7 ++++ test/sql/transitive-transactions.test.lua | 3 ++ test/sql/triggers.result | 6 ++++ test/sql/triggers.test.lua | 2 ++ test/sql/update-with-nested-select.result | 6 ++++ test/sql/update-with-nested-select.test.lua | 2 ++ test/sql/upgrade.result | 6 ++++ test/sql/upgrade.test.lua | 2 ++ test/sql/view.result | 6 ++++ test/sql/view.test.lua | 2 ++ test/sql/view_delayed_wal.result | 6 ++++ test/sql/view_delayed_wal.test.lua | 2 ++ 88 files changed, 487 insertions(+), 7 deletions(-) create mode 100644 test/sql-tap/engine.cfg create mode 100644 test/sql/engine.cfg create mode 100644 test/sql/engine.result create mode 100644 test/sql/engine.test.lua -- 2.7.4