From 828b8b364e5b770dc78118554902586fb27282b3 Mon Sep 17 00:00:00 2001 From: Mergen Imeev <imeevma@gmail.com> Date: Wed, 20 Feb 2019 17:08:47 +0300 Subject: [PATCH] sql: remove test gh-3733-pragma.test.lua MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @TarantoolBot document Title: changes in EXPLAIN and PRAGMA The most important change is that the column names for the result of the "EXPLAIN ...", "EXPLAIN QUERY PLAN ..." and "PRAGMA ..." commands are now defined. Example: box.cfg{listen = 3302} cn = require('net.box').connect(box.cfg.listen) cn:execute('EXPLAIN SELECT 1;') In addition, the 'case_sensitive_like', 'parser_trace' and 'sql_default_engine' pragmas now return their values if they are executed without arguments. For the first two pragmas, this value is their state, and for the latter, the default engine currently set in SQL. Example: box.sql.execute('PRAGMA case_sensitive_like;') And the last change is that now the execution of the “PRAGMA†command without determining which pragma to execute returns status for all flag-type pragmas. Flag-type pragmas are pragmas that have TRUE or FALSE as status. Example: box.sql.execute('PRAGMA;') --- test/sql-tap/gh-3733-pragma.test.lua | 166 ------------------------ test/sql-tap/pragma.test.lua | 186 ++++++++++++++++++++++++++- 2 files changed, 182 insertions(+), 170 deletions(-) delete mode 100755 test/sql-tap/gh-3733-pragma.test.lua diff --git a/test/sql-tap/gh-3733-pragma.test.lua b/test/sql-tap/gh-3733-pragma.test.lua deleted file mode 100755 index 0f856aaee0..0000000000 --- a/test/sql-tap/gh-3733-pragma.test.lua +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/env tarantool -test = require("sqltester") - -test:plan(16) - ---- ---- Prerequisites ---- -test:do_execsql_test( - "pragma-0.1", - [[ - DROP TABLE IF EXISTS gh3733; - CREATE TABLE gh3733(id INT primary key, f float); - INSERT INTO gh3733 VALUES(1, 0.1), (2, 0.2), (3, 0.3); - CREATE INDEX IDX ON GH3733 (id); - ]], { - -}) - ---- ---- pragma query_only is not supported ---- -test:do_catchsql_test( - "pragma-1.1", - [[ - pragma query_only; - ]], { - 1, "Pragma 'QUERY_ONLY' does not exist" -}) - ---- ---- pragma read_uncommitted is not supported ---- -test:do_catchsql_test( - "pragma-2.1", - [[ - pragma read_uncommitted; - ]], { - 1, "Pragma 'READ_UNCOMMITTED' does not exist" -}) - ---- ---- pragma index_list returns three columns in a row ---- -test:do_execsql_test( - "pragma-3.1", - [[ - pragma index_list(gh3733) - ]], { - -- <pragma-3.1> - 0, 'pk_unnamed_GH3733_1', 1, 1, 'IDX', 0 - -- </pragma-3.1> -}) - ---- ---- pragma index_list returns an empty tuple for unknown table ---- -test:do_execsql_test( - "pragma-4.1", - [[ - pragma index_list(fufel); - ]], { - -- <pragma-4.1> - -- </pragma-4.1> -}) - ---- ---- pragma index_info returns an empty tuple for unknown index ---- -test:do_execsql_test( - "pragma-5.1", - [[ - pragma index_info(gh3733.IDX) - ]], { - -- <pragma-5.1> - 0, 0, 'ID', 0, 'BINARY', 'integer' - -- </pragma-5.1> -}) - -test:do_execsql_test( - "pragma-5.2", - [[ - pragma index_info(no_table); - ]], { - -- <pragma-5.2> - -- </pragma-5.2> -}) - -test:do_execsql_test( - "pragma-5.3", - [[ - pragma index_info(wrong_table.IDX); - ]], { - -- <pragma-5.3> - -- </pragma-5.3> -}) - -test:do_execsql_test( - "pragma-5.4", - [[ - pragma index_info(gh3733.wrong_index); - ]], { - -- <pragma-5.4> - -- </pragma-5.4> -}) - ---- ---- pragma sql_default_engine accepts string values and rejects IDs ---- -test:do_catchsql_test( - "pragma-7.1", - [[ - pragma sql_default_engine(the_engine); - ]], { - 1, "Illegal parameters, string value is expected" -}) -test:do_catchsql_test( - "pragma-7.2", - [[ - pragma sql_default_engine(THE_ENGINE); - ]], { - 1, "Illegal parameters, string value is expected" -}) -test:do_catchsql_test( - "pragma-7.3", - [[ - pragma sql_default_engine("THE_ENGINE"); - ]], { - 1, "Illegal parameters, string value is expected" -}) - -test:do_catchsql_test( - "pragma-7.4", - [[ - pragma sql_default_engine('THE_ENGINE'); - ]], { - 1, "Space engine 'THE_ENGINE' does not exist" -}) - -test:do_catchsql_test( - "pragma-7.5", - [[ - pragma sql_default_engine(memtx); - ]], { - 1, "Illegal parameters, string value is expected" -}) - -test:do_catchsql_test( - "pragma-7.6", - [[ - pragma sql_default_engine("memtx"); - ]], { - 1, "Illegal parameters, string value is expected" -}) - -test:do_execsql_test( - "pragma-7.7", - [[ - pragma sql_default_engine('memtx'); - ]], { - -- <pragma-7.7> - - -- </pragma-7.7> -}) - -test:finish_test() diff --git a/test/sql-tap/pragma.test.lua b/test/sql-tap/pragma.test.lua index 935cb96e79..975a0e9371 100755 --- a/test/sql-tap/pragma.test.lua +++ b/test/sql-tap/pragma.test.lua @@ -1,7 +1,7 @@ #!/usr/bin/env tarantool test = require("sqltester") -test:plan(9) +test:plan(24) test:do_catchsql_test( "pragma-1.3", @@ -67,7 +67,7 @@ test:do_execsql_test( ]], { -- <pragma-3.1> 'vinyl' - -- <pragma-3.1> + -- </pragma-3.1> }) test:do_execsql_test( @@ -78,7 +78,7 @@ test:do_execsql_test( ]], { -- <pragma-3.2> 'memtx' - -- <pragma-3.2> + -- </pragma-3.2> }) -- Check that "PRAGMA case_sensitive_like" returns its status @@ -94,7 +94,185 @@ test:do_test( end, -- <pragma-3.3> 1 - -- <pragma-3.3> + -- </pragma-3.3> ) +-- +-- gh-3733: remove useless or obsolete pragmas +-- + +--- +--- Prerequisites +--- +test:execsql( + [[ + DROP TABLE IF EXISTS gh3733; + CREATE TABLE gh3733(id INT primary key, f float); + INSERT INTO gh3733 VALUES(1, 0.1), (2, 0.2), (3, 0.3); + CREATE INDEX IDX ON GH3733 (id); + ]]) + +--- +--- pragma query_only is not supported +--- +test:do_catchsql_test( + "pragma-4.1", + [[ + pragma query_only; + ]], { + -- <pragma-4.1> + 1, "Pragma 'QUERY_ONLY' does not exist" + -- </pragma-4.1> +}) + +--- +--- pragma read_uncommitted is not supported +--- +test:do_catchsql_test( + "pragma-5.1", + [[ + pragma read_uncommitted; + ]], { + -- <pragma-5.1> + 1, "Pragma 'READ_UNCOMMITTED' does not exist" + -- </pragma-5.1> +}) + +--- +--- pragma index_list returns three columns in a row +--- +test:do_execsql_test( + "pragma-6.1", + [[ + pragma index_list(gh3733) + ]], { + -- <pragma-6.1> + 0, 'pk_unnamed_GH3733_1', 1, 1, 'IDX', 0 + -- </pragma-6.1> +}) + +--- +--- pragma index_list returns an empty tuple for unknown table +--- +test:do_execsql_test( + "pragma-7.1", + [[ + pragma index_list(fufel); + ]], { + -- <pragma-7.1> + -- </pragma-7.1> +}) + +--- +--- pragma index_info returns an empty tuple for unknown index +--- +test:do_execsql_test( + "pragma-8.1", + [[ + pragma index_info(gh3733.IDX) + ]], { + -- <pragma-8.1> + 0, 0, 'ID', 0, 'BINARY', 'integer' + -- </pragma-8.1> +}) + +test:do_execsql_test( + "pragma-8.2", + [[ + pragma index_info(no_table); + ]], { + -- <pragma-8.2> + -- </pragma-8.2> +}) + +test:do_execsql_test( + "pragma-8.3", + [[ + pragma index_info(wrong_table.IDX); + ]], { + -- <pragma-8.3> + -- </pragma-8.3> +}) + +test:do_execsql_test( + "pragma-8.4", + [[ + pragma index_info(gh3733.wrong_index); + ]], { + -- <pragma-8.4> + -- </pragma-8.4> +}) + +--- +--- pragma sql_default_engine accepts string values and rejects IDs +--- +test:do_catchsql_test( + "pragma-9.1", + [[ + pragma sql_default_engine(the_engine); + ]], { + -- <pragma-9.1> + 1, "Illegal parameters, string value is expected" + -- </pragma-9.1> +}) + +test:do_catchsql_test( + "pragma-9.2", + [[ + pragma sql_default_engine(THE_ENGINE); + ]], { + -- <pragma-9.2> + 1, "Illegal parameters, string value is expected" + -- </pragma-9.2> +}) + +test:do_catchsql_test( + "pragma-9.3", + [[ + pragma sql_default_engine("THE_ENGINE"); + ]], { + -- <pragma-9.3> + 1, "Illegal parameters, string value is expected" + -- </pragma-9.3> +}) + +test:do_catchsql_test( + "pragma-9.4", + [[ + pragma sql_default_engine('THE_ENGINE'); + ]], { + -- <pragma-9.4> + 1, "Space engine 'THE_ENGINE' does not exist" + -- </pragma-9.4> +}) + +test:do_catchsql_test( + "pragma-9.5", + [[ + pragma sql_default_engine(memtx); + ]], { + -- <pragma-9.5> + 1, "Illegal parameters, string value is expected" + -- </pragma-9.5> +}) + +test:do_catchsql_test( + "pragma-9.6", + [[ + pragma sql_default_engine("memtx"); + ]], { + -- <pragma-9.6> + 1, "Illegal parameters, string value is expected" + -- </pragma-9.6> +}) + +test:do_execsql_test( + "pragma-9.7", + [[ + pragma sql_default_engine('memtx'); + ]], { + -- <pragma-9.7> + -- </pragma-9.7> +}) + test:finish_test() -- GitLab