New test cases for cursor renumbering in the UNION ALL query flattener.

FossilOrigin-Name: 270babf259750f3d6c490a08df608a101b24b3c06b9e8a938a0e09a854af6a20
This commit is contained in:
drh 2020-12-30 13:10:57 +00:00
parent a06eafc8fc
commit c4403ca61a
3 changed files with 50 additions and 7 deletions

View File

@ -1,5 +1,5 @@
C Do\snot\sset\sthe\sP3\sparameter\son\sOP_RowCell\swhen\scopying\san\sindex\sbtree,\sas\nP3\sis\snot\sused\sin\sthat\scase.
D 2020-12-29T15:06:26.440
C New\stest\scases\sfor\scursor\srenumbering\sin\sthe\sUNION\sALL\squery\sflattener.
D 2020-12-30T13:10:57.397
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@ -1627,7 +1627,7 @@ F test/tt3_vacuum.c 1753f45917699c9c1f66b64c717a717c9379f776
F test/types.test bf816ce73c7dfcfe26b700c19f97ef4050d194ff
F test/types2.test 1aeb81976841a91eef292723649b5c4fe3bc3cac
F test/types3.test 99e009491a54f4dc02c06bdbc0c5eea56ae3e25a
F test/unionall.test 25fe866e51b6b590f59117d713ee5e88f5ad8d1fea136a0c4b0c597904e07887
F test/unionall.test ca6f612930c79e30f41f804dff4cce949b61347930847642e333ecd5d79f5964
F test/unionall2.test c9a62db63350bcbce3a7bec50dd8c5410f08be33f8af435473756286d4657215
F test/unionallfault.test 652bfbb630e6c43135965dc1e8f0a9a791da83aec885d626a632fe1909c56f73
F test/unionvtab.test e1704ab1b4c1bb3ffc9da4681f8e85a0b909fd80b937984fc94b27415ac8e5a4
@ -1894,7 +1894,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 328bc4a01dd67096be49c8b5a656109ad2839a7959d1b00c02a96bfbcb44ec18
R 781b48b7ecdc86b8a50d5d0b6180469c
P eef070a4aadf02a845d0ed00767be049d3b76e811e24797a116776fa836d1b03
R 9df7a36b340e01b8e6a68b556d08634a
U drh
Z 7a280581b61c05a6f5da0fb16cf85e09
Z 1966d3d59e34224433c9949aacd8ed2d

View File

@ -1 +1 @@
eef070a4aadf02a845d0ed00767be049d3b76e811e24797a116776fa836d1b03
270babf259750f3d6c490a08df608a101b24b3c06b9e8a938a0e09a854af6a20

View File

@ -283,4 +283,47 @@ do_execsql_test 4.3 {
123 t1_a 456 t3_a 123 t1_a {} {}
}
# 2020-12-30: dbsqlfuzz find
reset_db
do_execsql_test 5.1 {
CREATE TABLE t1_a(a INTEGER PRIMARY KEY, b TEXT);
INSERT INTO t1_a VALUES(1,'one');
INSERT INTO t1_a VALUES(0,NULL);
CREATE TABLE t1_b(c INTEGER PRIMARY KEY, d TEXT);
INSERT INTO t1_b VALUES(2,'two');
INSERT INTO t1_b VALUES(5,'five');
CREATE TABLE t1_c(e INTEGER PRIMARY KEY, f TEXT);
INSERT INTO t1_c VALUES(3,'three');
INSERT INTO t1_c VALUES(6,'six');
CREATE TABLE t2(k,v);
INSERT INTO t2 VALUES(5,'v');
INSERT INTO t2 VALUES(4,'iv');
INSERT INTO t2 VALUES(3,'iii');
INSERT INTO t2 VALUES(2,'ii');
CREATE TABLE t3_a(k INTEGER PRIMARY KEY, v TEXT);
INSERT INTO t3_a VALUES(2,'ii');
INSERT INTO t3_a VALUES(4,'iv');
CREATE TABLE t3_b(k INTEG5R PRIMARY KEY, v TEXT);
INSERT INTO t3_b VALUES(NULL,'iii');
INSERT INTO t3_b VALUES(NULL,'v');
CREATE VIEW t1 AS
SELECT a, b FROM t1_a UNION ALL
SELECT c, d FROM t1_b UNION ALL
SELECT e, f FROM t1_c;
CREATE VIEW t3 AS
SELECT * FROM t3_a
UNION ALL
SELECT * FROM t3_b;
CREATE TRIGGER t3_insert INSTEAD OF INSERT ON t3 BEGIN
INSERT INTO t3_a SELECT new.k, new.v WHERE (new.k%2)==0;
INSERT INTO t3_b SELECT new.k, new.v WHERE (new.k%2)==1;
END;
} {}
do_execsql_test 5.10 {
SELECT *, '+' FROM t1 LEFT JOIN t2 ON (a NOT IN(SELECT v FROM t1, t3 WHERE a=k)=NOT EXISTS(SELECT 1 FROM t1 LEFT JOIN t3 ON (a=k)));
} {0 {} {} {} + 1 one {} {} + 2 two {} {} + 5 five {} {} + 3 three {} {} + 6 six {} {} +}
do_execsql_test 5.20 {
SELECT *, '+' FROM t1 LEFT JOIN t3 ON (a NOT IN(SELECT v FROM t1 LEFT JOIN t2 ON (a=k))=k);
} {0 {} {} {} + 1 one {} {} + 2 two {} {} + 5 five {} {} + 3 three {} {} + 6 six {} {} +}
finish_test