From d1f33232850903bfd35ac66a3cdcbfb9846c8c08 Mon Sep 17 00:00:00 2001 From: nauta <870284156@qq.com> Date: Thu, 24 Oct 2024 20:21:55 +0800 Subject: [PATCH] improve docs and update outdate test cases (#469) ### What problem were solved in this pull request? Issue Number: close #468 --------- Co-authored-by: wangyunlai --- docs/docs/game/introduction.md | 2 +- docs/docs/game/miniob-vectordb.md | 21 +- docs/mkdocs.yml | 2 +- test/case/README.md | 14 +- .../result/primary-aggregation-func.result | 99 -- .../result/primary-complex-sub-query.result | 113 -- test/case/result/primary-date.result | 69 - test/case/result/primary-drop-table.result | 69 - test/case/result/primary-expression.result | 77 - test/case/result/primary-group-by.result | 81 - test/case/result/primary-insert.result | 22 - test/case/result/primary-join-tables.result | 1375 ----------------- test/case/result/primary-multi-index.result | 169 -- test/case/result/primary-null.result | 184 --- test/case/result/primary-order-by.result | 181 --- test/case/result/primary-select-meta.result | 13 - test/case/result/primary-select-tables.result | 107 -- .../result/primary-simple-sub-query.result | 109 -- test/case/result/primary-text.result | 50 - test/case/result/primary-unique.result | 24 - test/case/result/primary-update.result | 81 - test/case/test/primary-insert.test | 13 - test/case/test/primary-null.test | 6 +- test/case/test/primary-select-meta.test | 9 - test/case/test/primary-select-tables.test | 41 - 25 files changed, 31 insertions(+), 2900 deletions(-) delete mode 100644 test/case/result/primary-aggregation-func.result delete mode 100644 test/case/result/primary-complex-sub-query.result delete mode 100644 test/case/result/primary-date.result delete mode 100644 test/case/result/primary-drop-table.result delete mode 100644 test/case/result/primary-expression.result delete mode 100644 test/case/result/primary-group-by.result delete mode 100644 test/case/result/primary-insert.result delete mode 100644 test/case/result/primary-join-tables.result delete mode 100644 test/case/result/primary-multi-index.result delete mode 100644 test/case/result/primary-null.result delete mode 100644 test/case/result/primary-order-by.result delete mode 100644 test/case/result/primary-select-meta.result delete mode 100644 test/case/result/primary-select-tables.result delete mode 100644 test/case/result/primary-simple-sub-query.result delete mode 100644 test/case/result/primary-text.result delete mode 100644 test/case/result/primary-unique.result delete mode 100644 test/case/result/primary-update.result delete mode 100644 test/case/test/primary-insert.test delete mode 100644 test/case/test/primary-select-meta.test delete mode 100644 test/case/test/primary-select-tables.test diff --git a/docs/docs/game/introduction.md b/docs/docs/game/introduction.md index 1865319b5..f75ded41f 100644 --- a/docs/docs/game/introduction.md +++ b/docs/docs/game/introduction.md @@ -12,7 +12,7 @@ title: OceanBase 数据库大赛 ## 训练营 [OceanBase 训练营](https://open.oceanbase.com/train)是大赛测试使用的平台,同时也可以用于日常训练测试。 -训练营是一个自动化黑盒测试平台。同学们可以按照题目的描述要求,基于MiniOB实现相应的SQL功能,然后将自己的代码提交至训练营做测试验证,最终得到测试结果。 +训练营是一个自动化黑盒测试平台。同学们可以按照题目的描述要求,基于MiniOB实现相应的SQL功能,然后将自己的代码提交至训练营做测试验证,最终得到测试结果。训练营中 MiniOB 题目的测试环境为 Ubuntu 22.04, 编译器 为 gcc 11.4, CPU 为 Intel x86_64(Intel(R) Xeon(R) Platinum 8369B CPU)。 在开始参加大赛或者训练营之前,需要创建自己的代码仓库,这里有一个github的使用说明:[大赛手把手入门教程](./github-introduction.md) diff --git a/docs/docs/game/miniob-vectordb.md b/docs/docs/game/miniob-vectordb.md index 3e6ae2de9..ca4e8e8b9 100644 --- a/docs/docs/game/miniob-vectordb.md +++ b/docs/docs/game/miniob-vectordb.md @@ -28,11 +28,14 @@ title: MiniOB 向量数据库 本次赛题,需要选手在 MiniOB 的基础上实现向量数据库的基本功能,向量数据库的功能被拆解为如下几个题目。 +注意:在实现向量数据库相关题目时,不限制向量检索算法的实现方式,可以基于开源的第三方库实现,也可以自行实现。 + ### 题目一:向量类型基础功能 * 向量类型 * 语法:`vector(size)`,其中,size 表示向量的维度(必须指定) * 最大支持维度为 16000(在基础功能中只需要支持最大 1000 维向量即可) * 向量类型中的浮点数最多保留两位小数,并且去掉多余的0 + * 向量类型中每个元素都是数值类型(包括int 和 float 类型)。 * 支持创建包含向量类型的表: ```sql CREATE TABLE items (id int, embedding vector(3)); @@ -45,7 +48,7 @@ INSERT INTO items VALUES (1, '[1,2,3]'); ```sql select embedding + '[1.5,2.3,3.3]', embedding - '[1,2,3]', '[1,2,3]' - embedding from items where embedding > '[0,0,0]'; ``` -其中,算术运算为逐个元素运算,如 `[1,2,3] + [1,1,1] = [2,3,4]`;比较运算为逐个元素的字典序比较,如`[1,2,3]<[1,2,4], [2,1,2]>[1,2,2]` +其中,算术运算为逐个元素运算,如 `[1,2,3] + [1,1,1] = [2,3,4], [1,2,3] - [1,1,1]=[0,1,2], [1,2] * [1,3] = [1,6]`;比较运算为逐个元素的字典序比较。即两个向量比较时,从左到右逐个数值进行比较,如果某个位置的数值不同,则根据该位置的数值大小比较结果作为向量的比较结果,举例:`[1,2,3]<[1,2,4], [2,1,2]>[1,2,2]` * 支持距离表达式计算: * l2_distance @@ -89,7 +92,7 @@ IVF-Flat 是一种常见的高效近似最近邻(Approximate Nearest Neighbor 以图像搜索为例的 IVF-Flat 向量索引工作流程如下: 1. 首先使用 K-Means 算法将所有图像的特征向量分成 1000 个簇。每个簇表示一部分相似的图片。例如,簇 1 可能包含大部分是风景图像的向量,簇 2 可能包含大部分是人物图像的向量,以此类推。对于每个簇,向量索引都维护一个倒排文件索引,存储属于这个簇的所有图像的索引。 比如,簇 1 对应的倒排文件索引可能包括 [image_23, image_45, image_78...],这些是属于簇 1 的图像的索引。 -1. 查询过程:用户指定一张新图像进行搜索。首先,将这张图片通过同样的特征提取模型转换成一个高维向量。然后,通过计算这个向量与1000个质心的距离,找到离它最近的几个质心(假设是前5个)。在这几个质心对应的簇中,你进一步进行精确的向量搜索,找到最相似的图像。 +2. 查询过程:用户指定一张新图像进行搜索。首先,将这张图片通过同样的特征提取模型转换成一个高维向量。然后,通过计算这个向量与1000个质心的距离,找到离它最近的几个质心(假设是前5个)。在这几个质心对应的簇中,你进一步进行精确的向量搜索,找到最相似的图像。 向量索引语法: @@ -98,7 +101,7 @@ CREATE VECTOR INDEX vector_idx ON items (embedding) WITH (distance=l2_distance, type=ivfflat, lists=245, probes=5); ``` -其中 embedding 是向量索引列,必须指定是 vector 类型,`VECTOR INDEX` 必须搭配使用。vector_idx 是向量索引名,`WITH` 后面为创建向量索引的基本参数, 括号内部是一个表达式列表 其中的 distance 表示距离算法,必须是 `inner_product`,`l2_distance`,`cosine_distance` 其中的一种,type 为索引算法类型,当前只支持 ivfflat。distance 和 type 必须指定。注意:所有的关键字都是大小写不敏感的。 +其中 embedding 是向量索引列,必须指定是 vector 类型,`VECTOR INDEX` 必须搭配使用。vector_idx 是向量索引名,`WITH` 后面为创建向量索引的基本参数, 括号内部是一个表达式列表 其中的 `distance` 表示距离算法,必须是 `inner_product`,`l2_distance`,`cosine_distance` 其中的一种,`type` 为索引算法类型,当前只支持 ivfflat。`lists` 为 ivfflat 索引构建期间创建的簇的数量。`probes` 为一个向量检索时参数,用于确定查询期间要查询的簇的数量。注意:所有的关键字都是大小写不敏感的。 邻近向量检索语法: ```sql @@ -112,6 +115,7 @@ select column_name1,column_name2, ... from table_name order by vector_distance_f * 要求limit子句必须是一个整数常量表达式 本题目中只需要支持: + 1. 创建 Ivf-Flat 向量索引(本题目不考察 ANN 查询)。 2. 当查询为邻近向量检索且命中向量索引时,需要将 order by + limit 的查询计划改写为通过向量索引进行检索的查询计划。 @@ -142,6 +146,7 @@ SELECT * FROM TAB_VEC ORDER BY L2_DISTANCE(B, '[1,2,3]') LIMIT 1; 赛题测试程序中运行的 ann-benchmarks 只针对 `fashion-mnist-784-euclidean` 数据集进行测试,`--runs` 参数为1,测试使用的 python 脚本与 [ann-benchmarks](https://github.com/nautaa/ann-benchmarks/tree/miniob_ann) 完全相同,指定向量索引参数 `probes = 5, lists = 245`。 测试程序不对性能做过多的限制,满足如下要求即为通过: + 1. 要求在 10 分钟内完成 ann-benchmarks 的整个运行(即包括:插入数据,创建索引,ANN 查询,不包括下载数据集的时间)。 2. 要求 ANN 查询的每秒查询数(QPS)达到 100 qps 3. 要求 ANN 查询的召回率(recall)达到 0.90 @@ -151,27 +156,27 @@ SELECT * FROM TAB_VEC ORDER BY L2_DISTANCE(B, '[1,2,3]') LIMIT 1; #### 在 MiniOB 上运行 ann-benchmark -1. 下载 ann-benchmarks 代码 +* 下载 ann-benchmarks 代码 ``` git clone https://github.com/nautaa/ann-benchmarks.git -b miniob_ann ``` -2. 安装所需 python 依赖 +* 安装所需 python 依赖 ``` cd ann-benchmarks/ pip install -r requirements.txt ``` -3. 以 mysql 通讯协议且监听 unix socket 的方式启动 miniob. +* 以 mysql 通讯协议且监听 unix socket 的方式启动 miniob. ```bash # 示例命令 /root/miniob/build_release/bin/observer -s /tmp/miniob.sock -P mysql ``` -4. 运行 ann-benchmark. +* 运行 ann-benchmark. 注意:需要将 `algorithms/miniob/config.yml` 中的 `arg_groups: [{unix_socket: "/tmp/miniob.sock"}]` 修改为 miniob 实际使用的 unix socket 文件地址 ```bash # 示例命令 python3 run.py --dataset fashion-mnist-784-euclidean --docker-tag ann-benchmarks-miniob --local --timeout 100 --runs 1 ``` -5. 生成运行结果. +* 生成运行结果. ```bash # 示例命令 python3 plot.py --dataset fashion-mnist-784-euclidean diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 8c8fbca51..9e4522032 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -14,7 +14,7 @@ nav: - 运行: how_to_run.md - 开发环境: - dev-env/introduction.md - - dev-env/dev_by_gitpod.md + - dev-env/dev_by_online.md - dev-env/how-to-dev-using-docker.md - dev-env/how_to_dev_in_docker_container_by_vscode.md - dev-env/how_to_dev_in_docker_container_by_vscode_on_windows.md diff --git a/test/case/README.md b/test/case/README.md index 47f27451c..633271461 100644 --- a/test/case/README.md +++ b/test/case/README.md @@ -6,12 +6,24 @@ miniob自动化功能测试 python3 miniob_test.py ``` +运行指定测试用例 +```bash +python3 miniob_test.py --test-cases=`case-name` --report-only +``` + +> 把`case-name` 换成你想测试的用例名称。 +> 如果要运行多个测试用例,则在 --test-cases 参数中使用 ',' 分隔写多个即可 + +**注意**: 由于当前绝大部分测试已经没有result文件,所以无法正常测试。示例命令中增加了参数 `--report-only` 就不会真正的运行测试。 + +你可以设计自己的测试用例,并填充 result 文件后,删除 `--report-only` 参数进行测试。你可以用这种方法进行日常回归测试,防止在实现新功能时破坏了之前编写的功能。 + 运行 basic 测试用例 ```bash python3 miniob_test.py --test-cases=basic ``` -> 如果要运行多个测试用例,则在 --test-cases 参数中使用 ',' 分隔写多个即可 +注意:MiniOB 的题目要求是运行结果与 MySQL8.0 的结果一致,因此删除了过时的结果文件。如果不清楚某个测试用例的预期结果,参考 MySQL8.0 的运行结果即可。 更多运行方法和参数可以参考 miniob_test.py diff --git a/test/case/result/primary-aggregation-func.result b/test/case/result/primary-aggregation-func.result deleted file mode 100644 index c4f152051..000000000 --- a/test/case/result/primary-aggregation-func.result +++ /dev/null @@ -1,99 +0,0 @@ -INITIALIZATION -CREATE TABLE aggregation_func(id int, num int, price float, addr char, birthday date); -SUCCESS - -INSERT INTO aggregation_func VALUES (1, 18, 10.0, 'abc', '2020-01-01'); -SUCCESS -INSERT INTO aggregation_func VALUES (2, 15, 20.0, 'abc', '2010-01-11'); -SUCCESS -INSERT INTO aggregation_func VALUES (3, 12, 30.0, 'def', '2021-01-21'); -SUCCESS -INSERT INTO aggregation_func VALUES (4, 15, 30.0, 'dei', '2021-01-31'); -SUCCESS - -1. COUNT -SELECT count(*) FROM aggregation_func; -COUNT(*) -4 - -SELECT count(num) FROM aggregation_func; -COUNT(NUM) -4 - -2. MIN -SELECT min(num) FROM aggregation_func; -MIN(NUM) -12 - -SELECT min(price) FROM aggregation_func; -MIN(PRICE) -10 - -SELECT min(addr) FROM aggregation_func; -MIN(ADDR) -ABC - -3. MAX -SELECT max(num) FROM aggregation_func; -MAX(NUM) -18 - -SELECT max(price) FROM aggregation_func; -MAX(PRICE) -30 - -SELECT max(addr) FROM aggregation_func; -MAX(ADDR) -DEI - -4. AVG -SELECT avg(num) FROM aggregation_func; -AVG(NUM) -15 - -SELECT avg(price) FROM aggregation_func; -AVG(PRICE) -22.5 - -5. ERROR WITH * -SELECT min(*) FROM aggregation_func; -FAILURE -SELECT max(*) FROM aggregation_func; -FAILURE -SELECT avg(*) FROM aggregation_func; -FAILURE - -6. ERROR WITH REDUNDANT COLUMNS -SELECT count(*,num) FROM aggregation_func; -FAILURE -SELECT min(num,price) FROM aggregation_func; -FAILURE -SELECT max(num,price) FROM aggregation_func; -FAILURE -SELECT avg(num,price) FROM aggregation_func; -FAILURE - -7. ERROR WITH EMPTY COLUMNS -SELECT count() FROM aggregation_func; -FAILURE -SELECT min() FROM aggregation_func; -FAILURE -SELECT max() FROM aggregation_func; -FAILURE -SELECT avg() FROM aggregation_func; -FAILURE - -8. ERROR WITH NON-EXISTENT COLUMNS -SELECT count(id2) FROM aggregation_func; -FAILURE -SELECT min(id2) FROM aggregation_func; -FAILURE -SELECT max(id2) FROM aggregation_func; -FAILURE -SELECT avg(id2) FROM aggregation_func; -FAILURE - -9. SELECT MANY AGGREGATION -SELECT min(num),max(num),avg(num) FROM aggregation_func; -MIN(NUM) | MAX(NUM) | AVG(NUM) -12 | 18 | 15 diff --git a/test/case/result/primary-complex-sub-query.result b/test/case/result/primary-complex-sub-query.result deleted file mode 100644 index d499849ba..000000000 --- a/test/case/result/primary-complex-sub-query.result +++ /dev/null @@ -1,113 +0,0 @@ -INITIALIZATION -CREATE TABLE csq_1(id int, col1 int, feat1 float); -SUCCESS -CREATE TABLE csq_2(id int, col2 int, feat2 float); -SUCCESS -CREATE TABLE csq_3(id int, col3 int, feat3 float); -SUCCESS -CREATE TABLE csq_4(id int, col4 int, feat4 float); -SUCCESS - -INSERT INTO csq_1 VALUES (1, 4, 11.2); -SUCCESS -INSERT INTO csq_1 VALUES (2, 2, 12.0); -SUCCESS -INSERT INTO csq_1 VALUES (3, 3, 13.5); -SUCCESS -INSERT INTO csq_2 VALUES (1, 2, 13.0); -SUCCESS -INSERT INTO csq_2 VALUES (2, 7, 10.5); -SUCCESS -INSERT INTO csq_2 VALUES (5, 3, 12.6); -SUCCESS -INSERT INTO csq_3 VALUES (1, 2, 11.0); -SUCCESS -INSERT INTO csq_3 VALUES (3, 6, 16.5); -SUCCESS -INSERT INTO csq_3 VALUES (5, 5, 14.6); -SUCCESS - -1. SELECT -select * from csq_1 where id in (select csq_2.id from csq_2 where csq_2.id in (select csq_3.id from csq_3)); -1 | 4 | 11.2 -ID | COL1 | FEAT1 - -select * from csq_1 where id in (select csq_2.id from csq_2 where csq_2.id not in (select csq_3.id from csq_3)); -2 | 2 | 12 -ID | COL1 | FEAT1 - -select * from csq_1 where col1 not in (select csq_2.col2 from csq_2 where csq_2.id not in (select csq_3.id from csq_3)); -1 | 4 | 11.2 -2 | 2 | 12 -3 | 3 | 13.5 -ID | COL1 | FEAT1 - -select * from csq_1 where col1 not in (select csq_2.col2 from csq_2 where csq_2.id in (select csq_3.id from csq_3)); -1 | 4 | 11.2 -ID | COL1 | FEAT1 - -select * from csq_1 where col1 > (select avg(csq_2.col2) from csq_2 where csq_2.feat2 >= (select min(csq_3.feat3) from csq_3)); -1 | 4 | 11.2 -3 | 3 | 13.5 -ID | COL1 | FEAT1 - -select * from csq_1 where (select avg(csq_2.col2) from csq_2 where csq_2.feat2 > (select min(csq_3.feat3) from csq_3)) = col1; -ID | COL1 | FEAT1 - -select * from csq_1 where (select avg(csq_2.col2) from csq_2) <> (select avg(csq_3.col3) from csq_3); -1 | 4 | 11.2 -2 | 2 | 12 -3 | 3 | 13.5 -ID | COL1 | FEAT1 - -select * from csq_1 where feat1 > (select min(csq_2.feat2) from csq_2) and col1 <= (select min(csq_3.col3) from csq_3); -2 | 2 | 12 -ID | COL1 | FEAT1 - -select * from csq_1 where (select max(csq_2.feat2) from csq_2) > feat1 and col1 > (select min(csq_3.col3) from csq_3); -1 | 4 | 11.2 -ID | COL1 | FEAT1 - -select * from csq_1 where (select max(csq_2.feat2) from csq_2) > feat1 and (select min(csq_3.col3) from csq_3) < col1; -1 | 4 | 11.2 -ID | COL1 | FEAT1 - -select * from csq_1 where feat1 <> (select avg(csq_2.feat2) from csq_2 where csq_2.feat2 > csq_1.feat1); -1 | 4 | 11.2 -2 | 2 | 12 -ID | COL1 | FEAT1 - -select * from csq_1 where col1 not in (select csq_2.col2 from csq_2 where csq_2.id in (select csq_3.id from csq_3 where csq_1.id = csq_3.id)); -1 | 4 | 11.2 -2 | 2 | 12 -3 | 3 | 13.5 -ID | COL1 | FEAT1 - -2. SELECT WITH EMPTY TABLE -select * from csq_1 where id in (select csq_2.id from csq_2 where csq_2.id in (select csq_3.id from csq_3 where 1=0)); -ID | COL1 | FEAT1 -select * from csq_1 where id in (select csq_2.id from csq_2 where csq_2.id in (select csq_3.id from csq_3 where 1=0) and 1=0); -ID | COL1 | FEAT1 -select * from csq_1 where col1 not in (select csq_2.col2 from csq_2 where csq_2.id not in (select csq_3.id from csq_3 where 1=0)); -1 | 4 | 11.2 -ID | COL1 | FEAT1 -select * from csq_1 where col1 not in (select csq_2.col2 from csq_2 where csq_2.id not in (select csq_3.id from csq_3) and 1=0); -1 | 4 | 11.2 -2 | 2 | 12 -3 | 3 | 13.5 -ID | COL1 | FEAT1 -select * from csq_3 where feat3 < (select max(csq_2.feat2) from csq_2 where csq_2.id not in (select csq_3.id from csq_3 where 1=0)); -1 | 2 | 11 -ID | COL3 | FEAT3 -select * from csq_3 where feat3 < (select max(csq_2.feat2) from csq_2 where csq_2.id not in (select csq_3.id from csq_3 ) and 1=0); -ID | COL3 | FEAT3 - -3. ERROR -select * from csq_1 where col1 = (select csq_2.col2 from csq_2); -FAILURE -select * from csq_1 where col1 = (select * from csq_2); -FAILURE -select * from csq_1 where col1 in (select * from csq_2); -FAILURE -select * from csq_1 where col1 not in (select * from csq_2); -FAILURE diff --git a/test/case/result/primary-date.result b/test/case/result/primary-date.result deleted file mode 100644 index 1485ec30c..000000000 --- a/test/case/result/primary-date.result +++ /dev/null @@ -1,69 +0,0 @@ -INITIALIZATION -CREATE TABLE DATE_TABLE(ID INT, U_DATE DATE); -SUCCESS -CREATE INDEX INDEX_ID ON DATE_TABLE(U_DATE); -SUCCESS - -1. INSERT NORMAL DATE DATA -INSERT INTO DATE_TABLE VALUES (1,'2020-01-21'); -SUCCESS -INSERT INTO DATE_TABLE VALUES (2,'2020-10-21'); -SUCCESS -INSERT INTO DATE_TABLE VALUES (3,'2020-1-01'); -SUCCESS -INSERT INTO DATE_TABLE VALUES (4,'2020-01-1'); -SUCCESS -INSERT INTO DATE_TABLE VALUES (5,'2019-12-21'); -SUCCESS -INSERT INTO DATE_TABLE VALUES (6,'2016-2-29'); -SUCCESS -INSERT INTO DATE_TABLE VALUES (7,'1970-1-1'); -SUCCESS -INSERT INTO DATE_TABLE VALUES (8,'2000-01-01'); -SUCCESS -INSERT INTO DATE_TABLE VALUES (9,'2038-1-19'); -SUCCESS - -2. COMPARE DATE DATA -SELECT * FROM DATE_TABLE WHERE U_DATE>'2020-1-20'; -1 | 2020-01-21 -2 | 2020-10-21 -9 | 2038-01-19 -ID | U_DATE -SELECT * FROM DATE_TABLE WHERE U_DATE<'2019-12-31'; -5 | 2019-12-21 -6 | 2016-02-29 -7 | 1970-01-01 -8 | 2000-01-01 -ID | U_DATE -SELECT * FROM DATE_TABLE WHERE U_DATE='2020-1-1'; -3 | 2020-01-01 -4 | 2020-01-01 -ID | U_DATE - -3. DELETE DATA -DELETE FROM DATE_TABLE WHERE U_DATE>'2012-2-29'; -SUCCESS -SELECT * FROM DATE_TABLE; -7 | 1970-01-01 -8 | 2000-01-01 -ID | U_DATE - -4. CHECK INVALID DATE DATA -SELECT * FROM DATE_TABLE WHERE U_DATE='2017-2-29'; -FAILURE -SELECT * FROM DATE_TABLE WHERE U_DATE='2017-21-29'; -FAILURE -SELECT * FROM DATE_TABLE WHERE U_DATE='2017-12-32'; -FAILURE -SELECT * FROM DATE_TABLE WHERE U_DATE='2017-11-31'; -FAILURE - -INSERT INTO DATE_TABLE VALUES (10,'2017-2-29'); -FAILURE -INSERT INTO DATE_TABLE VALUES (11,'2017-21-29'); -FAILURE -INSERT INTO DATE_TABLE VALUES (12,'2017-12-32'); -FAILURE -INSERT INTO DATE_TABLE VALUES (13,'2017-11-31'); -FAILURE diff --git a/test/case/result/primary-drop-table.result b/test/case/result/primary-drop-table.result deleted file mode 100644 index 39b2331ff..000000000 --- a/test/case/result/primary-drop-table.result +++ /dev/null @@ -1,69 +0,0 @@ -1. DROP EMPTY TABLE -CREATE TABLE Drop_table_1(id int, t_name char); -SUCCESS -DROP TABLE Drop_table_1; -SUCCESS - -2. DROP NON-EMPTY TABLE -CREATE TABLE Drop_table_2(id int, t_name char); -SUCCESS -INSERT INTO Drop_table_2 VALUES (1,'OB'); -SUCCESS -DROP TABLE Drop_table_2; -SUCCESS - -3. CHECK THE ACCURACY OF DROPPING TABLE -CREATE TABLE Drop_table_3(id int, t_name char); -SUCCESS -INSERT INTO Drop_table_3 VALUES (1,'OB'); -SUCCESS -SELECT * FROM Drop_table_3; -1 | OB -ID | T_NAME -DROP TABLE Drop_table_3; -SUCCESS -INSERT INTO Drop_table_3 VALUES (1,'OB'); -FAILURE -SELECT * FROM Drop_table_3; -FAILURE -DELETE FROM Drop_table_3 WHERE id = 3; -FAILURE -CREATE TABLE Drop_table_3(id int, t_name char); -SUCCESS -SELECT * FROM Drop_table_3; -ID | T_NAME - -4. DROP NON-EXISTENT TABLE -CREATE TABLE Drop_table_4(id int, t_name char); -SUCCESS -DROP TABLE Drop_table_4; -SUCCESS -DROP TABLE Drop_table_4; -FAILURE -DROP TABLE Drop_table_4_1; -FAILURE - -5. CREATE A TABLE WHICH HAS DROPPED -CREATE TABLE Drop_table_5(id int, t_name char); -SUCCESS -DROP TABLE Drop_table_5; -SUCCESS -CREATE TABLE Drop_table_5(id int, t_name char); -SUCCESS -SELECT * FROM Drop_table_5; -ID | T_NAME - -6. DROP A TABLE WITH INDEX -CREATE TABLE Drop_table_6(id int, t_name char); -SUCCESS -CREATE INDEX index_id on Drop_table_6(id); -SUCCESS -INSERT INTO Drop_table_6 VALUES (1,'OB'); -SUCCESS -SELECT * FROM Drop_table_6; -1 | OB -ID | T_NAME -DROP TABLE Drop_table_6; -SUCCESS -SELECT * FROM Drop_table_6; -FAILURE diff --git a/test/case/result/primary-expression.result b/test/case/result/primary-expression.result deleted file mode 100644 index 4e683c036..000000000 --- a/test/case/result/primary-expression.result +++ /dev/null @@ -1,77 +0,0 @@ -INITIALIZATION -create table exp_table(id int, col1 int, col2 int, col3 float, col4 float); -SUCCESS -insert into exp_table VALUES (1, 1, 1, 1.0, 1.5); -SUCCESS -insert into exp_table VALUES (2, 2, -2, 5.5, 1.0); -SUCCESS -insert into exp_table VALUES (3, 3, 4, 5.0, 4.0); -SUCCESS - -1. SELECT -select * from exp_table where 1 = 5/4; -ID | COL1 | COL2 | COL3 | COL4 -select * from exp_table where col1-2 > 0; -3 | 3 | 4 | 5 | 4 -ID | COL1 | COL2 | COL3 | COL4 -select * from exp_table where 2+col2 < 1; -2 | 2 | -2 | 5.5 | 1 -ID | COL1 | COL2 | COL3 | COL4 -select * from exp_table where col1*col2 < 0; -2 | 2 | -2 | 5.5 | 1 -ID | COL1 | COL2 | COL3 | COL4 - -select * from exp_table where 5/4 = 1; -ID | COL1 | COL2 | COL3 | COL4 -select * from exp_table where 0 < col1-2; -3 | 3 | 4 | 5 | 4 -ID | COL1 | COL2 | COL3 | COL4 -select * from exp_table where 1.0 > 2+col2; -2 | 2 | -2 | 5.5 | 1 -ID | COL1 | COL2 | COL3 | COL4 -select * from exp_table where -0 < col1-col2; -2 | 2 | -2 | 5.5 | 1 -ID | COL1 | COL2 | COL3 | COL4 -select * from exp_table where 0 < -2+col1; -3 | 3 | 4 | 5 | 4 -ID | COL1 | COL2 | COL3 | COL4 - -select * from exp_table where 1+1 = 2*1.0; -1 | 1 | 1 | 1 | 1.5 -2 | 2 | -2 | 5.5 | 1 -3 | 3 | 4 | 5 | 4 -ID | COL1 | COL2 | COL3 | COL4 -select * from exp_table where 5/4*8 < 4+col2*col3/2; -3 | 3 | 4 | 5 | 4 -ID | COL1 | COL2 | COL3 | COL4 -select * from exp_table where 5/4*8 < (4+col2)*col3/2; -3 | 3 | 4 | 5 | 4 -ID | COL1 | COL2 | COL3 | COL4 - -select id,-(col2*(-1)+1)+(col4+2)*(col1+col3*2),(4+col2)*col3/2 from exp_table where -(col2*(-1)+1)+(col4+2)*(col1+col3*2) > (4+col2)*col3/2; -1 | 10.5 | 2.5 -2 | 36 | 5.5 -3 | 81 | 20 -ID | -(COL2*(-1)+1)+(COL4+2)*(COL1+COL3*2) | (4+COL2)*COL3/2 -select id,col1,col2,col3,col4,6-(col2*(1+col1))+(col4+2)/(1+col1*4+col3*2) from exp_table where 6-(col2*(1+col1))+(col4+2)/(1+col1*4+col3*2) > 5; -2 | 2 | -2 | 5.5 | 1 | 12.15 -ID | COL1 | COL2 | COL3 | COL4 | 6-(COL2*(1+COL1))+(COL4+2)/(1+COL1*4+COL3*2) -select id,col1,col2,col3,col4,3*col1/(col2+2) from exp_table where 3*col1/(col2+2) > 1; -3 | 3 | 4 | 5 | 4 | 1.5 -ID | COL1 | COL2 | COL3 | COL4 | 3*COL1/(COL2+2) -select id,3*col1/(col2+2) from exp_table where 3*col1/(col2+2)+1/0 > 1; -ID | 3*COL1/(COL2+2) -select * from exp_table where 1/0 = 1/0; -ID | COL1 | COL2 | COL3 | COL4 - -2. EXPRESSION ABOUT MANY TABLES -create table exp_table2(id int, col1 int); -SUCCESS -insert into exp_table2 VALUES (1, 1); -SUCCESS -insert into exp_table2 VALUES (2, 3); -SUCCESS -select exp_table.id,3*exp_table2.col1/(exp_table.col2+2) from exp_table,exp_table2 where 3*exp_table2.col1/(exp_table.col2+2)>1; -1 | 3 -3 | 1.5 -exp_table.ID | 3*EXP_TABLE2.COL1/(EXP_TABLE.COL2+2) diff --git a/test/case/result/primary-group-by.result b/test/case/result/primary-group-by.result deleted file mode 100644 index cec89e77d..000000000 --- a/test/case/result/primary-group-by.result +++ /dev/null @@ -1,81 +0,0 @@ -1. CREATE TABLE -create table t_group_by (id int, score float, name char); -SUCCESS -create table t_group_by_2 (id int, age int); -SUCCESS - -2. INSERT RECORDS -insert into t_group_by values(3, 1.0, 'a'); -SUCCESS -insert into t_group_by values(1, 2.0, 'b'); -SUCCESS -insert into t_group_by values(4, 3.0, 'c'); -SUCCESS -insert into t_group_by values(3, 2.0, 'c'); -SUCCESS -insert into t_group_by values(3, 4.0, 'c'); -SUCCESS -insert into t_group_by values(3, 3.0, 'd'); -SUCCESS -insert into t_group_by values(3, 2.0, 'f'); -SUCCESS - -insert into t_group_by_2 values(1, 10); -SUCCESS -insert into t_group_by_2 values(2, 20); -SUCCESS -insert into t_group_by_2 values(3, 10); -SUCCESS -insert into t_group_by_2 values(3, 20); -SUCCESS -insert into t_group_by_2 values(3, 40); -SUCCESS -insert into t_group_by_2 values(4, 20); -SUCCESS - -3. PRIMARY GROUP BY -select id, avg(score) from t_group_by group by id; -1 | 2 -3 | 2.4 -4 | 3 -ID | AVG(SCORE) - -select name, min(id), max(score) from t_group_by group by name; -A | 3 | 1 -B | 1 | 2 -C | 3 | 4 -D | 3 | 3 -F | 3 | 2 -NAME | MIN(ID) | MAX(SCORE) - -select id, name, avg(score) from t_group_by group by id, name; -1 | B | 2 -3 | A | 1 -3 | C | 3 -3 | D | 3 -3 | F | 2 -4 | C | 3 -ID | NAME | AVG(SCORE) - -4. WITH WHERE CONDITION -select id, avg(score) from t_group_by where id>2 group by id; -3 | 2.4 -4 | 3 -ID | AVG(SCORE) - -select name, count(id), max(score) from t_group_by where name > 'a' and id>=0 group by name; -B | 1 | 2 -C | 3 | 4 -D | 1 | 3 -F | 1 | 2 -NAME | COUNT(ID) | MAX(SCORE) - -5. MULTI TABLE -select t_group_by.id, t_group_by.name, avg(t_group_by.score), avg(t_group_by_2.age) from t_group_by, t_group_by_2 where t_group_by.id=t_group_by_2.id group by t_group_by.id, t_group_by.name; -1 | B | 2 | 10 -3 | A | 1 | 23.33 -3 | C | 3 | 23.33 -3 | D | 3 | 23.33 -3 | F | 2 | 23.33 -4 | C | 3 | 20 -T_GROUP_BY.ID | T_GROUP_BY.NAME | AVG(T_GROUP_BY.SCORE) | AVG(T_GROUP_BY_2.AGE) diff --git a/test/case/result/primary-insert.result b/test/case/result/primary-insert.result deleted file mode 100644 index cb054382d..000000000 --- a/test/case/result/primary-insert.result +++ /dev/null @@ -1,22 +0,0 @@ -INITIALIZATION -CREATE TABLE insert_table(id int, t_name char, col1 int, col2 int); -SUCCESS - -1. INSERT -INSERT INTO insert_table VALUES (1,'N1',1,1); -SUCCESS -INSERT INTO insert_table VALUES (2,'N2',1,1),(3,'N3',2,1); -SUCCESS - -2. ERROR -INSERT INTO insert_table VALUES (4,'N4',1,1),(1,1,1); -FAILURE -INSERT INTO insert_table VALUES (4,'N4',1,1),(1,1,1,1); -FAILURE - -3. SELECT -SELECT * FROM insert_table; -1 | N1 | 1 | 1 -2 | N2 | 1 | 1 -3 | N3 | 2 | 1 -ID | T_NAME | COL1 | COL2 diff --git a/test/case/result/primary-join-tables.result b/test/case/result/primary-join-tables.result deleted file mode 100644 index 6f515f486..000000000 --- a/test/case/result/primary-join-tables.result +++ /dev/null @@ -1,1375 +0,0 @@ -INITIALIZATION -CREATE TABLE join_table_1(id int, name char); -SUCCESS -CREATE TABLE join_table_2(id int, num int); -SUCCESS -CREATE TABLE join_table_3(id int, num2 int); -SUCCESS -create table join_table_empty_1(id int, num_empty_1 int); -SUCCESS -create table join_table_empty_2(id int, num_empty_2 int); -SUCCESS - -INSERT INTO join_table_1 VALUES (1, 'a'); -SUCCESS -INSERT INTO join_table_1 VALUES (2, 'b'); -SUCCESS -INSERT INTO join_table_1 VALUES (3, 'c'); -SUCCESS -INSERT INTO join_table_2 VALUES (1, 2); -SUCCESS -INSERT INTO join_table_2 VALUES (2, 15); -SUCCESS -INSERT INTO join_table_3 VALUES (1, 120); -SUCCESS -INSERT INTO join_table_3 VALUES (3, 800); -SUCCESS - -1. SELECT -Select * from join_table_1 inner join join_table_2 on join_table_1.id=join_table_2.id; -1 | A | 1 | 2 -2 | B | 2 | 15 -JOIN_TABLE_1.ID | JOIN_TABLE_1.NAME | JOIN_TABLE_2.ID | JOIN_TABLE_2.NUM -Select join_table_1.name from join_table_1 inner join join_table_2 on join_table_1.id=join_table_2.id; -A -B -JOIN_TABLE_1.NAME -Select join_table_2.num from join_table_1 inner join join_table_2 on join_table_1.id=join_table_2.id; -15 -2 -JOIN_TABLE_2.NUM -Select * from join_table_1 inner join join_table_2 on join_table_1.id=join_table_2.id inner join join_table_3 on join_table_1.id=join_table_3.id; -1 | A | 1 | 2 | 1 | 120 -JOIN_TABLE_1.ID | JOIN_TABLE_1.NAME | JOIN_TABLE_2.ID | JOIN_TABLE_2.NUM | JOIN_TABLE_3.ID | JOIN_TABLE_3.NUM2 -Select * from join_table_1 inner join join_table_2 on join_table_1.id=join_table_2.id and join_table_2.num>13 where join_table_1.name='b'; -2 | B | 2 | 15 -JOIN_TABLE_1.ID | JOIN_TABLE_1.NAME | JOIN_TABLE_2.ID | JOIN_TABLE_2.NUM -Select * from join_table_1 inner join join_table_2 on join_table_1.id=join_table_2.id and join_table_2.num>13 where join_table_1.name='a'; -JOIN_TABLE_1.ID | JOIN_TABLE_1.NAME | JOIN_TABLE_2.ID | JOIN_TABLE_2.NUM -Select * from join_table_1 inner join join_table_2 on join_table_1.id=join_table_2.id and join_table_2.num>23 where join_table_1.name='b'; -JOIN_TABLE_1.ID | JOIN_TABLE_1.NAME | JOIN_TABLE_2.ID | JOIN_TABLE_2.NUM - -3. EMPTY -select * from join_table_1 inner join join_table_empty_1 on join_table_1.id=join_table_empty_1.id; -JOIN_TABLE_1.ID | JOIN_TABLE_1.NAME | JOIN_TABLE_EMPTY_1.ID | JOIN_TABLE_EMPTY_1.NUM_EMPTY_1 -select * from join_table_empty_1 inner join join_table_1 on join_table_empty_1.id=join_table_1.id; -JOIN_TABLE_EMPTY_1.ID | JOIN_TABLE_EMPTY_1.NUM_EMPTY_1 | JOIN_TABLE_1.ID | JOIN_TABLE_1.NAME -select * from join_table_empty_1 inner join join_table_empty_2 on join_table_empty_1.id = join_table_empty_2.id; -JOIN_TABLE_EMPTY_1.ID | JOIN_TABLE_EMPTY_1.NUM_EMPTY_1 | JOIN_TABLE_EMPTY_2.ID | JOIN_TABLE_EMPTY_2.NUM_EMPTY_2 -select * from join_table_1 inner join join_table_2 on join_table_1.id = join_table_2.id inner join join_table_empty_1 on join_table_1.id=join_table_empty_1.id; -JOIN_TABLE_1.ID | JOIN_TABLE_1.NAME | JOIN_TABLE_2.ID | JOIN_TABLE_2.NUM | JOIN_TABLE_EMPTY_1.ID | JOIN_TABLE_EMPTY_1.NUM_EMPTY_1 -select * from join_table_empty_1 inner join join_table_1 on join_table_empty_1.id=join_table_1.id inner join join_table_2 on join_table_1.id=join_table_2.id; -JOIN_TABLE_EMPTY_1.ID | JOIN_TABLE_EMPTY_1.NUM_EMPTY_1 | JOIN_TABLE_1.ID | JOIN_TABLE_1.NAME | JOIN_TABLE_2.ID | JOIN_TABLE_2.NUM - -4. VERY LARGE JOIN -create table join_table_large_1(id int, num1 int); -SUCCESS -create table join_table_large_2(id int, num2 int); -SUCCESS -create table join_table_large_3(id int, num3 int); -SUCCESS -create table join_table_large_4(id int, num4 int); -SUCCESS -create table join_table_large_5(id int, num5 int); -SUCCESS -create table join_table_large_6(id int, num6 int); -SUCCESS - -insert into join_table_large_1 values(1, 1); -SUCCESS -insert into join_table_large_1 values(2, 2); -SUCCESS -insert into join_table_large_1 values(3, 3); -SUCCESS -insert into join_table_large_1 values(4, 4); -SUCCESS -insert into join_table_large_1 values(5, 5); -SUCCESS -insert into join_table_large_1 values(6, 6); -SUCCESS -insert into join_table_large_1 values(7, 7); -SUCCESS -insert into join_table_large_1 values(8, 8); -SUCCESS -insert into join_table_large_1 values(9, 9); -SUCCESS -insert into join_table_large_1 values(10, 10); -SUCCESS -insert into join_table_large_1 values(11, 11); -SUCCESS -insert into join_table_large_1 values(12, 12); -SUCCESS -insert into join_table_large_1 values(13, 13); -SUCCESS -insert into join_table_large_1 values(14, 14); -SUCCESS -insert into join_table_large_1 values(15, 15); -SUCCESS -insert into join_table_large_1 values(16, 16); -SUCCESS -insert into join_table_large_1 values(17, 17); -SUCCESS -insert into join_table_large_1 values(18, 18); -SUCCESS -insert into join_table_large_1 values(19, 19); -SUCCESS -insert into join_table_large_1 values(20, 20); -SUCCESS -insert into join_table_large_1 values(21, 21); -SUCCESS -insert into join_table_large_1 values(22, 22); -SUCCESS -insert into join_table_large_1 values(23, 23); -SUCCESS -insert into join_table_large_1 values(24, 24); -SUCCESS -insert into join_table_large_1 values(25, 25); -SUCCESS -insert into join_table_large_1 values(26, 26); -SUCCESS -insert into join_table_large_1 values(27, 27); -SUCCESS -insert into join_table_large_1 values(28, 28); -SUCCESS -insert into join_table_large_1 values(29, 29); -SUCCESS -insert into join_table_large_1 values(30, 30); -SUCCESS -insert into join_table_large_1 values(31, 31); -SUCCESS -insert into join_table_large_1 values(32, 32); -SUCCESS -insert into join_table_large_1 values(33, 33); -SUCCESS -insert into join_table_large_1 values(34, 34); -SUCCESS -insert into join_table_large_1 values(35, 35); -SUCCESS -insert into join_table_large_1 values(36, 36); -SUCCESS -insert into join_table_large_1 values(37, 37); -SUCCESS -insert into join_table_large_1 values(38, 38); -SUCCESS -insert into join_table_large_1 values(39, 39); -SUCCESS -insert into join_table_large_1 values(40, 40); -SUCCESS -insert into join_table_large_1 values(41, 41); -SUCCESS -insert into join_table_large_1 values(42, 42); -SUCCESS -insert into join_table_large_1 values(43, 43); -SUCCESS -insert into join_table_large_1 values(44, 44); -SUCCESS -insert into join_table_large_1 values(45, 45); -SUCCESS -insert into join_table_large_1 values(46, 46); -SUCCESS -insert into join_table_large_1 values(47, 47); -SUCCESS -insert into join_table_large_1 values(48, 48); -SUCCESS -insert into join_table_large_1 values(49, 49); -SUCCESS -insert into join_table_large_1 values(50, 50); -SUCCESS -insert into join_table_large_1 values(51, 51); -SUCCESS -insert into join_table_large_1 values(52, 52); -SUCCESS -insert into join_table_large_1 values(53, 53); -SUCCESS -insert into join_table_large_1 values(54, 54); -SUCCESS -insert into join_table_large_1 values(55, 55); -SUCCESS -insert into join_table_large_1 values(56, 56); -SUCCESS -insert into join_table_large_1 values(57, 57); -SUCCESS -insert into join_table_large_1 values(58, 58); -SUCCESS -insert into join_table_large_1 values(59, 59); -SUCCESS -insert into join_table_large_1 values(60, 60); -SUCCESS -insert into join_table_large_1 values(61, 61); -SUCCESS -insert into join_table_large_1 values(62, 62); -SUCCESS -insert into join_table_large_1 values(63, 63); -SUCCESS -insert into join_table_large_1 values(64, 64); -SUCCESS -insert into join_table_large_1 values(65, 65); -SUCCESS -insert into join_table_large_1 values(66, 66); -SUCCESS -insert into join_table_large_1 values(67, 67); -SUCCESS -insert into join_table_large_1 values(68, 68); -SUCCESS -insert into join_table_large_1 values(69, 69); -SUCCESS -insert into join_table_large_1 values(70, 70); -SUCCESS -insert into join_table_large_1 values(71, 71); -SUCCESS -insert into join_table_large_1 values(72, 72); -SUCCESS -insert into join_table_large_1 values(73, 73); -SUCCESS -insert into join_table_large_1 values(74, 74); -SUCCESS -insert into join_table_large_1 values(75, 75); -SUCCESS -insert into join_table_large_1 values(76, 76); -SUCCESS -insert into join_table_large_1 values(77, 77); -SUCCESS -insert into join_table_large_1 values(78, 78); -SUCCESS -insert into join_table_large_1 values(79, 79); -SUCCESS -insert into join_table_large_1 values(80, 80); -SUCCESS -insert into join_table_large_1 values(81, 81); -SUCCESS -insert into join_table_large_1 values(82, 82); -SUCCESS -insert into join_table_large_1 values(83, 83); -SUCCESS -insert into join_table_large_1 values(84, 84); -SUCCESS -insert into join_table_large_1 values(85, 85); -SUCCESS -insert into join_table_large_1 values(86, 86); -SUCCESS -insert into join_table_large_1 values(87, 87); -SUCCESS -insert into join_table_large_1 values(88, 88); -SUCCESS -insert into join_table_large_1 values(89, 89); -SUCCESS -insert into join_table_large_1 values(90, 90); -SUCCESS -insert into join_table_large_1 values(91, 91); -SUCCESS -insert into join_table_large_1 values(92, 92); -SUCCESS -insert into join_table_large_1 values(93, 93); -SUCCESS -insert into join_table_large_1 values(94, 94); -SUCCESS -insert into join_table_large_1 values(95, 95); -SUCCESS -insert into join_table_large_1 values(96, 96); -SUCCESS -insert into join_table_large_1 values(97, 97); -SUCCESS -insert into join_table_large_1 values(98, 98); -SUCCESS -insert into join_table_large_1 values(99, 99); -SUCCESS -insert into join_table_large_1 values(100, 100); -SUCCESS - -insert into join_table_large_2 values(1, 1); -SUCCESS -insert into join_table_large_2 values(2, 2); -SUCCESS -insert into join_table_large_2 values(3, 3); -SUCCESS -insert into join_table_large_2 values(4, 4); -SUCCESS -insert into join_table_large_2 values(5, 5); -SUCCESS -insert into join_table_large_2 values(6, 6); -SUCCESS -insert into join_table_large_2 values(7, 7); -SUCCESS -insert into join_table_large_2 values(8, 8); -SUCCESS -insert into join_table_large_2 values(9, 9); -SUCCESS -insert into join_table_large_2 values(10, 10); -SUCCESS -insert into join_table_large_2 values(11, 11); -SUCCESS -insert into join_table_large_2 values(12, 12); -SUCCESS -insert into join_table_large_2 values(13, 13); -SUCCESS -insert into join_table_large_2 values(14, 14); -SUCCESS -insert into join_table_large_2 values(15, 15); -SUCCESS -insert into join_table_large_2 values(16, 16); -SUCCESS -insert into join_table_large_2 values(17, 17); -SUCCESS -insert into join_table_large_2 values(18, 18); -SUCCESS -insert into join_table_large_2 values(19, 19); -SUCCESS -insert into join_table_large_2 values(20, 20); -SUCCESS -insert into join_table_large_2 values(21, 21); -SUCCESS -insert into join_table_large_2 values(22, 22); -SUCCESS -insert into join_table_large_2 values(23, 23); -SUCCESS -insert into join_table_large_2 values(24, 24); -SUCCESS -insert into join_table_large_2 values(25, 25); -SUCCESS -insert into join_table_large_2 values(26, 26); -SUCCESS -insert into join_table_large_2 values(27, 27); -SUCCESS -insert into join_table_large_2 values(28, 28); -SUCCESS -insert into join_table_large_2 values(29, 29); -SUCCESS -insert into join_table_large_2 values(30, 30); -SUCCESS -insert into join_table_large_2 values(31, 31); -SUCCESS -insert into join_table_large_2 values(32, 32); -SUCCESS -insert into join_table_large_2 values(33, 33); -SUCCESS -insert into join_table_large_2 values(34, 34); -SUCCESS -insert into join_table_large_2 values(35, 35); -SUCCESS -insert into join_table_large_2 values(36, 36); -SUCCESS -insert into join_table_large_2 values(37, 37); -SUCCESS -insert into join_table_large_2 values(38, 38); -SUCCESS -insert into join_table_large_2 values(39, 39); -SUCCESS -insert into join_table_large_2 values(40, 40); -SUCCESS -insert into join_table_large_2 values(41, 41); -SUCCESS -insert into join_table_large_2 values(42, 42); -SUCCESS -insert into join_table_large_2 values(43, 43); -SUCCESS -insert into join_table_large_2 values(44, 44); -SUCCESS -insert into join_table_large_2 values(45, 45); -SUCCESS -insert into join_table_large_2 values(46, 46); -SUCCESS -insert into join_table_large_2 values(47, 47); -SUCCESS -insert into join_table_large_2 values(48, 48); -SUCCESS -insert into join_table_large_2 values(49, 49); -SUCCESS -insert into join_table_large_2 values(50, 50); -SUCCESS -insert into join_table_large_2 values(51, 51); -SUCCESS -insert into join_table_large_2 values(52, 52); -SUCCESS -insert into join_table_large_2 values(53, 53); -SUCCESS -insert into join_table_large_2 values(54, 54); -SUCCESS -insert into join_table_large_2 values(55, 55); -SUCCESS -insert into join_table_large_2 values(56, 56); -SUCCESS -insert into join_table_large_2 values(57, 57); -SUCCESS -insert into join_table_large_2 values(58, 58); -SUCCESS -insert into join_table_large_2 values(59, 59); -SUCCESS -insert into join_table_large_2 values(60, 60); -SUCCESS -insert into join_table_large_2 values(61, 61); -SUCCESS -insert into join_table_large_2 values(62, 62); -SUCCESS -insert into join_table_large_2 values(63, 63); -SUCCESS -insert into join_table_large_2 values(64, 64); -SUCCESS -insert into join_table_large_2 values(65, 65); -SUCCESS -insert into join_table_large_2 values(66, 66); -SUCCESS -insert into join_table_large_2 values(67, 67); -SUCCESS -insert into join_table_large_2 values(68, 68); -SUCCESS -insert into join_table_large_2 values(69, 69); -SUCCESS -insert into join_table_large_2 values(70, 70); -SUCCESS -insert into join_table_large_2 values(71, 71); -SUCCESS -insert into join_table_large_2 values(72, 72); -SUCCESS -insert into join_table_large_2 values(73, 73); -SUCCESS -insert into join_table_large_2 values(74, 74); -SUCCESS -insert into join_table_large_2 values(75, 75); -SUCCESS -insert into join_table_large_2 values(76, 76); -SUCCESS -insert into join_table_large_2 values(77, 77); -SUCCESS -insert into join_table_large_2 values(78, 78); -SUCCESS -insert into join_table_large_2 values(79, 79); -SUCCESS -insert into join_table_large_2 values(80, 80); -SUCCESS -insert into join_table_large_2 values(81, 81); -SUCCESS -insert into join_table_large_2 values(82, 82); -SUCCESS -insert into join_table_large_2 values(83, 83); -SUCCESS -insert into join_table_large_2 values(84, 84); -SUCCESS -insert into join_table_large_2 values(85, 85); -SUCCESS -insert into join_table_large_2 values(86, 86); -SUCCESS -insert into join_table_large_2 values(87, 87); -SUCCESS -insert into join_table_large_2 values(88, 88); -SUCCESS -insert into join_table_large_2 values(89, 89); -SUCCESS -insert into join_table_large_2 values(90, 90); -SUCCESS -insert into join_table_large_2 values(91, 91); -SUCCESS -insert into join_table_large_2 values(92, 92); -SUCCESS -insert into join_table_large_2 values(93, 93); -SUCCESS -insert into join_table_large_2 values(94, 94); -SUCCESS -insert into join_table_large_2 values(95, 95); -SUCCESS -insert into join_table_large_2 values(96, 96); -SUCCESS -insert into join_table_large_2 values(97, 97); -SUCCESS -insert into join_table_large_2 values(98, 98); -SUCCESS -insert into join_table_large_2 values(99, 99); -SUCCESS -insert into join_table_large_2 values(100, 100); -SUCCESS - -insert into join_table_large_3 values(1, 1); -SUCCESS -insert into join_table_large_3 values(2, 2); -SUCCESS -insert into join_table_large_3 values(3, 3); -SUCCESS -insert into join_table_large_3 values(4, 4); -SUCCESS -insert into join_table_large_3 values(5, 5); -SUCCESS -insert into join_table_large_3 values(6, 6); -SUCCESS -insert into join_table_large_3 values(7, 7); -SUCCESS -insert into join_table_large_3 values(8, 8); -SUCCESS -insert into join_table_large_3 values(9, 9); -SUCCESS -insert into join_table_large_3 values(10, 10); -SUCCESS -insert into join_table_large_3 values(11, 11); -SUCCESS -insert into join_table_large_3 values(12, 12); -SUCCESS -insert into join_table_large_3 values(13, 13); -SUCCESS -insert into join_table_large_3 values(14, 14); -SUCCESS -insert into join_table_large_3 values(15, 15); -SUCCESS -insert into join_table_large_3 values(16, 16); -SUCCESS -insert into join_table_large_3 values(17, 17); -SUCCESS -insert into join_table_large_3 values(18, 18); -SUCCESS -insert into join_table_large_3 values(19, 19); -SUCCESS -insert into join_table_large_3 values(20, 20); -SUCCESS -insert into join_table_large_3 values(21, 21); -SUCCESS -insert into join_table_large_3 values(22, 22); -SUCCESS -insert into join_table_large_3 values(23, 23); -SUCCESS -insert into join_table_large_3 values(24, 24); -SUCCESS -insert into join_table_large_3 values(25, 25); -SUCCESS -insert into join_table_large_3 values(26, 26); -SUCCESS -insert into join_table_large_3 values(27, 27); -SUCCESS -insert into join_table_large_3 values(28, 28); -SUCCESS -insert into join_table_large_3 values(29, 29); -SUCCESS -insert into join_table_large_3 values(30, 30); -SUCCESS -insert into join_table_large_3 values(31, 31); -SUCCESS -insert into join_table_large_3 values(32, 32); -SUCCESS -insert into join_table_large_3 values(33, 33); -SUCCESS -insert into join_table_large_3 values(34, 34); -SUCCESS -insert into join_table_large_3 values(35, 35); -SUCCESS -insert into join_table_large_3 values(36, 36); -SUCCESS -insert into join_table_large_3 values(37, 37); -SUCCESS -insert into join_table_large_3 values(38, 38); -SUCCESS -insert into join_table_large_3 values(39, 39); -SUCCESS -insert into join_table_large_3 values(40, 40); -SUCCESS -insert into join_table_large_3 values(41, 41); -SUCCESS -insert into join_table_large_3 values(42, 42); -SUCCESS -insert into join_table_large_3 values(43, 43); -SUCCESS -insert into join_table_large_3 values(44, 44); -SUCCESS -insert into join_table_large_3 values(45, 45); -SUCCESS -insert into join_table_large_3 values(46, 46); -SUCCESS -insert into join_table_large_3 values(47, 47); -SUCCESS -insert into join_table_large_3 values(48, 48); -SUCCESS -insert into join_table_large_3 values(49, 49); -SUCCESS -insert into join_table_large_3 values(50, 50); -SUCCESS -insert into join_table_large_3 values(51, 51); -SUCCESS -insert into join_table_large_3 values(52, 52); -SUCCESS -insert into join_table_large_3 values(53, 53); -SUCCESS -insert into join_table_large_3 values(54, 54); -SUCCESS -insert into join_table_large_3 values(55, 55); -SUCCESS -insert into join_table_large_3 values(56, 56); -SUCCESS -insert into join_table_large_3 values(57, 57); -SUCCESS -insert into join_table_large_3 values(58, 58); -SUCCESS -insert into join_table_large_3 values(59, 59); -SUCCESS -insert into join_table_large_3 values(60, 60); -SUCCESS -insert into join_table_large_3 values(61, 61); -SUCCESS -insert into join_table_large_3 values(62, 62); -SUCCESS -insert into join_table_large_3 values(63, 63); -SUCCESS -insert into join_table_large_3 values(64, 64); -SUCCESS -insert into join_table_large_3 values(65, 65); -SUCCESS -insert into join_table_large_3 values(66, 66); -SUCCESS -insert into join_table_large_3 values(67, 67); -SUCCESS -insert into join_table_large_3 values(68, 68); -SUCCESS -insert into join_table_large_3 values(69, 69); -SUCCESS -insert into join_table_large_3 values(70, 70); -SUCCESS -insert into join_table_large_3 values(71, 71); -SUCCESS -insert into join_table_large_3 values(72, 72); -SUCCESS -insert into join_table_large_3 values(73, 73); -SUCCESS -insert into join_table_large_3 values(74, 74); -SUCCESS -insert into join_table_large_3 values(75, 75); -SUCCESS -insert into join_table_large_3 values(76, 76); -SUCCESS -insert into join_table_large_3 values(77, 77); -SUCCESS -insert into join_table_large_3 values(78, 78); -SUCCESS -insert into join_table_large_3 values(79, 79); -SUCCESS -insert into join_table_large_3 values(80, 80); -SUCCESS -insert into join_table_large_3 values(81, 81); -SUCCESS -insert into join_table_large_3 values(82, 82); -SUCCESS -insert into join_table_large_3 values(83, 83); -SUCCESS -insert into join_table_large_3 values(84, 84); -SUCCESS -insert into join_table_large_3 values(85, 85); -SUCCESS -insert into join_table_large_3 values(86, 86); -SUCCESS -insert into join_table_large_3 values(87, 87); -SUCCESS -insert into join_table_large_3 values(88, 88); -SUCCESS -insert into join_table_large_3 values(89, 89); -SUCCESS -insert into join_table_large_3 values(90, 90); -SUCCESS -insert into join_table_large_3 values(91, 91); -SUCCESS -insert into join_table_large_3 values(92, 92); -SUCCESS -insert into join_table_large_3 values(93, 93); -SUCCESS -insert into join_table_large_3 values(94, 94); -SUCCESS -insert into join_table_large_3 values(95, 95); -SUCCESS -insert into join_table_large_3 values(96, 96); -SUCCESS -insert into join_table_large_3 values(97, 97); -SUCCESS -insert into join_table_large_3 values(98, 98); -SUCCESS -insert into join_table_large_3 values(99, 99); -SUCCESS -insert into join_table_large_3 values(100, 100); -SUCCESS - -insert into join_table_large_4 values(1, 1); -SUCCESS -insert into join_table_large_4 values(2, 2); -SUCCESS -insert into join_table_large_4 values(3, 3); -SUCCESS -insert into join_table_large_4 values(4, 4); -SUCCESS -insert into join_table_large_4 values(5, 5); -SUCCESS -insert into join_table_large_4 values(6, 6); -SUCCESS -insert into join_table_large_4 values(7, 7); -SUCCESS -insert into join_table_large_4 values(8, 8); -SUCCESS -insert into join_table_large_4 values(9, 9); -SUCCESS -insert into join_table_large_4 values(10, 10); -SUCCESS -insert into join_table_large_4 values(11, 11); -SUCCESS -insert into join_table_large_4 values(12, 12); -SUCCESS -insert into join_table_large_4 values(13, 13); -SUCCESS -insert into join_table_large_4 values(14, 14); -SUCCESS -insert into join_table_large_4 values(15, 15); -SUCCESS -insert into join_table_large_4 values(16, 16); -SUCCESS -insert into join_table_large_4 values(17, 17); -SUCCESS -insert into join_table_large_4 values(18, 18); -SUCCESS -insert into join_table_large_4 values(19, 19); -SUCCESS -insert into join_table_large_4 values(20, 20); -SUCCESS -insert into join_table_large_4 values(21, 21); -SUCCESS -insert into join_table_large_4 values(22, 22); -SUCCESS -insert into join_table_large_4 values(23, 23); -SUCCESS -insert into join_table_large_4 values(24, 24); -SUCCESS -insert into join_table_large_4 values(25, 25); -SUCCESS -insert into join_table_large_4 values(26, 26); -SUCCESS -insert into join_table_large_4 values(27, 27); -SUCCESS -insert into join_table_large_4 values(28, 28); -SUCCESS -insert into join_table_large_4 values(29, 29); -SUCCESS -insert into join_table_large_4 values(30, 30); -SUCCESS -insert into join_table_large_4 values(31, 31); -SUCCESS -insert into join_table_large_4 values(32, 32); -SUCCESS -insert into join_table_large_4 values(33, 33); -SUCCESS -insert into join_table_large_4 values(34, 34); -SUCCESS -insert into join_table_large_4 values(35, 35); -SUCCESS -insert into join_table_large_4 values(36, 36); -SUCCESS -insert into join_table_large_4 values(37, 37); -SUCCESS -insert into join_table_large_4 values(38, 38); -SUCCESS -insert into join_table_large_4 values(39, 39); -SUCCESS -insert into join_table_large_4 values(40, 40); -SUCCESS -insert into join_table_large_4 values(41, 41); -SUCCESS -insert into join_table_large_4 values(42, 42); -SUCCESS -insert into join_table_large_4 values(43, 43); -SUCCESS -insert into join_table_large_4 values(44, 44); -SUCCESS -insert into join_table_large_4 values(45, 45); -SUCCESS -insert into join_table_large_4 values(46, 46); -SUCCESS -insert into join_table_large_4 values(47, 47); -SUCCESS -insert into join_table_large_4 values(48, 48); -SUCCESS -insert into join_table_large_4 values(49, 49); -SUCCESS -insert into join_table_large_4 values(50, 50); -SUCCESS -insert into join_table_large_4 values(51, 51); -SUCCESS -insert into join_table_large_4 values(52, 52); -SUCCESS -insert into join_table_large_4 values(53, 53); -SUCCESS -insert into join_table_large_4 values(54, 54); -SUCCESS -insert into join_table_large_4 values(55, 55); -SUCCESS -insert into join_table_large_4 values(56, 56); -SUCCESS -insert into join_table_large_4 values(57, 57); -SUCCESS -insert into join_table_large_4 values(58, 58); -SUCCESS -insert into join_table_large_4 values(59, 59); -SUCCESS -insert into join_table_large_4 values(60, 60); -SUCCESS -insert into join_table_large_4 values(61, 61); -SUCCESS -insert into join_table_large_4 values(62, 62); -SUCCESS -insert into join_table_large_4 values(63, 63); -SUCCESS -insert into join_table_large_4 values(64, 64); -SUCCESS -insert into join_table_large_4 values(65, 65); -SUCCESS -insert into join_table_large_4 values(66, 66); -SUCCESS -insert into join_table_large_4 values(67, 67); -SUCCESS -insert into join_table_large_4 values(68, 68); -SUCCESS -insert into join_table_large_4 values(69, 69); -SUCCESS -insert into join_table_large_4 values(70, 70); -SUCCESS -insert into join_table_large_4 values(71, 71); -SUCCESS -insert into join_table_large_4 values(72, 72); -SUCCESS -insert into join_table_large_4 values(73, 73); -SUCCESS -insert into join_table_large_4 values(74, 74); -SUCCESS -insert into join_table_large_4 values(75, 75); -SUCCESS -insert into join_table_large_4 values(76, 76); -SUCCESS -insert into join_table_large_4 values(77, 77); -SUCCESS -insert into join_table_large_4 values(78, 78); -SUCCESS -insert into join_table_large_4 values(79, 79); -SUCCESS -insert into join_table_large_4 values(80, 80); -SUCCESS -insert into join_table_large_4 values(81, 81); -SUCCESS -insert into join_table_large_4 values(82, 82); -SUCCESS -insert into join_table_large_4 values(83, 83); -SUCCESS -insert into join_table_large_4 values(84, 84); -SUCCESS -insert into join_table_large_4 values(85, 85); -SUCCESS -insert into join_table_large_4 values(86, 86); -SUCCESS -insert into join_table_large_4 values(87, 87); -SUCCESS -insert into join_table_large_4 values(88, 88); -SUCCESS -insert into join_table_large_4 values(89, 89); -SUCCESS -insert into join_table_large_4 values(90, 90); -SUCCESS -insert into join_table_large_4 values(91, 91); -SUCCESS -insert into join_table_large_4 values(92, 92); -SUCCESS -insert into join_table_large_4 values(93, 93); -SUCCESS -insert into join_table_large_4 values(94, 94); -SUCCESS -insert into join_table_large_4 values(95, 95); -SUCCESS -insert into join_table_large_4 values(96, 96); -SUCCESS -insert into join_table_large_4 values(97, 97); -SUCCESS -insert into join_table_large_4 values(98, 98); -SUCCESS -insert into join_table_large_4 values(99, 99); -SUCCESS -insert into join_table_large_4 values(100, 100); -SUCCESS - -insert into join_table_large_5 values(1, 1); -SUCCESS -insert into join_table_large_5 values(2, 2); -SUCCESS -insert into join_table_large_5 values(3, 3); -SUCCESS -insert into join_table_large_5 values(4, 4); -SUCCESS -insert into join_table_large_5 values(5, 5); -SUCCESS -insert into join_table_large_5 values(6, 6); -SUCCESS -insert into join_table_large_5 values(7, 7); -SUCCESS -insert into join_table_large_5 values(8, 8); -SUCCESS -insert into join_table_large_5 values(9, 9); -SUCCESS -insert into join_table_large_5 values(10, 10); -SUCCESS -insert into join_table_large_5 values(11, 11); -SUCCESS -insert into join_table_large_5 values(12, 12); -SUCCESS -insert into join_table_large_5 values(13, 13); -SUCCESS -insert into join_table_large_5 values(14, 14); -SUCCESS -insert into join_table_large_5 values(15, 15); -SUCCESS -insert into join_table_large_5 values(16, 16); -SUCCESS -insert into join_table_large_5 values(17, 17); -SUCCESS -insert into join_table_large_5 values(18, 18); -SUCCESS -insert into join_table_large_5 values(19, 19); -SUCCESS -insert into join_table_large_5 values(20, 20); -SUCCESS -insert into join_table_large_5 values(21, 21); -SUCCESS -insert into join_table_large_5 values(22, 22); -SUCCESS -insert into join_table_large_5 values(23, 23); -SUCCESS -insert into join_table_large_5 values(24, 24); -SUCCESS -insert into join_table_large_5 values(25, 25); -SUCCESS -insert into join_table_large_5 values(26, 26); -SUCCESS -insert into join_table_large_5 values(27, 27); -SUCCESS -insert into join_table_large_5 values(28, 28); -SUCCESS -insert into join_table_large_5 values(29, 29); -SUCCESS -insert into join_table_large_5 values(30, 30); -SUCCESS -insert into join_table_large_5 values(31, 31); -SUCCESS -insert into join_table_large_5 values(32, 32); -SUCCESS -insert into join_table_large_5 values(33, 33); -SUCCESS -insert into join_table_large_5 values(34, 34); -SUCCESS -insert into join_table_large_5 values(35, 35); -SUCCESS -insert into join_table_large_5 values(36, 36); -SUCCESS -insert into join_table_large_5 values(37, 37); -SUCCESS -insert into join_table_large_5 values(38, 38); -SUCCESS -insert into join_table_large_5 values(39, 39); -SUCCESS -insert into join_table_large_5 values(40, 40); -SUCCESS -insert into join_table_large_5 values(41, 41); -SUCCESS -insert into join_table_large_5 values(42, 42); -SUCCESS -insert into join_table_large_5 values(43, 43); -SUCCESS -insert into join_table_large_5 values(44, 44); -SUCCESS -insert into join_table_large_5 values(45, 45); -SUCCESS -insert into join_table_large_5 values(46, 46); -SUCCESS -insert into join_table_large_5 values(47, 47); -SUCCESS -insert into join_table_large_5 values(48, 48); -SUCCESS -insert into join_table_large_5 values(49, 49); -SUCCESS -insert into join_table_large_5 values(50, 50); -SUCCESS -insert into join_table_large_5 values(51, 51); -SUCCESS -insert into join_table_large_5 values(52, 52); -SUCCESS -insert into join_table_large_5 values(53, 53); -SUCCESS -insert into join_table_large_5 values(54, 54); -SUCCESS -insert into join_table_large_5 values(55, 55); -SUCCESS -insert into join_table_large_5 values(56, 56); -SUCCESS -insert into join_table_large_5 values(57, 57); -SUCCESS -insert into join_table_large_5 values(58, 58); -SUCCESS -insert into join_table_large_5 values(59, 59); -SUCCESS -insert into join_table_large_5 values(60, 60); -SUCCESS -insert into join_table_large_5 values(61, 61); -SUCCESS -insert into join_table_large_5 values(62, 62); -SUCCESS -insert into join_table_large_5 values(63, 63); -SUCCESS -insert into join_table_large_5 values(64, 64); -SUCCESS -insert into join_table_large_5 values(65, 65); -SUCCESS -insert into join_table_large_5 values(66, 66); -SUCCESS -insert into join_table_large_5 values(67, 67); -SUCCESS -insert into join_table_large_5 values(68, 68); -SUCCESS -insert into join_table_large_5 values(69, 69); -SUCCESS -insert into join_table_large_5 values(70, 70); -SUCCESS -insert into join_table_large_5 values(71, 71); -SUCCESS -insert into join_table_large_5 values(72, 72); -SUCCESS -insert into join_table_large_5 values(73, 73); -SUCCESS -insert into join_table_large_5 values(74, 74); -SUCCESS -insert into join_table_large_5 values(75, 75); -SUCCESS -insert into join_table_large_5 values(76, 76); -SUCCESS -insert into join_table_large_5 values(77, 77); -SUCCESS -insert into join_table_large_5 values(78, 78); -SUCCESS -insert into join_table_large_5 values(79, 79); -SUCCESS -insert into join_table_large_5 values(80, 80); -SUCCESS -insert into join_table_large_5 values(81, 81); -SUCCESS -insert into join_table_large_5 values(82, 82); -SUCCESS -insert into join_table_large_5 values(83, 83); -SUCCESS -insert into join_table_large_5 values(84, 84); -SUCCESS -insert into join_table_large_5 values(85, 85); -SUCCESS -insert into join_table_large_5 values(86, 86); -SUCCESS -insert into join_table_large_5 values(87, 87); -SUCCESS -insert into join_table_large_5 values(88, 88); -SUCCESS -insert into join_table_large_5 values(89, 89); -SUCCESS -insert into join_table_large_5 values(90, 90); -SUCCESS -insert into join_table_large_5 values(91, 91); -SUCCESS -insert into join_table_large_5 values(92, 92); -SUCCESS -insert into join_table_large_5 values(93, 93); -SUCCESS -insert into join_table_large_5 values(94, 94); -SUCCESS -insert into join_table_large_5 values(95, 95); -SUCCESS -insert into join_table_large_5 values(96, 96); -SUCCESS -insert into join_table_large_5 values(97, 97); -SUCCESS -insert into join_table_large_5 values(98, 98); -SUCCESS -insert into join_table_large_5 values(99, 99); -SUCCESS -insert into join_table_large_5 values(100, 100); -SUCCESS - -insert into join_table_large_6 values(1, 1); -SUCCESS -insert into join_table_large_6 values(2, 2); -SUCCESS -insert into join_table_large_6 values(3, 3); -SUCCESS -insert into join_table_large_6 values(4, 4); -SUCCESS -insert into join_table_large_6 values(5, 5); -SUCCESS -insert into join_table_large_6 values(6, 6); -SUCCESS -insert into join_table_large_6 values(7, 7); -SUCCESS -insert into join_table_large_6 values(8, 8); -SUCCESS -insert into join_table_large_6 values(9, 9); -SUCCESS -insert into join_table_large_6 values(10, 10); -SUCCESS -insert into join_table_large_6 values(11, 11); -SUCCESS -insert into join_table_large_6 values(12, 12); -SUCCESS -insert into join_table_large_6 values(13, 13); -SUCCESS -insert into join_table_large_6 values(14, 14); -SUCCESS -insert into join_table_large_6 values(15, 15); -SUCCESS -insert into join_table_large_6 values(16, 16); -SUCCESS -insert into join_table_large_6 values(17, 17); -SUCCESS -insert into join_table_large_6 values(18, 18); -SUCCESS -insert into join_table_large_6 values(19, 19); -SUCCESS -insert into join_table_large_6 values(20, 20); -SUCCESS -insert into join_table_large_6 values(21, 21); -SUCCESS -insert into join_table_large_6 values(22, 22); -SUCCESS -insert into join_table_large_6 values(23, 23); -SUCCESS -insert into join_table_large_6 values(24, 24); -SUCCESS -insert into join_table_large_6 values(25, 25); -SUCCESS -insert into join_table_large_6 values(26, 26); -SUCCESS -insert into join_table_large_6 values(27, 27); -SUCCESS -insert into join_table_large_6 values(28, 28); -SUCCESS -insert into join_table_large_6 values(29, 29); -SUCCESS -insert into join_table_large_6 values(30, 30); -SUCCESS -insert into join_table_large_6 values(31, 31); -SUCCESS -insert into join_table_large_6 values(32, 32); -SUCCESS -insert into join_table_large_6 values(33, 33); -SUCCESS -insert into join_table_large_6 values(34, 34); -SUCCESS -insert into join_table_large_6 values(35, 35); -SUCCESS -insert into join_table_large_6 values(36, 36); -SUCCESS -insert into join_table_large_6 values(37, 37); -SUCCESS -insert into join_table_large_6 values(38, 38); -SUCCESS -insert into join_table_large_6 values(39, 39); -SUCCESS -insert into join_table_large_6 values(40, 40); -SUCCESS -insert into join_table_large_6 values(41, 41); -SUCCESS -insert into join_table_large_6 values(42, 42); -SUCCESS -insert into join_table_large_6 values(43, 43); -SUCCESS -insert into join_table_large_6 values(44, 44); -SUCCESS -insert into join_table_large_6 values(45, 45); -SUCCESS -insert into join_table_large_6 values(46, 46); -SUCCESS -insert into join_table_large_6 values(47, 47); -SUCCESS -insert into join_table_large_6 values(48, 48); -SUCCESS -insert into join_table_large_6 values(49, 49); -SUCCESS -insert into join_table_large_6 values(50, 50); -SUCCESS -insert into join_table_large_6 values(51, 51); -SUCCESS -insert into join_table_large_6 values(52, 52); -SUCCESS -insert into join_table_large_6 values(53, 53); -SUCCESS -insert into join_table_large_6 values(54, 54); -SUCCESS -insert into join_table_large_6 values(55, 55); -SUCCESS -insert into join_table_large_6 values(56, 56); -SUCCESS -insert into join_table_large_6 values(57, 57); -SUCCESS -insert into join_table_large_6 values(58, 58); -SUCCESS -insert into join_table_large_6 values(59, 59); -SUCCESS -insert into join_table_large_6 values(60, 60); -SUCCESS -insert into join_table_large_6 values(61, 61); -SUCCESS -insert into join_table_large_6 values(62, 62); -SUCCESS -insert into join_table_large_6 values(63, 63); -SUCCESS -insert into join_table_large_6 values(64, 64); -SUCCESS -insert into join_table_large_6 values(65, 65); -SUCCESS -insert into join_table_large_6 values(66, 66); -SUCCESS -insert into join_table_large_6 values(67, 67); -SUCCESS -insert into join_table_large_6 values(68, 68); -SUCCESS -insert into join_table_large_6 values(69, 69); -SUCCESS -insert into join_table_large_6 values(70, 70); -SUCCESS -insert into join_table_large_6 values(71, 71); -SUCCESS -insert into join_table_large_6 values(72, 72); -SUCCESS -insert into join_table_large_6 values(73, 73); -SUCCESS -insert into join_table_large_6 values(74, 74); -SUCCESS -insert into join_table_large_6 values(75, 75); -SUCCESS -insert into join_table_large_6 values(76, 76); -SUCCESS -insert into join_table_large_6 values(77, 77); -SUCCESS -insert into join_table_large_6 values(78, 78); -SUCCESS -insert into join_table_large_6 values(79, 79); -SUCCESS -insert into join_table_large_6 values(80, 80); -SUCCESS -insert into join_table_large_6 values(81, 81); -SUCCESS -insert into join_table_large_6 values(82, 82); -SUCCESS -insert into join_table_large_6 values(83, 83); -SUCCESS -insert into join_table_large_6 values(84, 84); -SUCCESS -insert into join_table_large_6 values(85, 85); -SUCCESS -insert into join_table_large_6 values(86, 86); -SUCCESS -insert into join_table_large_6 values(87, 87); -SUCCESS -insert into join_table_large_6 values(88, 88); -SUCCESS -insert into join_table_large_6 values(89, 89); -SUCCESS -insert into join_table_large_6 values(90, 90); -SUCCESS -insert into join_table_large_6 values(91, 91); -SUCCESS -insert into join_table_large_6 values(92, 92); -SUCCESS -insert into join_table_large_6 values(93, 93); -SUCCESS -insert into join_table_large_6 values(94, 94); -SUCCESS -insert into join_table_large_6 values(95, 95); -SUCCESS -insert into join_table_large_6 values(96, 96); -SUCCESS -insert into join_table_large_6 values(97, 97); -SUCCESS -insert into join_table_large_6 values(98, 98); -SUCCESS -insert into join_table_large_6 values(99, 99); -SUCCESS -insert into join_table_large_6 values(100, 100); -SUCCESS - -select * from join_table_large_1 inner join join_table_large_2 on join_table_large_1.id=join_table_large_2.id inner join join_table_large_3 on join_table_large_1.id=join_table_large_3.id inner join join_table_large_4 on join_table_large_3.id=join_table_large_4.id inner join join_table_large_5 on 1=1 inner join join_table_large_6 on join_table_large_5.id=join_table_large_6.id where join_table_large_3.num3 <10 and join_table_large_5.num5>90; -1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 100 | 100 | 100 | 100 -1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 91 | 91 | 91 | 91 -1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 92 | 92 | 92 | 92 -1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 93 | 93 | 93 | 93 -1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 94 | 94 | 94 | 94 -1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 95 | 95 | 95 | 95 -1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 96 | 96 | 96 | 96 -1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 97 | 97 | 97 | 97 -1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 98 | 98 | 98 | 98 -1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 99 | 99 | 99 | 99 -2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 100 | 100 | 100 | 100 -2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 91 | 91 | 91 | 91 -2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 92 | 92 | 92 | 92 -2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 93 | 93 | 93 | 93 -2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 94 | 94 | 94 | 94 -2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 95 | 95 | 95 | 95 -2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 96 | 96 | 96 | 96 -2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 97 | 97 | 97 | 97 -2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 98 | 98 | 98 | 98 -2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 99 | 99 | 99 | 99 -3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 100 | 100 | 100 | 100 -3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 91 | 91 | 91 | 91 -3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 92 | 92 | 92 | 92 -3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 93 | 93 | 93 | 93 -3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 94 | 94 | 94 | 94 -3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 95 | 95 | 95 | 95 -3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 96 | 96 | 96 | 96 -3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 97 | 97 | 97 | 97 -3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 98 | 98 | 98 | 98 -3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 99 | 99 | 99 | 99 -4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 100 | 100 | 100 | 100 -4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 91 | 91 | 91 | 91 -4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 92 | 92 | 92 | 92 -4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 93 | 93 | 93 | 93 -4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 94 | 94 | 94 | 94 -4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 95 | 95 | 95 | 95 -4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 96 | 96 | 96 | 96 -4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 97 | 97 | 97 | 97 -4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 98 | 98 | 98 | 98 -4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 99 | 99 | 99 | 99 -5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 100 | 100 | 100 | 100 -5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 91 | 91 | 91 | 91 -5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 92 | 92 | 92 | 92 -5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 93 | 93 | 93 | 93 -5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 94 | 94 | 94 | 94 -5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 95 | 95 | 95 | 95 -5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 96 | 96 | 96 | 96 -5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 97 | 97 | 97 | 97 -5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 98 | 98 | 98 | 98 -5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 99 | 99 | 99 | 99 -6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 100 | 100 | 100 | 100 -6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 91 | 91 | 91 | 91 -6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 92 | 92 | 92 | 92 -6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 93 | 93 | 93 | 93 -6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 94 | 94 | 94 | 94 -6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 95 | 95 | 95 | 95 -6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 96 | 96 | 96 | 96 -6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 97 | 97 | 97 | 97 -6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 98 | 98 | 98 | 98 -6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 99 | 99 | 99 | 99 -7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 100 | 100 | 100 | 100 -7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 91 | 91 | 91 | 91 -7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 92 | 92 | 92 | 92 -7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 93 | 93 | 93 | 93 -7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 94 | 94 | 94 | 94 -7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 95 | 95 | 95 | 95 -7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 96 | 96 | 96 | 96 -7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 97 | 97 | 97 | 97 -7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 98 | 98 | 98 | 98 -7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 99 | 99 | 99 | 99 -8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 100 | 100 | 100 | 100 -8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 91 | 91 | 91 | 91 -8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 92 | 92 | 92 | 92 -8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 93 | 93 | 93 | 93 -8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 94 | 94 | 94 | 94 -8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 95 | 95 | 95 | 95 -8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 96 | 96 | 96 | 96 -8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 97 | 97 | 97 | 97 -8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 98 | 98 | 98 | 98 -8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 99 | 99 | 99 | 99 -9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 100 | 100 | 100 | 100 -9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 91 | 91 | 91 | 91 -9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 92 | 92 | 92 | 92 -9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 93 | 93 | 93 | 93 -9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 94 | 94 | 94 | 94 -9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 95 | 95 | 95 | 95 -9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 96 | 96 | 96 | 96 -9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 97 | 97 | 97 | 97 -9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 98 | 98 | 98 | 98 -9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 99 | 99 | 99 | 99 -JOIN_TABLE_LARGE_1.ID | JOIN_TABLE_LARGE_1.NUM1 | JOIN_TABLE_LARGE_2.ID | JOIN_TABLE_LARGE_2.NUM2 | JOIN_TABLE_LARGE_3.ID | JOIN_TABLE_LARGE_3.NUM3 | JOIN_TABLE_LARGE_4.ID | JOIN_TABLE_LARGE_4.NUM4 | JOIN_TABLE_LARGE_5.ID | JOIN_TABLE_LARGE_5.NUM5 | JOIN_TABLE_LARGE_6.ID | JOIN_TABLE_LARGE_6.NUM6 diff --git a/test/case/result/primary-multi-index.result b/test/case/result/primary-multi-index.result deleted file mode 100644 index 7939d7a97..000000000 --- a/test/case/result/primary-multi-index.result +++ /dev/null @@ -1,169 +0,0 @@ -1. MULTI INDEX OF EMPTY TABLE -CREATE TABLE multi_index(id int, col1 int, col2 float, col3 char, col4 date, col5 int, col6 int); -SUCCESS -CREATE INDEX i_1_12 ON multi_index(col1,col2); -SUCCESS -CREATE INDEX i_1_345 ON multi_index(col3, col4, col5); -SUCCESS -CREATE INDEX i_1_56 ON multi_index(col5, col6); -SUCCESS -CREATE INDEX i_1_456 ON multi_index(col4, col5, col6); -SUCCESS -SELECT * FROM multi_index; -ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 - -2. MULTI INDEX OF NON-EMPTY TABLE -CREATE TABLE multi_index2(id int, col1 int, col2 float, col3 char, col4 date, col5 int, col6 int); -SUCCESS -INSERT INTO multi_index2 VALUES (1, 1, 11.2, 'a', '2021-01-02', 1, 1); -SUCCESS -INSERT INTO multi_index2 VALUES (2, 1, 16.2, 'x', '2021-01-02', 1, 61); -SUCCESS -INSERT INTO multi_index2 VALUES (3, 1, 11.6, 'h', '2023-01-02', 10, 17); -SUCCESS - -CREATE INDEX i_2_12 ON multi_index2(col1,col2); -SUCCESS -CREATE INDEX i_2_345 ON multi_index2(col3, col4, col5); -SUCCESS -CREATE INDEX i_2_56 ON multi_index2(col5, col6); -SUCCESS -CREATE INDEX i_2_456 ON multi_index2(col4, col5, col6); -SUCCESS -SELECT * FROM multi_index2; -1 | 1 | 11.2 | A | 2021-01-02 | 1 | 1 -2 | 1 | 16.2 | X | 2021-01-02 | 1 | 61 -3 | 1 | 11.6 | H | 2023-01-02 | 10 | 17 -ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 - -3. INFLUENCE OF INSERTING -CREATE TABLE multi_index3(id int, col1 int, col2 float, col3 char, col4 date, col5 int, col6 int); -SUCCESS -CREATE INDEX i_3_i1 ON multi_index3(id,col1); -SUCCESS - -INSERT INTO multi_index3 VALUES (1, 1, 11.2, 'a', '2021-01-02', 1, 1); -SUCCESS -INSERT INTO multi_index3 VALUES (1, 1, 11.2, 'a', '2021-01-02', 1, 1); -SUCCESS -SELECT * FROM multi_index3; -1 | 1 | 11.2 | A | 2021-01-02 | 1 | 1 -1 | 1 | 11.2 | A | 2021-01-02 | 1 | 1 -ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 -CREATE INDEX i_3_14 ON multi_index3(col1,col4); -SUCCESS -INSERT INTO multi_index3 VALUES (2, 1, 16.2, 'x', '2021-01-02', 1, 61); -SUCCESS -INSERT INTO multi_index3 VALUES (3, 1, 11.6, 'h', '2023-01-02', 10, 17); -SUCCESS -INSERT INTO multi_index3 VALUES (4, 2, 12.2, 'e', '2022-01-04', 13, 10); -SUCCESS -INSERT INTO multi_index3 VALUES (5, 3, 14.2, 'd', '2020-04-02', 12, 2); -SUCCESS -SELECT * FROM multi_index3; -1 | 1 | 11.2 | A | 2021-01-02 | 1 | 1 -1 | 1 | 11.2 | A | 2021-01-02 | 1 | 1 -2 | 1 | 16.2 | X | 2021-01-02 | 1 | 61 -3 | 1 | 11.6 | H | 2023-01-02 | 10 | 17 -4 | 2 | 12.2 | E | 2022-01-04 | 13 | 10 -5 | 3 | 14.2 | D | 2020-04-02 | 12 | 2 -ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 - -4. QUERY WITH INDEXS -SELECT * FROM multi_index3 WHERE id = 1; -1 | 1 | 11.2 | A | 2021-01-02 | 1 | 1 -1 | 1 | 11.2 | A | 2021-01-02 | 1 | 1 -ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 -SELECT * FROM multi_index3 WHERE col1 > 1 and col4 = '2021-01-02'; -ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 -SELECT * FROM multi_index3 WHERE col1 <> 1 and col4 >= '2021-01-02'; -4 | 2 | 12.2 | E | 2022-01-04 | 13 | 10 -ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 -SELECT * FROM multi_index3 WHERE col2 < 15.0 and col4 <> '2021-01-02'; -3 | 1 | 11.6 | H | 2023-01-02 | 10 | 17 -4 | 2 | 12.2 | E | 2022-01-04 | 13 | 10 -5 | 3 | 14.2 | D | 2020-04-02 | 12 | 2 -ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 - -5. INFLUENCE OF DELETING -DELETE FROM multi_index3 WHERE id = 1; -SUCCESS -DELETE FROM multi_index3 WHERE id = 61; -SUCCESS -SELECT * FROM multi_index3; -2 | 1 | 16.2 | X | 2021-01-02 | 1 | 61 -3 | 1 | 11.6 | H | 2023-01-02 | 10 | 17 -4 | 2 | 12.2 | E | 2022-01-04 | 13 | 10 -5 | 3 | 14.2 | D | 2020-04-02 | 12 | 2 -ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 - -DELETE FROM multi_index3 WHERE col3 = 'x'; -SUCCESS -SELECT * FROM multi_index3; -3 | 1 | 11.6 | H | 2023-01-02 | 10 | 17 -4 | 2 | 12.2 | E | 2022-01-04 | 13 | 10 -5 | 3 | 14.2 | D | 2020-04-02 | 12 | 2 -ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 - -DELETE FROM multi_index3 WHERE id = 4 and col1 = 1; -SUCCESS -DELETE FROM multi_index3 WHERE id = 90 and col1 = 13; -SUCCESS -DELETE FROM multi_index3 WHERE id = 90 and col1 = 1; -SUCCESS -DELETE FROM multi_index3 WHERE id = 4 and col1 = 13; -SUCCESS -DELETE FROM multi_index3 WHERE id = 3 and col1 = 1; -SUCCESS -DELETE FROM multi_index3 WHERE id = 3 and col1 = 1; -SUCCESS -SELECT * FROM multi_index3; -4 | 2 | 12.2 | E | 2022-01-04 | 13 | 10 -5 | 3 | 14.2 | D | 2020-04-02 | 12 | 2 -ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 - -INSERT INTO multi_index3 VALUES (1, 1, 11.2, 'a', '2021-01-02', 1, 1); -SUCCESS -INSERT INTO multi_index3 VALUES (2, 1, 11.2, 'x', '2021-01-02', 1, 61); -SUCCESS -INSERT INTO multi_index3 VALUES (3, 1, 11.2, 'h', '2023-01-02', 10, 17); -SUCCESS -SELECT * FROM multi_index3; -1 | 1 | 11.2 | A | 2021-01-02 | 1 | 1 -2 | 1 | 11.2 | X | 2021-01-02 | 1 | 61 -3 | 1 | 11.2 | H | 2023-01-02 | 10 | 17 -4 | 2 | 12.2 | E | 2022-01-04 | 13 | 10 -5 | 3 | 14.2 | D | 2020-04-02 | 12 | 2 -ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 - -6. INFLUENCE OF UPDATING -UPDATE multi_index3 SET col6=49 where id=2; -SUCCESS -UPDATE multi_index3 SET col4='1999-02-01' where id=2; -SUCCESS -UPDATE multi_index3 SET col1=2 where id=2; -SUCCESS -UPDATE multi_index3 SET col1=5 where col6=49; -SUCCESS -SELECT * FROM multi_index3; -1 | 1 | 11.2 | A | 2021-01-02 | 1 | 1 -2 | 5 | 11.2 | X | 1999-02-01 | 1 | 49 -3 | 1 | 11.2 | H | 2023-01-02 | 10 | 17 -4 | 2 | 12.2 | E | 2022-01-04 | 13 | 10 -5 | 3 | 14.2 | D | 2020-04-02 | 12 | 2 -ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 - -7. INFLUENCE OF DROPPING TABLE -DROP table multi_index; -SUCCESS - -8. ERROR -CREATE TABLE multi_index4(id int, col1 int, col2 float, col3 char, col4 date, col5 int, col6 int); -SUCCESS - -CREATE INDEX i_4_i7 ON multi_index4(id,col7); -FAILURE -CREATE INDEX i_4_78 ON multi_index4(col7,col8); -FAILURE -CREATE INDEX i_4_i78 ON multi_index4(id,col7,col8); -FAILURE diff --git a/test/case/result/primary-null.result b/test/case/result/primary-null.result deleted file mode 100644 index b04d95227..000000000 --- a/test/case/result/primary-null.result +++ /dev/null @@ -1,184 +0,0 @@ -INITIALIZATION -CREATE TABLE null_table(id int, num int nullable, price float not null, birthday date nullable); -SUCCESS -CREATE TABLE null_table2(id int, num int nullable, price float not null, birthday date nullable); -SUCCESS -CREATE INDEX index_num on null_table(num); -SUCCESS - -1. INSERT -INSERT INTO null_table VALUES (1, 18, 10.0, '2020-01-01'); -SUCCESS -INSERT INTO null_table VALUES (2, null, 20.0, '2010-01-11'); -SUCCESS -INSERT INTO null_table VALUES (3, 12, 30.0, null); -SUCCESS -INSERT INTO null_table VALUES (4, 15, 30.0, '2021-01-31'); -SUCCESS -INSERT INTO null_table2 VALUES (1, 18, 30.0, '2021-01-31'); -SUCCESS -INSERT INTO null_table2 VALUES (2, null, 40.0, null); -SUCCESS - -INSERT INTO null_table VALUES (5, 15, null, '2021-01-31'); -FAILURE -INSERT INTO null_table VALUES (null, 15, 30.0, '2021-01-31'); -FAILURE - -2. SELECT -SELECT * FROM null_table; -1 | 18 | 10 | 2020-01-01 -2 | NULL | 20 | 2010-01-11 -3 | 12 | 30 | NULL -4 | 15 | 30 | 2021-01-31 -ID | NUM | PRICE | BIRTHDAY - -3. SELECT WITH CONSTANT -SELECT * FROM null_table where 1 is null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where 1 is not null; -1 | 18 | 10 | 2020-01-01 -2 | NULL | 20 | 2010-01-11 -3 | 12 | 30 | NULL -4 | 15 | 30 | 2021-01-31 -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where null=1; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where 1=null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where 1<>null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where 1null; -ID | NUM | PRICE | BIRTHDAY - -SELECT * FROM null_table where null is null; -1 | 18 | 10 | 2020-01-01 -2 | NULL | 20 | 2010-01-11 -3 | 12 | 30 | NULL -4 | 15 | 30 | 2021-01-31 -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where null is not null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table WHERE null=null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table WHERE null<>null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table WHERE null>null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table WHERE nullnull; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table WHERE 'a'>null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table WHERE 'a'null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table WHERE '2021-01-31' null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where birthday > null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where birthday < null; -ID | NUM | PRICE | BIRTHDAY - -SELECT * FROM null_table where num is not null; -1 | 18 | 10 | 2020-01-01 -3 | 12 | 30 | NULL -4 | 15 | 30 | 2021-01-31 -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where num is null; -2 | NULL | 20 | 2010-01-11 -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where num = null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where null = num; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where num <> null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where num > null; -ID | NUM | PRICE | BIRTHDAY -SELECT * FROM null_table where num < null; -ID | NUM | PRICE | BIRTHDAY - -SELECT null_table.num,null_table2.num,null_table.birthday FROM null_table,null_table2 where null_table.num=null_table2.num; -18 | 18 | 2020-01-01 -NULL_TABLE.NUM | NULL_TABLE2.NUM | NULL_TABLE.BIRTHDAY - -5. AGGREGATION -SELECT count(*) FROM null_table; -COUNT(*) -4 -SELECT count(price) FROM null_table; -COUNT(PRICE) -4 -SELECT count(birthday) FROM null_table; -COUNT(BIRTHDAY) -3 -SELECT avg(num) FROM null_table; -AVG(NUM) -15 - -6. AGGREGATION WITH NULL COLUMNS -CREATE TABLE null_table3(id int, num int nullable); -SUCCESS -INSERT INTO null_table3 VALUES (1, null); -SUCCESS -INSERT INTO null_table3 VALUES (2, null); -SUCCESS -SELECT count(num) FROM null_table3; -COUNT(NUM) -0 -SELECT min(num) FROM null_table3; -MIN(NUM) -NULL -SELECT max(num) FROM null_table3; -MAX(NUM) -NULL -SELECT avg(num) FROM null_table3; -AVG(NUM) -NULL diff --git a/test/case/result/primary-order-by.result b/test/case/result/primary-order-by.result deleted file mode 100644 index 81bada553..000000000 --- a/test/case/result/primary-order-by.result +++ /dev/null @@ -1,181 +0,0 @@ -1. CREATE TABLE -create table t_order_by(id int, score float, name char); -SUCCESS -create table t_order_by_2(id int, age int); -SUCCESS - -2. INSERT RECORDS -insert into t_order_by values(3, 1.0, 'a'); -SUCCESS -insert into t_order_by values(1, 2.0, 'b'); -SUCCESS -insert into t_order_by values(4, 3.0, 'c'); -SUCCESS -insert into t_order_by values(3, 2.0, 'c'); -SUCCESS -insert into t_order_by values(3, 4.0, 'c'); -SUCCESS -insert into t_order_by values(3, 3.0, 'd'); -SUCCESS -insert into t_order_by values(3, 2.0, 'f'); -SUCCESS - -insert into t_order_by_2 values(1, 10); -SUCCESS -insert into t_order_by_2 values(2, 20); -SUCCESS -insert into t_order_by_2 values(3, 10); -SUCCESS -insert into t_order_by_2 values(3, 20); -SUCCESS -insert into t_order_by_2 values(3, 40); -SUCCESS -insert into t_order_by_2 values(4, 20); -SUCCESS - -3. PRIMARY ORDER BY -select * from t_order_by order by id; -1 | 2 | B -3 | 1 | A -3 | 2 | C -3 | 2 | F -3 | 3 | D -3 | 4 | C -4 | 3 | C -ID | SCORE | NAME - -select * from t_order_by order by id asc; -1 | 2 | B -3 | 1 | A -3 | 2 | C -3 | 2 | F -3 | 3 | D -3 | 4 | C -4 | 3 | C -ID | SCORE | NAME - -select * from t_order_by order by id desc; -1 | 2 | B -3 | 1 | A -3 | 2 | C -3 | 2 | F -3 | 3 | D -3 | 4 | C -4 | 3 | C -ID | SCORE | NAME - -select * from t_order_by order by score desc; -1 | 2 | B -3 | 1 | A -3 | 2 | C -3 | 2 | F -3 | 3 | D -3 | 4 | C -4 | 3 | C -ID | SCORE | NAME - -select * from t_order_by order by name desc; -1 | 2 | B -3 | 1 | A -3 | 2 | C -3 | 2 | F -3 | 3 | D -3 | 4 | C -4 | 3 | C -ID | SCORE | NAME - -4. ORDER BY MORE THAN ONE FIELDS -select * from t_order_by order by id, score, name; -ID | SCORE | NAME -1 | 2 | B -3 | 1 | A -3 | 2 | C -3 | 2 | F -3 | 3 | D -3 | 4 | C -4 | 3 | C - -select * from t_order_by order by id desc, score asc, name desc; -ID | SCORE | NAME -4 | 3 | C -3 | 1 | A -3 | 2 | F -3 | 2 | C -3 | 3 | D -3 | 4 | C -1 | 2 | B - -5. ORDER BY ASSOCIATE WITH WHERE CONDITION -select * from t_order_by where id=3 and name>='a' order by score desc, name; -ID | SCORE | NAME -3 | 4 | C -3 | 3 | D -3 | 2 | C -3 | 2 | F -3 | 1 | A - -6. MULTI-TABLE ORDER BY -select * from t_order_by,t_order_by_2 order by t_order_by.id,t_order_by.score,t_order_by.name,t_order_by_2.id,t_order_by_2.age; -T_ORDER_BY.ID | T_ORDER_BY.SCORE | T_ORDER_BY.NAME | T_ORDER_BY_2.ID | T_ORDER_BY_2.AGE -1 | 2 | B | 1 | 10 -1 | 2 | B | 2 | 20 -1 | 2 | B | 3 | 10 -1 | 2 | B | 3 | 20 -1 | 2 | B | 3 | 40 -1 | 2 | B | 4 | 20 -3 | 1 | A | 1 | 10 -3 | 1 | A | 2 | 20 -3 | 1 | A | 3 | 10 -3 | 1 | A | 3 | 20 -3 | 1 | A | 3 | 40 -3 | 1 | A | 4 | 20 -3 | 2 | C | 1 | 10 -3 | 2 | C | 2 | 20 -3 | 2 | C | 3 | 10 -3 | 2 | C | 3 | 20 -3 | 2 | C | 3 | 40 -3 | 2 | C | 4 | 20 -3 | 2 | F | 1 | 10 -3 | 2 | F | 2 | 20 -3 | 2 | F | 3 | 10 -3 | 2 | F | 3 | 20 -3 | 2 | F | 3 | 40 -3 | 2 | F | 4 | 20 -3 | 3 | D | 1 | 10 -3 | 3 | D | 2 | 20 -3 | 3 | D | 3 | 10 -3 | 3 | D | 3 | 20 -3 | 3 | D | 3 | 40 -3 | 3 | D | 4 | 20 -3 | 4 | C | 1 | 10 -3 | 4 | C | 2 | 20 -3 | 4 | C | 3 | 10 -3 | 4 | C | 3 | 20 -3 | 4 | C | 3 | 40 -3 | 4 | C | 4 | 20 -4 | 3 | C | 1 | 10 -4 | 3 | C | 2 | 20 -4 | 3 | C | 3 | 10 -4 | 3 | C | 3 | 20 -4 | 3 | C | 3 | 40 -4 | 3 | C | 4 | 20 - -select * from t_order_by, t_order_by_2 where t_order_by.id=t_order_by_2.id order by t_order_by.score desc, t_order_by_2.age asc, t_order_by.id asc, t_order_by.name; -T_ORDER_BY.ID | T_ORDER_BY.SCORE | T_ORDER_BY.NAME | T_ORDER_BY_2.ID | T_ORDER_BY_2.AGE -3 | 4 | C | 3 | 10 -3 | 4 | C | 3 | 20 -3 | 4 | C | 3 | 40 -3 | 3 | D | 3 | 10 -3 | 3 | D | 3 | 20 -4 | 3 | C | 4 | 20 -3 | 3 | D | 3 | 40 -1 | 2 | B | 1 | 10 -3 | 2 | C | 3 | 10 -3 | 2 | F | 3 | 10 -3 | 2 | C | 3 | 20 -3 | 2 | F | 3 | 20 -3 | 2 | C | 3 | 40 -3 | 2 | F | 3 | 40 -3 | 1 | A | 3 | 10 -3 | 1 | A | 3 | 20 -3 | 1 | A | 3 | 40 diff --git a/test/case/result/primary-select-meta.result b/test/case/result/primary-select-meta.result deleted file mode 100644 index ea7216767..000000000 --- a/test/case/result/primary-select-meta.result +++ /dev/null @@ -1,13 +0,0 @@ -INITIALIZATION -CREATE TABLE Select_meta(id int, age int); -SUCCESS - -1. SELECT FROM A NON-EXISTENT TABLE -select * from no_table; -FAILURE - -2. SELECT FROM A NON-EXISTENT COLUMN -select home from Select_meta; -FAILURE -select * from Select_meta where home='001'; -FAILURE diff --git a/test/case/result/primary-select-tables.result b/test/case/result/primary-select-tables.result deleted file mode 100644 index 774f70ca1..000000000 --- a/test/case/result/primary-select-tables.result +++ /dev/null @@ -1,107 +0,0 @@ -INITIALIZATION -CREATE TABLE Select_tables_1(id int, age int, u_name char); -SUCCESS -CREATE TABLE Select_tables_2(id int, age int, u_name char); -SUCCESS -CREATE TABLE Select_tables_3(id int, res int, u_name char); -SUCCESS -CREATE TABLE Select_tables_4(id int, age int, u_name char); -SUCCESS -CREATE TABLE Select_tables_5(id int, res int, u_name char); -SUCCESS - -INSERT INTO Select_tables_1 VALUES (1,18,'a'); -SUCCESS -INSERT INTO Select_tables_1 VALUES (2,15,'b'); -SUCCESS -INSERT INTO Select_tables_2 VALUES (1,20,'a'); -SUCCESS -INSERT INTO Select_tables_2 VALUES (2,21,'c'); -SUCCESS -INSERT INTO Select_tables_3 VALUES (1,35,'a'); -SUCCESS -INSERT INTO Select_tables_3 VALUES (2,37,'a'); -SUCCESS - -INSERT DATA INTO SELECT_TABLES_4 AND SELECT_TABLES_5 -INSERT INTO Select_tables_4 VALUES (1, 2, 'a'); -SUCCESS -INSERT INTO Select_tables_4 VALUES (1, 3, 'b'); -SUCCESS -INSERT INTO Select_tables_4 VALUES (2, 2, 'c'); -SUCCESS -INSERT INTO Select_tables_4 VALUES (2, 4, 'd'); -SUCCESS -INSERT INTO Select_tables_5 VALUES (1, 10, 'g'); -SUCCESS -INSERT INTO Select_tables_5 VALUES (1, 11, 'f'); -SUCCESS -INSERT INTO Select_tables_5 VALUES (2, 12, 'c'); -SUCCESS - -1. MULTI-TABLE QUERY -SELECT * FROM Select_tables_1,Select_tables_2,Select_tables_3; -1 | 18 | A | 1 | 20 | A | 1 | 35 | A -1 | 18 | A | 1 | 20 | A | 2 | 37 | A -1 | 18 | A | 2 | 21 | C | 1 | 35 | A -1 | 18 | A | 2 | 21 | C | 2 | 37 | A -2 | 15 | B | 1 | 20 | A | 1 | 35 | A -2 | 15 | B | 1 | 20 | A | 2 | 37 | A -2 | 15 | B | 2 | 21 | C | 1 | 35 | A -2 | 15 | B | 2 | 21 | C | 2 | 37 | A -SELECT_TABLES_1.ID | SELECT_TABLES_1.AGE | SELECT_TABLES_1.U_NAME | SELECT_TABLES_2.ID | SELECT_TABLES_2.AGE | SELECT_TABLES_2.U_NAME | SELECT_TABLES_3.ID | SELECT_TABLES_3.RES | SELECT_TABLES_3.U_NAME -SELECT Select_tables_1.id,Select_tables_2.u_name,Select_tables_3.res FROM Select_tables_1,Select_tables_2,Select_tables_3; -1 | A | 35 -1 | A | 37 -1 | C | 35 -1 | C | 37 -2 | A | 35 -2 | A | 37 -2 | C | 35 -2 | C | 37 -SELECT_TABLES_1.ID | SELECT_TABLES_2.U_NAME | SELECT_TABLES_3.RES -Select Select_tables_1.res FROM Select_tables_1,Select_tables_2,Select_tables_3; -FAILURE - -2. CONDITIONAL QUERY -SELECT * FROM Select_tables_1,Select_tables_2,Select_tables_3 WHERE Select_tables_1.u_name=Select_tables_2.u_name AND Select_tables_2.u_name=Select_tables_3.u_name; -1 | 18 | A | 1 | 20 | A | 1 | 35 | A -1 | 18 | A | 1 | 20 | A | 2 | 37 | A -SELECT_TABLES_1.ID | SELECT_TABLES_1.AGE | SELECT_TABLES_1.U_NAME | SELECT_TABLES_2.ID | SELECT_TABLES_2.AGE | SELECT_TABLES_2.U_NAME | SELECT_TABLES_3.ID | SELECT_TABLES_3.RES | SELECT_TABLES_3.U_NAME -SELECT * FROM Select_tables_1,Select_tables_2,Select_tables_3 WHERE Select_tables_1.id=Select_tables_2.id AND Select_tables_3.res=35; -1 | 18 | A | 1 | 20 | A | 1 | 35 | A -2 | 15 | B | 2 | 21 | C | 1 | 35 | A -SELECT_TABLES_1.ID | SELECT_TABLES_1.AGE | SELECT_TABLES_1.U_NAME | SELECT_TABLES_2.ID | SELECT_TABLES_2.AGE | SELECT_TABLES_2.U_NAME | SELECT_TABLES_3.ID | SELECT_TABLES_3.RES | SELECT_TABLES_3.U_NAME -SELECT * FROM Select_tables_1,Select_tables_2,Select_tables_3 WHERE Select_tables_1.age<18 AND Select_tables_2.u_name='c' AND Select_tables_3.res=35 AND Select_tables_1.id=Select_tables_2.id AND Select_tables_2.id=Select_tables_3.id; -SELECT_TABLES_1.ID | SELECT_TABLES_1.AGE | SELECT_TABLES_1.U_NAME | SELECT_TABLES_2.ID | SELECT_TABLES_2.AGE | SELECT_TABLES_2.U_NAME | SELECT_TABLES_3.ID | SELECT_TABLES_3.RES | SELECT_TABLES_3.U_NAME -SELECT Select_tables_2.age FROM Select_tables_1,Select_tables_2 WHERE Select_tables_1.age<18 AND Select_tables_2.u_name='c' AND Select_tables_1.id=Select_tables_2.id; -21 -SELECT_TABLES_2.AGE - -3. DUPLICATE KEY QUERY -SELECT * from Select_tables_4, Select_tables_5 where Select_tables_4.id=Select_tables_5.id; -1 | 2 | A | 1 | 10 | G -1 | 2 | A | 1 | 11 | F -1 | 3 | B | 1 | 10 | G -1 | 3 | B | 1 | 11 | F -2 | 2 | C | 2 | 12 | C -2 | 4 | D | 2 | 12 | C -SELECT_TABLES_4.ID | SELECT_TABLES_4.AGE | SELECT_TABLES_4.U_NAME | SELECT_TABLES_5.ID | SELECT_TABLES_5.RES | SELECT_TABLES_5.U_NAME -select * from Select_tables_4, Select_tables_5 where Select_tables_4.id >= Select_tables_5.id; -1 | 2 | A | 1 | 10 | G -1 | 2 | A | 1 | 11 | F -1 | 3 | B | 1 | 10 | G -1 | 3 | B | 1 | 11 | F -2 | 2 | C | 1 | 10 | G -2 | 2 | C | 1 | 11 | F -2 | 2 | C | 2 | 12 | C -2 | 4 | D | 1 | 10 | G -2 | 4 | D | 1 | 11 | F -2 | 4 | D | 2 | 12 | C -SELECT_TABLES_4.ID | SELECT_TABLES_4.AGE | SELECT_TABLES_4.U_NAME | SELECT_TABLES_5.ID | SELECT_TABLES_5.RES | SELECT_TABLES_5.U_NAME - -4. JOIN EMPTY TABLE -CREATE TABLE Select_tables_6(id int, res int); -SUCCESS -SELECT Select_tables_1.id,Select_tables_6.id from Select_tables_1, Select_tables_6 where Select_tables_1.id=Select_tables_6.id; -SELECT_TABLES_1.ID | SELECT_TABLES_6.ID diff --git a/test/case/result/primary-simple-sub-query.result b/test/case/result/primary-simple-sub-query.result deleted file mode 100644 index 0ffc1cfc4..000000000 --- a/test/case/result/primary-simple-sub-query.result +++ /dev/null @@ -1,109 +0,0 @@ -INITIALIZATION -CREATE TABLE ssq_1(id int, col1 int, feat1 float); -SUCCESS -CREATE TABLE ssq_2(id int, col2 int, feat2 float); -SUCCESS -CREATE TABLE ssq_3(id int, col3 int, feat3 float); -SUCCESS - -INSERT INTO ssq_1 VALUES (1, 4, 11.2); -SUCCESS -INSERT INTO ssq_1 VALUES (2, 2, 12.0); -SUCCESS -INSERT INTO ssq_1 VALUES (3, 3, 13.5); -SUCCESS -INSERT INTO ssq_2 VALUES (1, 2, 13.0); -SUCCESS -INSERT INTO ssq_2 VALUES (2, 7, 10.5); -SUCCESS -INSERT INTO ssq_2 VALUES (5, 3, 12.6); -SUCCESS - -1. SELECT -select * from ssq_1 where id in (select ssq_2.id from ssq_2); -1 | 4 | 11.2 -2 | 2 | 12 -ID | COL1 | FEAT1 -select * from ssq_1 where col1 not in (select ssq_2.col2 from ssq_2); -1 | 4 | 11.2 -ID | COL1 | FEAT1 - -select * from ssq_1 where col1 = (select avg(ssq_2.col2) from ssq_2); -1 | 4 | 11.2 -ID | COL1 | FEAT1 -select * from ssq_1 where (select avg(ssq_2.col2) from ssq_2) = col1; -1 | 4 | 11.2 -ID | COL1 | FEAT1 - -select * from ssq_1 where feat1 >= (select min(ssq_2.feat2) from ssq_2); -1 | 4 | 11.2 -2 | 2 | 12 -3 | 3 | 13.5 -ID | COL1 | FEAT1 -select * from ssq_1 where (select min(ssq_2.feat2) from ssq_2) <= feat1; -1 | 4 | 11.2 -2 | 2 | 12 -3 | 3 | 13.5 -ID | COL1 | FEAT1 - -select * from ssq_1 where feat1 <= (select max(ssq_2.feat2) from ssq_2); -1 | 4 | 11.2 -2 | 2 | 12 -ID | COL1 | FEAT1 -select * from ssq_1 where (select max(ssq_2.feat2) from ssq_2) >= feat1; -1 | 4 | 11.2 -2 | 2 | 12 -ID | COL1 | FEAT1 - -select * from ssq_1 where feat1 > (select min(ssq_2.feat2) from ssq_2); -1 | 4 | 11.2 -2 | 2 | 12 -3 | 3 | 13.5 -ID | COL1 | FEAT1 -select * from ssq_1 where (select min(ssq_2.feat2) from ssq_2) < feat1; -1 | 4 | 11.2 -2 | 2 | 12 -3 | 3 | 13.5 -ID | COL1 | FEAT1 - -select * from ssq_1 where feat1 < (select max(ssq_2.feat2) from ssq_2); -1 | 4 | 11.2 -2 | 2 | 12 -ID | COL1 | FEAT1 -select * from ssq_1 where (select max(ssq_2.feat2) from ssq_2) > feat1; -1 | 4 | 11.2 -2 | 2 | 12 -ID | COL1 | FEAT1 - -select * from ssq_1 where feat1 <> (select avg(ssq_2.feat2) from ssq_2); -1 | 4 | 11.2 -2 | 2 | 12 -3 | 3 | 13.5 -ID | COL1 | FEAT1 - -2. SELECT WITH EMPTY TABLE -select * from ssq_1 where feat1 < (select max(ssq_2.feat2) from ssq_2 where 1=0); -ID | COL1 | FEAT1 -select * from ssq_1 where id in (select ssq_2.id from ssq_2 where 1=0); -ID | COL1 | FEAT1 -select * from ssq_1 where id not in (select ssq_2.id from ssq_2 where 1=0); -1 | 4 | 11.2 -2 | 2 | 12 -3 | 3 | 13.5 -ID | COL1 | FEAT1 -select * from ssq_3 where feat3 < (select max(ssq_2.feat2) from ssq_2); -ID | COL3 | FEAT3 -select * from ssq_3 where id in (select ssq_2.id from ssq_2); -ID | COL3 | FEAT3 -select * from ssq_3 where id not in (select ssq_2.id from ssq_2); -ID | COL3 | FEAT3 - -3. ERROR -select * from ssq_1 where col1 = (select ssq_2.col2 from ssq_2); -FAILURE -select * from ssq_1 where col1 = (select * from ssq_2); -FAILURE -select * from ssq_1 where col1 in (select * from ssq_2); -FAILURE -select * from ssq_1 where col1 not in (select * from ssq_2); -FAILURE diff --git a/test/case/result/primary-text.result b/test/case/result/primary-text.result deleted file mode 100644 index 5b31e5291..000000000 --- a/test/case/result/primary-text.result +++ /dev/null @@ -1,50 +0,0 @@ -INITIALIZATION -create table text_table(id int, info text); -SUCCESS - -1. INSERT -insert into text_table values (1,'this is a very very long string'); -SUCCESS -insert into text_table values (2,'this is a very very long string2'); -SUCCESS -insert into text_table values (3,'this is a very very long string3'); -SUCCESS -select * from text_table; -1 | THIS IS A VERY VERY LONG STRING -2 | THIS IS A VERY VERY LONG STRING2 -3 | THIS IS A VERY VERY LONG STRING3 -ID | INFO - -2. CONDITION -delete from text_table where id=1; -SUCCESS -select * from text_table; -2 | THIS IS A VERY VERY LONG STRING2 -3 | THIS IS A VERY VERY LONG STRING3 -ID | INFO - -3. UPDATE -UPDATE text_table set info='a tmp data' where id = 2; -SUCCESS -select * from text_table; -2 | A TMP DATA -3 | THIS IS A VERY VERY LONG STRING3 -ID | INFO - -4. BOUNDARY TEST WITH LENGTH 4096 -insert into text_table values (4,'this is a very very long string pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad1'); -SUCCESS -select * from text_table; -2 | A TMP DATA -3 | THIS IS A VERY VERY LONG STRING3 -4 | THIS IS A VERY VERY LONG STRING PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD1 -ID | INFO - -insert into text_table values (5,'this is a very very long string pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad pad1 pad pad pad pad'); -SUCCESS -select * from text_table; -2 | A TMP DATA -3 | THIS IS A VERY VERY LONG STRING3 -4 | THIS IS A VERY VERY LONG STRING PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD1 -5 | THIS IS A VERY VERY LONG STRING PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD PAD1 -ID | INFO diff --git a/test/case/result/primary-unique.result b/test/case/result/primary-unique.result deleted file mode 100644 index 54a36709a..000000000 --- a/test/case/result/primary-unique.result +++ /dev/null @@ -1,24 +0,0 @@ -INITIALIZATION -CREATE TABLE unique_table(id int, col1 int, col2 int); -SUCCESS -INSERT INTO unique_table VALUES (1,1,1); -SUCCESS - -1. UNIQUE TEST -CREATE UNIQUE INDEX index_id on unique_table(id); -SUCCESS -INSERT INTO unique_table VALUES (2,1,1); -SUCCESS -CREATE UNIQUE INDEX index_id on unique_table(id); -FAILURE -INSERT INTO unique_table VALUES (3,2,1); -SUCCESS -INSERT INTO unique_table VALUES (1,2,1); -FAILURE - -2. SELECT -SELECT * FROM unique_table; -1 | 1 | 1 -2 | 1 | 1 -3 | 2 | 1 -ID | COL1 | COL2 diff --git a/test/case/result/primary-update.result b/test/case/result/primary-update.result deleted file mode 100644 index 86b2069cc..000000000 --- a/test/case/result/primary-update.result +++ /dev/null @@ -1,81 +0,0 @@ -INITIALIZATION -CREATE TABLE Update_table_1(id int, t_name char, col1 int, col2 int); -SUCCESS -CREATE INDEX index_id on Update_table_1(id); -SUCCESS -INSERT INTO Update_table_1 VALUES (1,'N1',1,1); -SUCCESS -INSERT INTO Update_table_1 VALUES (2,'N2',1,1); -SUCCESS -INSERT INTO Update_table_1 VALUES (3,'N3',2,1); -SUCCESS - -1. UPDATE A ROW -UPDATE Update_table_1 SET t_name='N01' WHERE id=1; -SUCCESS -SELECT * FROM Update_table_1; -1 | N01 | 1 | 1 -2 | N2 | 1 | 1 -3 | N3 | 2 | 1 -ID | T_NAME | COL1 | COL2 - -2. UPDATE ROWS -UPDATE Update_table_1 SET col2=0 WHERE col1=1; -SUCCESS -SELECT * FROM Update_table_1; -1 | N01 | 1 | 0 -2 | N2 | 1 | 0 -3 | N3 | 2 | 1 -ID | T_NAME | COL1 | COL2 - -3. UPDATE A INDEX COLUMN -UPDATE Update_table_1 SET id=4 WHERE t_name='N3'; -SUCCESS -SELECT * FROM Update_table_1; -1 | N01 | 1 | 0 -2 | N2 | 1 | 0 -4 | N3 | 2 | 1 -ID | T_NAME | COL1 | COL2 - -4. UPDATE WITHOUT CONDITIONS -UPDATE Update_table_1 SET col1=0; -SUCCESS -SELECT * FROM Update_table_1; -1 | N01 | 0 | 0 -2 | N2 | 0 | 0 -4 | N3 | 0 | 1 -ID | T_NAME | COL1 | COL2 - -5. UPDATE WITH CONDITIONS -UPDATE Update_table_1 SET t_name='N02' WHERE col1=0 AND col2=0; -SUCCESS -SELECT * FROM Update_table_1; -1 | N02 | 0 | 0 -2 | N02 | 0 | 0 -4 | N3 | 0 | 1 -ID | T_NAME | COL1 | COL2 - -6. UPDATE NON-EXISTENT TABLE -UPDATE Update_table_2 SET t_name='N01' WHERE id=1; -FAILURE - -7. UPDATE NON-EXISTENT COLUMN -UPDATE Update_table_1 SET t_name_false='N01' WHERE id=1; -FAILURE - -8. UPDATE WITH INVALID CONDITION -UPDATE Update_table_1 SET t_name='N01' WHERE id_false=1; -FAILURE - -9. UPDATE IN VAIN -UPDATE Update_table_1 SET t_name='N01' WHERE id=100; -SUCCESS -SELECT * FROM Update_table_1; -1 | N02 | 0 | 0 -2 | N02 | 0 | 0 -4 | N3 | 0 | 1 -ID | T_NAME | COL1 | COL2 - -10. UPDATE WITH INVALID VALUE -UPDATE Update_table_1 SET col1='N01' WHERE id=1; -FAILURE diff --git a/test/case/test/primary-insert.test b/test/case/test/primary-insert.test deleted file mode 100644 index 429afc87b..000000000 --- a/test/case/test/primary-insert.test +++ /dev/null @@ -1,13 +0,0 @@ --- echo initialization -CREATE TABLE insert_table(id int, t_name char, col1 int, col2 int); - --- echo 1. insert -INSERT INTO insert_table VALUES (1,'N1',1,1); -INSERT INTO insert_table VALUES (2,'N2',1,1),(3,'N3',2,1); - --- echo 2. error -INSERT INTO insert_table VALUES (4,'N4',1,1),(1,1,1); -INSERT INTO insert_table VALUES (4,'N4',1,1),(1,1,1,1); - --- echo 3. select --- sort SELECT * FROM insert_table; \ No newline at end of file diff --git a/test/case/test/primary-null.test b/test/case/test/primary-null.test index e86fead71..a66b7c125 100644 --- a/test/case/test/primary-null.test +++ b/test/case/test/primary-null.test @@ -1,6 +1,6 @@ -- echo initialization -CREATE TABLE null_table(id int, num int nullable, price float not null, birthday date nullable); -CREATE TABLE null_table2(id int, num int nullable, price float not null, birthday date nullable); +CREATE TABLE null_table(id int not null, num int null, price float not null, birthday date null); +CREATE TABLE null_table2(id int not null, num int null, price float not null, birthday date null); CREATE INDEX index_num on null_table(num); -- echo 1. insert @@ -74,7 +74,7 @@ SELECT count(birthday) FROM null_table; SELECT avg(num) FROM null_table; -- echo 6. aggregation with null columns -CREATE TABLE null_table3(id int, num int nullable); +CREATE TABLE null_table3(id int not null, num int null); INSERT INTO null_table3 VALUES (1, null); INSERT INTO null_table3 VALUES (2, null); SELECT count(num) FROM null_table3; diff --git a/test/case/test/primary-select-meta.test b/test/case/test/primary-select-meta.test deleted file mode 100644 index 6243ebc4a..000000000 --- a/test/case/test/primary-select-meta.test +++ /dev/null @@ -1,9 +0,0 @@ --- echo initialization -CREATE TABLE Select_meta(id int, age int); - --- echo 1. select from a non-existent table -select * from no_table; - --- echo 2. select from a non-existent column -select home from Select_meta; -select * from Select_meta where home='001'; diff --git a/test/case/test/primary-select-tables.test b/test/case/test/primary-select-tables.test deleted file mode 100644 index 98408c1be..000000000 --- a/test/case/test/primary-select-tables.test +++ /dev/null @@ -1,41 +0,0 @@ --- echo initialization -CREATE TABLE Select_tables_1(id int, age int, u_name char); -CREATE TABLE Select_tables_2(id int, age int, u_name char); -CREATE TABLE Select_tables_3(id int, res int, u_name char); -CREATE TABLE Select_tables_4(id int, age int, u_name char); -CREATE TABLE Select_tables_5(id int, res int, u_name char); - -INSERT INTO Select_tables_1 VALUES (1,18,'a'); -INSERT INTO Select_tables_1 VALUES (2,15,'b'); -INSERT INTO Select_tables_2 VALUES (1,20,'a'); -INSERT INTO Select_tables_2 VALUES (2,21,'c'); -INSERT INTO Select_tables_3 VALUES (1,35,'a'); -INSERT INTO Select_tables_3 VALUES (2,37,'a'); - --- echo insert data into select_tables_4 and select_tables_5 -INSERT INTO Select_tables_4 VALUES (1, 2, 'a'); -INSERT INTO Select_tables_4 VALUES (1, 3, 'b'); -INSERT INTO Select_tables_4 VALUES (2, 2, 'c'); -INSERT INTO Select_tables_4 VALUES (2, 4, 'd'); -INSERT INTO Select_tables_5 VALUES (1, 10, 'g'); -INSERT INTO Select_tables_5 VALUES (1, 11, 'f'); -INSERT INTO Select_tables_5 VALUES (2, 12, 'c'); - --- echo 1. multi-table query --- sort SELECT * FROM Select_tables_1,Select_tables_2,Select_tables_3; --- sort SELECT Select_tables_1.id,Select_tables_2.u_name,Select_tables_3.res FROM Select_tables_1,Select_tables_2,Select_tables_3; -Select Select_tables_1.res FROM Select_tables_1,Select_tables_2,Select_tables_3; - --- echo 2. conditional query --- sort SELECT * FROM Select_tables_1,Select_tables_2,Select_tables_3 WHERE Select_tables_1.u_name=Select_tables_2.u_name AND Select_tables_2.u_name=Select_tables_3.u_name; --- sort SELECT * FROM Select_tables_1,Select_tables_2,Select_tables_3 WHERE Select_tables_1.id=Select_tables_2.id AND Select_tables_3.res=35; --- sort SELECT * FROM Select_tables_1,Select_tables_2,Select_tables_3 WHERE Select_tables_1.age<18 AND Select_tables_2.u_name='c' AND Select_tables_3.res=35 AND Select_tables_1.id=Select_tables_2.id AND Select_tables_2.id=Select_tables_3.id; --- sort SELECT Select_tables_2.age FROM Select_tables_1,Select_tables_2 WHERE Select_tables_1.age<18 AND Select_tables_2.u_name='c' AND Select_tables_1.id=Select_tables_2.id; - --- echo 3. duplicate key query --- sort SELECT * from Select_tables_4, Select_tables_5 where Select_tables_4.id=Select_tables_5.id; --- sort select * from Select_tables_4, Select_tables_5 where Select_tables_4.id >= Select_tables_5.id; - --- echo 4. join empty table -CREATE TABLE Select_tables_6(id int, res int); --- sort SELECT Select_tables_1.id,Select_tables_6.id from Select_tables_1, Select_tables_6 where Select_tables_1.id=Select_tables_6.id;