From b09f5964d9ecde51ae7cedecdf1e85778fc49a7d Mon Sep 17 00:00:00 2001 From: Kirill Shcherbatov <kshcherbatov@tarantool.org> Date: Wed, 20 Jun 2018 17:06:59 +0300 Subject: [PATCH] sql: enable multi-engine tests for SQL Configured sql tests to set 'pragma sql_engine_default' on start. This allows to test both vinyl and memtx engines for SQL. Resolves #2199. --- test/sql-tap/analyze9.test.lua | 1 + test/sql-tap/engine.cfg | 9 ++++ 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 + .../gh2141-delete-trigger-drop-table.result | 6 +++ .../gh2141-delete-trigger-drop-table.test.lua | 2 + test/sql/gh2251-multiple-update.result | 6 +++ test/sql/gh2251-multiple-update.test.lua | 2 + .../gh2483-remote-persistency-check.result | 6 +++ .../gh2483-remote-persistency-check.test.lua | 2 + ...808-inline-unique-persistency-check.result | 6 +++ ...8-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 + 79 files changed, 401 insertions(+), 3 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 diff --git a/test/sql-tap/analyze9.test.lua b/test/sql-tap/analyze9.test.lua index 3b3d52f67e..4292929103 100755 --- a/test/sql-tap/analyze9.test.lua +++ b/test/sql-tap/analyze9.test.lua @@ -20,6 +20,7 @@ testprefix = "analyze9" -- functionality is working. -- +-- SQL Analyze is working correctly only with memtx now. test:do_execsql_test( 1.0, [[ diff --git a/test/sql-tap/engine.cfg b/test/sql-tap/engine.cfg new file mode 100644 index 0000000000..ce9dd68d87 --- /dev/null +++ b/test/sql-tap/engine.cfg @@ -0,0 +1,9 @@ +{ + "analyze9.test.lua": { + "memtx": {"engine": "memtx"} + }, + "*": { + "memtx": {"engine": "memtx"}, + "vinyl": {"engine": "vinyl"} + } +} diff --git a/test/sql-tap/lua/sqltester.lua b/test/sql-tap/lua/sqltester.lua index 97c79f5445..04138154bc 100644 --- a/test/sql-tap/lua/sqltester.lua +++ b/test/sql-tap/lua/sqltester.lua @@ -411,11 +411,18 @@ test.do_eqp_test = function (self, label, sql, result) end setmetatable(_G, nil) -os.execute("rm -f *.snap *.xlog*") +os.execute("rm -rf $(ls -d */)") +os.execute("rm -f *.snap *.xlog* *.vylog* *.run*") -- start the database box.cfg{ memtx_max_tuple_size=4996109; + vinyl_max_tuple_size=4996109; log="tarantool.log"; } + +test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') + return test diff --git a/test/sql-tap/suite.ini b/test/sql-tap/suite.ini index 43404d2635..0637cffc1f 100644 --- a/test/sql-tap/suite.ini +++ b/test/sql-tap/suite.ini @@ -6,3 +6,4 @@ disabled = lua_libs = lua/sqltester.lua ../sql/lua/sql_tokenizer.lua ../box/lua/identifier.lua is_parallel = True release_disabled = debug_mode_only.test.lua +config = engine.cfg diff --git a/test/sql/app.lua b/test/sql/app.lua index 96bb59023b..8dbed1c132 100644 --- a/test/sql/app.lua +++ b/test/sql/app.lua @@ -3,7 +3,8 @@ box.cfg{ listen = os.getenv("LISTEN"), pid_file = "tarantool.pid", - memtx_max_tuple_size = 5 * 1024 * 1024 + memtx_max_tuple_size = 5 * 1024 * 1024, + vinyl_max_tuple_size = 5 * 1024 * 1024, } require('console').listen(os.getenv('ADMIN')) diff --git a/test/sql/check-clear-ephemeral.result b/test/sql/check-clear-ephemeral.result index 156e06a4a2..4ab1fe14ca 100644 --- a/test/sql/check-clear-ephemeral.result +++ b/test/sql/check-clear-ephemeral.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- box.cfg() -- create space box.sql.execute("CREATE TABLE t1(a,b,c,PRIMARY KEY(b,c));") diff --git a/test/sql/check-clear-ephemeral.test.lua b/test/sql/check-clear-ephemeral.test.lua index 8a5787b04d..c7ea7333df 100644 --- a/test/sql/check-clear-ephemeral.test.lua +++ b/test/sql/check-clear-ephemeral.test.lua @@ -1,5 +1,6 @@ test_run = require('test_run').new() - +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- box.cfg() -- create space diff --git a/test/sql/checks.result b/test/sql/checks.result index 21ce210b85..2a31b01022 100644 --- a/test/sql/checks.result +++ b/test/sql/checks.result @@ -8,6 +8,12 @@ test_run:cmd("push filter ".."'\\.lua.*:[0-9]+: ' to '.lua...\"]:<line>: '") --- - true ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- -- gh-3272: Move SQL CHECK into server -- diff --git a/test/sql/checks.test.lua b/test/sql/checks.test.lua index bb76b0c7ca..7ff78fe48f 100644 --- a/test/sql/checks.test.lua +++ b/test/sql/checks.test.lua @@ -1,6 +1,8 @@ env = require('test_run') test_run = env.new() test_run:cmd("push filter ".."'\\.lua.*:[0-9]+: ' to '.lua...\"]:<line>: '") +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- -- gh-3272: Move SQL CHECK into server diff --git a/test/sql/clear.result b/test/sql/clear.result index d267245f3d..c75e1343c1 100644 --- a/test/sql/clear.result +++ b/test/sql/clear.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- box.cfg() -- create space box.sql.execute("CREATE TABLE zoobar (c1, c2 PRIMARY KEY, c3, c4)") diff --git a/test/sql/clear.test.lua b/test/sql/clear.test.lua index 068a7c129a..142cda812d 100644 --- a/test/sql/clear.test.lua +++ b/test/sql/clear.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- box.cfg() diff --git a/test/sql/collation.result b/test/sql/collation.result index 3a4f81f5a4..7fec96d51b 100644 --- a/test/sql/collation.result +++ b/test/sql/collation.result @@ -1,6 +1,15 @@ remote = require('net.box') --- ... +test_run = require('test_run').new() +--- +... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- gh-3010: COLLATE after LIMIT should throw an error -- All of these tests should throw error "near "COLLATE": syntax error" box.sql.execute("SELECT 1 LIMIT 1 COLLATE BINARY;") diff --git a/test/sql/collation.test.lua b/test/sql/collation.test.lua index fe8c1badbc..ff2c5b2271 100644 --- a/test/sql/collation.test.lua +++ b/test/sql/collation.test.lua @@ -1,4 +1,7 @@ remote = require('net.box') +test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- gh-3010: COLLATE after LIMIT should throw an error diff --git a/test/sql/delete-multiple-idx.result b/test/sql/delete-multiple-idx.result index 000dad2a3b..a163cf1533 100644 --- a/test/sql/delete-multiple-idx.result +++ b/test/sql/delete-multiple-idx.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- box.cfg() -- Create space. box.sql.execute("CREATE TABLE t3(id primary key,x,y);"); diff --git a/test/sql/delete-multiple-idx.test.lua b/test/sql/delete-multiple-idx.test.lua index 26c19a03d2..e187355856 100644 --- a/test/sql/delete-multiple-idx.test.lua +++ b/test/sql/delete-multiple-idx.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- box.cfg() diff --git a/test/sql/delete.result b/test/sql/delete.result index b7dc588a95..c454c60d90 100644 --- a/test/sql/delete.result +++ b/test/sql/delete.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- box.cfg() -- create space box.sql.execute("CREATE TABLE t1(a, b, PRIMARY KEY(a, b));"); diff --git a/test/sql/delete.test.lua b/test/sql/delete.test.lua index 69d8ff9f62..2f6b625b4c 100644 --- a/test/sql/delete.test.lua +++ b/test/sql/delete.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- box.cfg() diff --git a/test/sql/drop-index.result b/test/sql/drop-index.result index 9fa8b8b756..2aaddac283 100644 --- a/test/sql/drop-index.result +++ b/test/sql/drop-index.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- box.cfg() -- create space box.sql.execute("CREATE TABLE zzoobar (c1, c2 PRIMARY KEY, c3, c4)") diff --git a/test/sql/drop-index.test.lua b/test/sql/drop-index.test.lua index d39d33b64e..8bb51e157f 100644 --- a/test/sql/drop-index.test.lua +++ b/test/sql/drop-index.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- box.cfg() diff --git a/test/sql/drop-table.result b/test/sql/drop-table.result index e89176454c..08f249668b 100644 --- a/test/sql/drop-table.result +++ b/test/sql/drop-table.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- box.cfg() -- create space box.sql.execute("CREATE TABLE zzzoobar (c1, c2 PRIMARY KEY, c3, c4)") diff --git a/test/sql/drop-table.test.lua b/test/sql/drop-table.test.lua index a72156385b..9663074df9 100644 --- a/test/sql/drop-table.test.lua +++ b/test/sql/drop-table.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- box.cfg() diff --git a/test/sql/engine.cfg b/test/sql/engine.cfg new file mode 100644 index 0000000000..0007d8d7a8 --- /dev/null +++ b/test/sql/engine.cfg @@ -0,0 +1,6 @@ +{ + "*": { + "memtx": {"engine": "memtx"}, + "vinyl": {"engine": "vinyl"} + } +} diff --git a/test/sql/engine.result b/test/sql/engine.result new file mode 100644 index 0000000000..935383a894 --- /dev/null +++ b/test/sql/engine.result @@ -0,0 +1,42 @@ +env = require('test_run') +--- +... +test_run = env.new() +--- +... +box.sql.execute("pragma sql_default_engine='vinyl'") +--- +... +box.sql.execute("CREATE TABLE t1_vinyl(a INT PRIMARY KEY, b INT, c INT);") +--- +... +box.sql.execute("CREATE TABLE t2_vinyl(a INT PRIMARY KEY, b INT, c INT);") +--- +... +box.sql.execute("pragma sql_default_engine='memtx'") +--- +... +box.sql.execute("CREATE TABLE t3_memtx(a INT PRIMARY KEY, b INT, c INT);") +--- +... +assert(box.space.T1_VINYL.engine == 'vinyl') +--- +- true +... +assert(box.space.T2_VINYL.engine == 'vinyl') +--- +- true +... +assert(box.space.T3_MEMTX.engine == 'memtx') +--- +- true +... +box.sql.execute("DROP TABLE t1_vinyl;") +--- +... +box.sql.execute("DROP TABLE t2_vinyl;") +--- +... +box.sql.execute("DROP TABLE t3_memtx;") +--- +... diff --git a/test/sql/engine.test.lua b/test/sql/engine.test.lua new file mode 100644 index 0000000000..2f34b242d2 --- /dev/null +++ b/test/sql/engine.test.lua @@ -0,0 +1,17 @@ +env = require('test_run') +test_run = env.new() + +box.sql.execute("pragma sql_default_engine='vinyl'") +box.sql.execute("CREATE TABLE t1_vinyl(a INT PRIMARY KEY, b INT, c INT);") +box.sql.execute("CREATE TABLE t2_vinyl(a INT PRIMARY KEY, b INT, c INT);") + +box.sql.execute("pragma sql_default_engine='memtx'") +box.sql.execute("CREATE TABLE t3_memtx(a INT PRIMARY KEY, b INT, c INT);") + +assert(box.space.T1_VINYL.engine == 'vinyl') +assert(box.space.T2_VINYL.engine == 'vinyl') +assert(box.space.T3_MEMTX.engine == 'memtx') + +box.sql.execute("DROP TABLE t1_vinyl;") +box.sql.execute("DROP TABLE t2_vinyl;") +box.sql.execute("DROP TABLE t3_memtx;") diff --git a/test/sql/errinj.result b/test/sql/errinj.result index 1451ea121a..b491d4629d 100644 --- a/test/sql/errinj.result +++ b/test/sql/errinj.result @@ -1,6 +1,15 @@ remote = require('net.box') --- ... +test_run = require('test_run').new() +--- +... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... errinj = box.error.injection --- ... diff --git a/test/sql/errinj.test.lua b/test/sql/errinj.test.lua index 5663a83845..da25b03728 100644 --- a/test/sql/errinj.test.lua +++ b/test/sql/errinj.test.lua @@ -1,4 +1,7 @@ remote = require('net.box') +test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') errinj = box.error.injection fiber = require('fiber') diff --git a/test/sql/gh-2929-primary-key.result b/test/sql/gh-2929-primary-key.result index 53896fcdad..c238ed76bd 100644 --- a/test/sql/gh-2929-primary-key.result +++ b/test/sql/gh-2929-primary-key.result @@ -1,3 +1,12 @@ +test_run = require('test_run').new() +--- +... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- All tables in SQL are now WITHOUT ROW ID, so if user -- tries to create table without a primary key, an appropriate error message -- should be raised. This tests checks it. diff --git a/test/sql/gh-2929-primary-key.test.lua b/test/sql/gh-2929-primary-key.test.lua index 27338a6ce4..0a9395cfc3 100644 --- a/test/sql/gh-2929-primary-key.test.lua +++ b/test/sql/gh-2929-primary-key.test.lua @@ -1,3 +1,7 @@ +test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') + -- All tables in SQL are now WITHOUT ROW ID, so if user -- tries to create table without a primary key, an appropriate error message -- should be raised. This tests checks it. diff --git a/test/sql/gh-2981-check-autoinc.result b/test/sql/gh-2981-check-autoinc.result index aaa0785d0e..b0f55e61d5 100644 --- a/test/sql/gh-2981-check-autoinc.result +++ b/test/sql/gh-2981-check-autoinc.result @@ -1,3 +1,12 @@ +test_run = require('test_run').new() +--- +... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... box.cfg{} --- ... diff --git a/test/sql/gh-2981-check-autoinc.test.lua b/test/sql/gh-2981-check-autoinc.test.lua index f136505195..98a5fb46dc 100644 --- a/test/sql/gh-2981-check-autoinc.test.lua +++ b/test/sql/gh-2981-check-autoinc.test.lua @@ -1,3 +1,7 @@ +test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') + box.cfg{} box.sql.execute("CREATE TABLE t1 (s1 INTEGER PRIMARY KEY AUTOINCREMENT, s2 INTEGER, CHECK (s1 <> 19));"); diff --git a/test/sql/gh-3199-no-mem-leaks.result b/test/sql/gh-3199-no-mem-leaks.result index 682ca62a78..9d715e8cdb 100644 --- a/test/sql/gh-3199-no-mem-leaks.result +++ b/test/sql/gh-3199-no-mem-leaks.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... fiber = require('fiber') --- ... diff --git a/test/sql/gh-3199-no-mem-leaks.test.lua b/test/sql/gh-3199-no-mem-leaks.test.lua index d61d474d9c..138166bad3 100644 --- a/test/sql/gh-3199-no-mem-leaks.test.lua +++ b/test/sql/gh-3199-no-mem-leaks.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') fiber = require('fiber') -- This test checks that no leaks of region memory happens during diff --git a/test/sql/gh2141-delete-trigger-drop-table.result b/test/sql/gh2141-delete-trigger-drop-table.result index ec5a38061c..d8ba2af564 100644 --- a/test/sql/gh2141-delete-trigger-drop-table.result +++ b/test/sql/gh2141-delete-trigger-drop-table.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- create space box.sql.execute("CREATE TABLE t(id PRIMARY KEY)") --- diff --git a/test/sql/gh2141-delete-trigger-drop-table.test.lua b/test/sql/gh2141-delete-trigger-drop-table.test.lua index 87110a4637..19d3188a6f 100644 --- a/test/sql/gh2141-delete-trigger-drop-table.test.lua +++ b/test/sql/gh2141-delete-trigger-drop-table.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- create space box.sql.execute("CREATE TABLE t(id PRIMARY KEY)") diff --git a/test/sql/gh2251-multiple-update.result b/test/sql/gh2251-multiple-update.result index 5372cfc3ac..5e137eeb6c 100644 --- a/test/sql/gh2251-multiple-update.result +++ b/test/sql/gh2251-multiple-update.result @@ -2,6 +2,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- box.cfg() box.sql.execute("CREATE TABLE t1(a integer primary key, b UNIQUE, e);") --- diff --git a/test/sql/gh2251-multiple-update.test.lua b/test/sql/gh2251-multiple-update.test.lua index 15795f12bd..0166a17864 100644 --- a/test/sql/gh2251-multiple-update.test.lua +++ b/test/sql/gh2251-multiple-update.test.lua @@ -1,5 +1,7 @@ -- Regression test for #2251 test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- box.cfg() diff --git a/test/sql/gh2483-remote-persistency-check.result b/test/sql/gh2483-remote-persistency-check.result index 5cb6db34e1..50e65f22ef 100644 --- a/test/sql/gh2483-remote-persistency-check.result +++ b/test/sql/gh2483-remote-persistency-check.result @@ -5,6 +5,12 @@ env = require('test_run') test_run = env.new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... box.schema.user.grant('guest', 'read,write,execute', 'universe') --- ... diff --git a/test/sql/gh2483-remote-persistency-check.test.lua b/test/sql/gh2483-remote-persistency-check.test.lua index da13e4ee07..b952f6b32f 100644 --- a/test/sql/gh2483-remote-persistency-check.test.lua +++ b/test/sql/gh2483-remote-persistency-check.test.lua @@ -1,6 +1,8 @@ -- Regression test for gh-2483 env = require('test_run') test_run = env.new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') box.schema.user.grant('guest', 'read,write,execute', 'universe') diff --git a/test/sql/gh2808-inline-unique-persistency-check.result b/test/sql/gh2808-inline-unique-persistency-check.result index e171f7aa79..fdd000f3d2 100644 --- a/test/sql/gh2808-inline-unique-persistency-check.result +++ b/test/sql/gh2808-inline-unique-persistency-check.result @@ -5,6 +5,12 @@ env = require('test_run') test_run = env.new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- Create a table and insert a datum box.sql.execute([[CREATE TABLE t1(a PRIMARY KEY, b, UNIQUE(b));]]) --- diff --git a/test/sql/gh2808-inline-unique-persistency-check.test.lua b/test/sql/gh2808-inline-unique-persistency-check.test.lua index 19ae87760d..eb4e051dc0 100644 --- a/test/sql/gh2808-inline-unique-persistency-check.test.lua +++ b/test/sql/gh2808-inline-unique-persistency-check.test.lua @@ -1,6 +1,8 @@ -- Regression test for gh-2483 env = require('test_run') test_run = env.new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- Create a table and insert a datum box.sql.execute([[CREATE TABLE t1(a PRIMARY KEY, b, UNIQUE(b));]]) diff --git a/test/sql/icu-upper-lower.result b/test/sql/icu-upper-lower.result index 9989ed2399..6ca44b95f3 100644 --- a/test/sql/icu-upper-lower.result +++ b/test/sql/icu-upper-lower.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... test_run:cmd("setopt delimiter ';'") --- - true diff --git a/test/sql/icu-upper-lower.test.lua b/test/sql/icu-upper-lower.test.lua index bb1a5189be..6629a7451f 100644 --- a/test/sql/icu-upper-lower.test.lua +++ b/test/sql/icu-upper-lower.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') test_run:cmd("setopt delimiter ';'") diff --git a/test/sql/insert-unique.result b/test/sql/insert-unique.result index 7e564ec775..048d6284c3 100644 --- a/test/sql/insert-unique.result +++ b/test/sql/insert-unique.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- box.cfg() -- create space box.sql.execute("CREATE TABLE zoobar (c1, c2 PRIMARY KEY, c3, c4)") diff --git a/test/sql/insert-unique.test.lua b/test/sql/insert-unique.test.lua index dfdaa30ccf..a004c57b41 100644 --- a/test/sql/insert-unique.test.lua +++ b/test/sql/insert-unique.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- box.cfg() diff --git a/test/sql/iproto.result b/test/sql/iproto.result index 3b7574ae02..4cf7901691 100644 --- a/test/sql/iproto.result +++ b/test/sql/iproto.result @@ -1,6 +1,15 @@ remote = require('net.box') --- ... +test_run = require('test_run').new() +--- +... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... box.sql.execute('create table test (id primary key, a float, b text)') --- ... diff --git a/test/sql/iproto.test.lua b/test/sql/iproto.test.lua index 159a8394e0..220331b40b 100644 --- a/test/sql/iproto.test.lua +++ b/test/sql/iproto.test.lua @@ -1,4 +1,7 @@ remote = require('net.box') +test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') box.sql.execute('create table test (id primary key, a float, b text)') space = box.space.TEST diff --git a/test/sql/max-on-index.result b/test/sql/max-on-index.result index afd43628b9..b1076332d2 100644 --- a/test/sql/max-on-index.result +++ b/test/sql/max-on-index.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- box.cfg() -- create space -- scalar affinity diff --git a/test/sql/max-on-index.test.lua b/test/sql/max-on-index.test.lua index 5ce6cd70a5..b879e388fb 100644 --- a/test/sql/max-on-index.test.lua +++ b/test/sql/max-on-index.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- box.cfg() diff --git a/test/sql/message-func-indexes.result b/test/sql/message-func-indexes.result index 4bf1cab491..37ed4ec6ed 100644 --- a/test/sql/message-func-indexes.result +++ b/test/sql/message-func-indexes.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- Creating tables. box.sql.execute("CREATE TABLE t1(id INTEGER PRIMARY KEY, a INTEGER)") --- diff --git a/test/sql/message-func-indexes.test.lua b/test/sql/message-func-indexes.test.lua index 4597c9b6b6..e0eae7659c 100644 --- a/test/sql/message-func-indexes.test.lua +++ b/test/sql/message-func-indexes.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- Creating tables. box.sql.execute("CREATE TABLE t1(id INTEGER PRIMARY KEY, a INTEGER)") diff --git a/test/sql/misc.result b/test/sql/misc.result index b1ddb89a15..93b383a8ff 100644 --- a/test/sql/misc.result +++ b/test/sql/misc.result @@ -1,3 +1,12 @@ +test_run = require('test_run').new() +--- +... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- Forbid multistatement queries. box.sql.execute('select 1;') --- diff --git a/test/sql/misc.test.lua b/test/sql/misc.test.lua index 2c05fcd0cf..1ed0198749 100644 --- a/test/sql/misc.test.lua +++ b/test/sql/misc.test.lua @@ -1,3 +1,7 @@ +test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') + -- Forbid multistatement queries. box.sql.execute('select 1;') box.sql.execute('select 1; select 2;') diff --git a/test/sql/on-conflict.result b/test/sql/on-conflict.result index 9e15ec4d83..c0d0de08d9 100644 --- a/test/sql/on-conflict.result +++ b/test/sql/on-conflict.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- Create space box.sql.execute("CREATE TABLE t (id INTEGER PRIMARY KEY, v INTEGER UNIQUE ON CONFLICT ABORT)") --- diff --git a/test/sql/on-conflict.test.lua b/test/sql/on-conflict.test.lua index a6aa3d6249..b6d92f7c35 100644 --- a/test/sql/on-conflict.test.lua +++ b/test/sql/on-conflict.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- Create space box.sql.execute("CREATE TABLE t (id INTEGER PRIMARY KEY, v INTEGER UNIQUE ON CONFLICT ABORT)") diff --git a/test/sql/persistency.result b/test/sql/persistency.result index 8f89039750..e31d0bcfc7 100644 --- a/test/sql/persistency.result +++ b/test/sql/persistency.result @@ -4,6 +4,12 @@ env = require('test_run') test_run = env.new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- create space box.sql.execute("CREATE TABLE foobar (foo PRIMARY KEY, bar)") --- diff --git a/test/sql/persistency.test.lua b/test/sql/persistency.test.lua index e994a62efd..417d8c0982 100644 --- a/test/sql/persistency.test.lua +++ b/test/sql/persistency.test.lua @@ -1,5 +1,7 @@ env = require('test_run') test_run = env.new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- create space box.sql.execute("CREATE TABLE foobar (foo PRIMARY KEY, bar)") diff --git a/test/sql/savepoints.result b/test/sql/savepoints.result index e32c9b3099..8553dd81dc 100644 --- a/test/sql/savepoints.result +++ b/test/sql/savepoints.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- These tests check that SQL savepoints properly work outside -- transactions as well as inside transactions started in Lua. -- gh-3313 diff --git a/test/sql/savepoints.test.lua b/test/sql/savepoints.test.lua index 2d87b9e340..a4ed0612d2 100644 --- a/test/sql/savepoints.test.lua +++ b/test/sql/savepoints.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- These tests check that SQL savepoints properly work outside -- transactions as well as inside transactions started in Lua. diff --git a/test/sql/select-null.result b/test/sql/select-null.result index a229eb93b4..53bef1b508 100644 --- a/test/sql/select-null.result +++ b/test/sql/select-null.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- box.cfg() -- create space box.sql.execute("CREATE TABLE t3(id INT, a, b, PRIMARY KEY(id))") diff --git a/test/sql/select-null.test.lua b/test/sql/select-null.test.lua index a2c1266148..3e9cb816df 100644 --- a/test/sql/select-null.test.lua +++ b/test/sql/select-null.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- box.cfg() diff --git a/test/sql/sql-statN-index-drop.result b/test/sql/sql-statN-index-drop.result index c7e476f68a..a751eca678 100644 --- a/test/sql/sql-statN-index-drop.result +++ b/test/sql/sql-statN-index-drop.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- Initializing some things. box.sql.execute("CREATE TABLE t1(id PRIMARY KEY, a);") --- diff --git a/test/sql/sql-statN-index-drop.test.lua b/test/sql/sql-statN-index-drop.test.lua index bf4a752a9a..fe7e15b574 100644 --- a/test/sql/sql-statN-index-drop.test.lua +++ b/test/sql/sql-statN-index-drop.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- Initializing some things. box.sql.execute("CREATE TABLE t1(id PRIMARY KEY, a);") diff --git a/test/sql/suite.ini b/test/sql/suite.ini index 5f28f23a35..4504731273 100644 --- a/test/sql/suite.ini +++ b/test/sql/suite.ini @@ -3,6 +3,7 @@ core = tarantool description = sql tests script = app.lua use_unix_sockets = True +config = engine.cfg is_parallel = True lua_libs = lua/sql_tokenizer.lua release_disabled = errinj.test.lua view_delayed_wal.test.lua diff --git a/test/sql/tokenizer.result b/test/sql/tokenizer.result index 3868f6bd9d..9e50b87608 100644 --- a/test/sql/tokenizer.result +++ b/test/sql/tokenizer.result @@ -4,6 +4,12 @@ env = require('test_run') test_run = env.new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... sql_tokenizer = require('sql_tokenizer') --- ... diff --git a/test/sql/tokenizer.test.lua b/test/sql/tokenizer.test.lua index e368219658..7a69d12ed2 100644 --- a/test/sql/tokenizer.test.lua +++ b/test/sql/tokenizer.test.lua @@ -1,5 +1,7 @@ env = require('test_run') test_run = env.new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') sql_tokenizer = require('sql_tokenizer') diff --git a/test/sql/transition.result b/test/sql/transition.result index 7c4a2c8139..70fb2db40e 100644 --- a/test/sql/transition.result +++ b/test/sql/transition.result @@ -1,3 +1,12 @@ +test_run = require('test_run').new() +--- +... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- create space box.sql.execute("CREATE TABLE foobar (foo PRIMARY KEY, bar)") --- diff --git a/test/sql/transition.test.lua b/test/sql/transition.test.lua index 50ee7f569b..cae45aa17a 100644 --- a/test/sql/transition.test.lua +++ b/test/sql/transition.test.lua @@ -1,3 +1,7 @@ +test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') + -- create space box.sql.execute("CREATE TABLE foobar (foo PRIMARY KEY, bar)") diff --git a/test/sql/transitive-transactions.result b/test/sql/transitive-transactions.result index e617cf1458..da618d2cc3 100644 --- a/test/sql/transitive-transactions.result +++ b/test/sql/transitive-transactions.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute("pragma sql_default_engine=\'"..engine.."\'") +--- +... test_run:cmd("setopt delimiter ';'") --- - true @@ -105,6 +111,7 @@ box.space.PARENT:select(); - - [1, 1] ... box.sql.execute('PRAGMA defer_foreign_keys = 1;') +box.rollback() fk_defer(); --- ... diff --git a/test/sql/transitive-transactions.test.lua b/test/sql/transitive-transactions.test.lua index 718f951d35..f663bf672a 100644 --- a/test/sql/transitive-transactions.test.lua +++ b/test/sql/transitive-transactions.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute("pragma sql_default_engine=\'"..engine.."\'") test_run:cmd("setopt delimiter ';'") -- These tests are aimed at checking transitive transactions @@ -56,6 +58,7 @@ fk_defer(); box.space.CHILD:select(); box.space.PARENT:select(); box.sql.execute('PRAGMA defer_foreign_keys = 1;') +box.rollback() fk_defer(); box.space.CHILD:select(); box.space.PARENT:select(); diff --git a/test/sql/triggers.result b/test/sql/triggers.result index 90aa8a9991..dc0a2e57d6 100644 --- a/test/sql/triggers.result +++ b/test/sql/triggers.result @@ -4,6 +4,12 @@ env = require('test_run') test_run = env.new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- Get invariant part of the tuple; name and opts don't change. function immutable_part(data) local r = {} for i, l in pairs(data) do table.insert(r, {l.name, l.opts}) end return r end --- diff --git a/test/sql/triggers.test.lua b/test/sql/triggers.test.lua index 4c8813799f..e019c008ca 100644 --- a/test/sql/triggers.test.lua +++ b/test/sql/triggers.test.lua @@ -1,5 +1,7 @@ env = require('test_run') test_run = env.new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- Get invariant part of the tuple; name and opts don't change. function immutable_part(data) local r = {} for i, l in pairs(data) do table.insert(r, {l.name, l.opts}) end return r end diff --git a/test/sql/update-with-nested-select.result b/test/sql/update-with-nested-select.result index 419cebb611..51825a21d2 100644 --- a/test/sql/update-with-nested-select.result +++ b/test/sql/update-with-nested-select.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- box.cfg() -- create space box.sql.execute("CREATE TABLE t1(a integer primary key, b UNIQUE, e);"); diff --git a/test/sql/update-with-nested-select.test.lua b/test/sql/update-with-nested-select.test.lua index 7b90968ae1..f9f9b7aade 100644 --- a/test/sql/update-with-nested-select.test.lua +++ b/test/sql/update-with-nested-select.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- box.cfg() diff --git a/test/sql/upgrade.result b/test/sql/upgrade.result index 6f7b115c59..5e7d851095 100644 --- a/test/sql/upgrade.result +++ b/test/sql/upgrade.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... work_dir = 'sql/upgrade/1.10/' --- ... diff --git a/test/sql/upgrade.test.lua b/test/sql/upgrade.test.lua index 1619795fcd..cd4dd3cca9 100644 --- a/test/sql/upgrade.test.lua +++ b/test/sql/upgrade.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') work_dir = 'sql/upgrade/1.10/' test_run:cmd('create server upgrade with script="sql/upgrade/upgrade.lua", workdir="' .. work_dir .. '"') diff --git a/test/sql/view.result b/test/sql/view.result index b033f19aa5..62fbceeefa 100644 --- a/test/sql/view.result +++ b/test/sql/view.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... -- Verify that constraints on 'view' option are working. -- box.cfg() -- Create space and view. diff --git a/test/sql/view.test.lua b/test/sql/view.test.lua index 27f449f585..1d73133a2a 100644 --- a/test/sql/view.test.lua +++ b/test/sql/view.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') -- Verify that constraints on 'view' option are working. diff --git a/test/sql/view_delayed_wal.result b/test/sql/view_delayed_wal.result index 3b68edacc5..2e1047af5c 100644 --- a/test/sql/view_delayed_wal.result +++ b/test/sql/view_delayed_wal.result @@ -1,6 +1,12 @@ test_run = require('test_run').new() --- ... +engine = test_run:get_cfg('engine') +--- +... +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') +--- +... fiber = require('fiber') --- ... diff --git a/test/sql/view_delayed_wal.test.lua b/test/sql/view_delayed_wal.test.lua index cca75ad4af..62ab7d7999 100644 --- a/test/sql/view_delayed_wal.test.lua +++ b/test/sql/view_delayed_wal.test.lua @@ -1,4 +1,6 @@ test_run = require('test_run').new() +engine = test_run:get_cfg('engine') +box.sql.execute('pragma sql_default_engine=\''..engine..'\'') fiber = require('fiber') -- View reference counters are incremented before firing -- GitLab