Skip to content

Commit

Permalink
Merge pull request #6802 from ZeaLoVe/test-migration-05-06
Browse files Browse the repository at this point in the history
ci: migration stateless test 05_ddl and 06_show
  • Loading branch information
mergify[bot] authored Jul 26, 2022
2 parents 2302984 + 6a266ce commit d06ddcf
Show file tree
Hide file tree
Showing 172 changed files with 1,506 additions and 1,516 deletions.
28 changes: 24 additions & 4 deletions tests/compat/test-compat.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ pwd
BUILD_PROFILE="${BUILD_PROFILE:-debug}"

query_config_path="scripts/ci/deploy/config/databend-query-node-1.toml"
query_test_path="tests/suites/0_stateless/05_ddl"
query_test_path="tests/logictest"
bend_repo_url="https://github.com/datafuselabs/databend"

usage() {
Expand Down Expand Up @@ -186,16 +186,36 @@ run_test() {

echo " === Run metasrv related test: 05_ddl"

# Only run test on mysql handler
export DISABLE_HTTP_LOGIC_TEST=true
export DISABLE_CLICKHOUSE_LOGIC_TEST=true

if [ "$query_ver" = "current" ]; then
suite_path="tests/suites"
cd "$SCRIPT_PATH/../../tests/logictest" || exit
python3 main.py "_ddl_"
cd -
else
(
# download suites into ./old_suite
download_test_suite $query_ver
)
suite_path="old_suite/tests/suites"
# logictest dir include all suites and scripts fit old query
cd "old_suite/tests/logictest" || exit

# old logic test use NoneType is only support by python3.10
sed -i "/^from types.*/d" http_runner.py
sed -i "/^from types.*/d" mysql_runner.py
sed -i "s/NoneType/type(None)/g" http_runner.py
sed -i "s/NoneType/type(None)/g" mysql_runner.py

# logictest pattern argument change after v0.7.140
# old logic test does not support pattern filter
mv suites/gen/05_ddl .
rm -fr suites/*
mv 05_ddl suites/
python3 main.py
cd -
fi
./tests/databend-test --suites "$suite_path" --mode 'standalone' --run-dir 0_stateless -- '^05_*'
}

# -- main --
Expand Down
15 changes: 8 additions & 7 deletions tests/logictest/gen_suites.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"""

STATEMENT_QUERY = """statement query {query_options} {labels}
STATEMENT_QUERY = """statement query {query_options_with_labels}
{statement}
{results}
Expand Down Expand Up @@ -186,7 +186,7 @@ def mysql_fetch_results(sql):
continue

mysql_results = mysql_fetch_results(statement)
labels = ""
query_options_with_labels = f"{query_options}"

log.debug("sql: " + statement)
log.debug("mysql return: " + mysql_results)
Expand All @@ -199,20 +199,21 @@ def mysql_fetch_results(sql):
case_results = case_results + "\n" + RESULTS_TEMPLATE.format(
results_string=http_results, label_separate="---- http")

labels = "label(http)"
query_options_with_labels = f"{query_options} label(http)"
else:
case_results = RESULTS_TEMPLATE.format(
results_string=mysql_results, label_separate="----")

content_output = content_output + STATEMENT_QUERY.format(
query_options=query_options,
query_options_with_labels=query_options_with_labels,
statement=statement,
results=case_results,
labels=labels)
results=case_results)
else:
# ok statement
try:
http_client.query_with_session(statement)
# insert,drop,create does not need to execute by different handlers
if str.lower(statement).split()[0] not in ["insert", "drop", "create"]:
http_client.query_with_session(statement)
mysql_client.execute(statement)
except Exception as err:
log.warning(
Expand Down
97 changes: 35 additions & 62 deletions tests/logictest/suites/gen/05_ddl/05_0000_ddl_create_tables
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
statement ok
use default;

statement ok
DROP TABLE IF EXISTS t;

Expand All @@ -16,12 +13,6 @@ DROP TABLE IF EXISTS t4;
statement ok
CREATE TABLE t(c1 int) ENGINE = Null;

-- statement query I
-- SELECT COUNT(1) from system.tables where name = 't' and database = 'default';

----
-- 1

statement ok
CREATE TABLE IF NOT EXISTS t(c1 int) ENGINE = Null;

Expand All @@ -34,16 +25,22 @@ create table t2(a int,b int) Engine = Fuse;
statement ok
insert into t2 values(1,1),(2,2);

statement query I
statement query I
select a+b from t2;

----
----
2
4

statement error 2302
create table t2(a int,b int) Engine = Fuse;

statement error 2302
create table t2(a int,b int) Engine = Fuse;

statement error 1005
create table t2(a INT auto_increment);

statement error 2703
create table t3(a int,b int) engine=Memory CLUSTER BY(a);

Expand All @@ -65,6 +62,12 @@ DROP TABLE IF EXISTS t3;
statement ok
DROP TABLE IF EXISTS t4;

statement ok
DROP DATABASE IF EXISTS db1;

statement ok
DROP DATABASE IF EXISTS db2;

statement ok
CREATE DATABASE db1;

Expand All @@ -77,104 +80,74 @@ CREATE TABLE db1.test1(a INT, b INT null) Engine = Fuse;
statement ok
INSERT INTO db1.test1 VALUES (1, 2), (2, 3), (3, 4);

statement query T
SELECT '====BEGIN TEST CREATE TABLE LIKE STATEMENT====';

----
====BEGIN TEST CREATE TABLE LIKE STATEMENT====

statement ok
CREATE TABLE db2.test2 LIKE db1.test1 ENGINE=fuse;

statement ok
INSERT INTO db2.test2 VALUES (3, 5);

statement query I
statement query I
SELECT a+b FROM db2.test2;

----
----
8

statement query TTTTT
statement query TTTTT
DESCRIBE db2.test2;

----
----
a INT NO 0
b INT YES NULL

statement query T
SELECT '====END TEST CREATE TABLE LIKE STATEMENT====';

----
====END TEST CREATE TABLE LIKE STATEMENT====

statement query T
SELECT '====BEGIN TEST CREATE TABLE AS SELECT STATEMENT====';

----
====BEGIN TEST CREATE TABLE AS SELECT STATEMENT====

statement ok
CREATE TABLE db2.test3(a Varchar null, y Varchar null) ENGINE=fuse AS SELECT * FROM db1.test1;

statement query TTTTT
statement query TTTTT
DESCRIBE db2.test3;

----
----
a VARCHAR YES NULL
y VARCHAR YES NULL
b INT YES NULL

statement query T
statement query T
SELECT a FROM db2.test3;

----
----
1
2
3

statement ok
CREATE TABLE db2.test4(a Varchar null, y Varchar null) ENGINE=fuse AS SELECT b, a FROM db1.test1;

statement query TTTTT
statement query TTTTT
DESCRIBE db2.test4;

----
----
a VARCHAR YES NULL
y VARCHAR YES NULL
b INT YES NULL

statement query T
statement query T
SELECT a FROM db2.test4;

----
----
1
2
3

statement ok
CREATE TABLE db2.test5(a Varchar null, y Varchar null) ENGINE=fuse AS SELECT b FROM db1.test1;

statement query T
statement query T
SELECT a FROM db2.test5;

----
----
NULL
NULL
NULL

statement query T
SELECT '====END TEST CREATE TABLE AS SELECT STATEMENT====';

----
====END TEST CREATE TABLE AS SELECT STATEMENT====

statement query T
SELECT '====TIMESTAMP====';

----
====TIMESTAMP====

statement error 1065
create table db2.test6(id Int8, created timestamp DEFAULT CURRENT_TIMESTAMP);

Expand All @@ -184,24 +157,24 @@ create table db2.test6(id Int8, created timestamp DEFAULT today() + a);
statement ok
create table db2.test6(id Int8, created timestamp DEFAULT today() + 3);

statement query T
SELECT '====CREATE ALL DATA TYPE TABLE====';

----
====CREATE ALL DATA TYPE TABLE====

statement ok
create table db2.test7(tiny TINYINT, tiny_unsigned TINYINT UNSIGNED, smallint SMALLINT, smallint_unsigned SMALLINT UNSIGNED, int INT, int_unsigned INT UNSIGNED, bigint BIGINT, bigint_unsigned BIGINT UNSIGNED,float FLOAT, double DOUBLE, date DATE, datetime DATETIME, ts TIMESTAMP, str VARCHAR default '3', bool BOOLEAN, arr ARRAY, obj OBJECT, variant VARIANT);

statement ok
desc db2.test7;

statement ok
create transient table db2.test8(tiny TINYINT, tiny_unsigned TINYINT UNSIGNED, smallint SMALLINT, smallint_unsigned SMALLINT UNSIGNED, int INT, int_unsigned INT UNSIGNED, bigint BIGINT, bigint_unsigned BIGINT UNSIGNED,float FLOAT, double DOUBLE, date DATE, datetime DATETIME, ts TIMESTAMP, str VARCHAR default '3', bool BOOLEAN, arr ARRAY, obj OBJECT, variant VARIANT);

statement ok
desc db2.test8;

statement ok
DROP DATABASE db1;

statement ok
DROP DATABASE db2;

statement error 1002
CREATE TABLE system.test(a INT);
CREATE TABLE system.test(a INT);

Loading

1 comment on commit d06ddcf

@vercel
Copy link

@vercel vercel bot commented on d06ddcf Jul 26, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

databend – ./

databend.vercel.app
databend-git-main-databend.vercel.app
databend-databend.vercel.app
databend.rs

Please sign in to comment.