-C Fix\sa\scrash\sin\sunionvtab\scaused\sby\sa\smisconfiguration.\sAdd\sother\stest\scases\nfor\sthe\ssame.
-D 2017-07-18T21:19:17.472
+C Add\sfurther\stests\sto\sunionvtab.test.
+D 2017-07-19T11:52:25.505
F Makefile.in d9873c9925917cca9990ee24be17eb9613a668012c85a343aef7e5536ae266e8
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 02b469e9dcd5b7ee63fc1fb05babc174260ee4cfa4e0ef2e48c3c6801567a016
F test/types.test bf816ce73c7dfcfe26b700c19f97ef4050d194ff
F test/types2.test 1aeb81976841a91eef292723649b5c4fe3bc3cac
F test/types3.test 99e009491a54f4dc02c06bdbc0c5eea56ae3e25a
-F test/unionvtab.test a5b6a8118de8673aec45cdf8f4aa0bcd05b859e448424558fcbd9ee0f1cc41c2
+F test/unionvtab.test 3cb7463d8c6a34ae7c043e53103d63d19465a1488f4587a981ae05e978cc6d26
F test/unionvtabfault.test ccb87c510efd0da88d90d813cfaeebe69f2be78cdfbdc3343b04fd9fc507d887
F test/unique.test 93f8b2ef5ea51b9495f8d6493429b1fd0f465264
F test/unique2.test 3674e9f2a3f1fbbfd4772ac74b7a97090d0f77d2
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 505fdc8ff5150276d3c6ab6135a542b791e9e79e2f76323e592b73b3fdc9bc2a
-R 8a8c551ade3a7904ad53bd61f1cbe08d
+P 255d6b99de2bb210c09ebee9f9481ba3d1130fda47e6e01b4cc8411d00679d09
+R 95d6426702858750789f88d482aacd89
U dan
-Z 3243e7bcd67f989b9bcab9c5c686c467
+Z 0400e0363a16f21362bc55d50dbde94c
20 twenty 21 twenty-one 22 twenty-two
}
+do_execsql_test 1.9 {
+ CREATE VIRTUAL TABLE temp.qll USING unionvtab(
+ 'SELECT * FROM src WHERE db!=''xyz'''
+ );
+ SELECT * FROM qll WHERE rowid BETWEEN 10 AND 21;
+} {
+ 10 ten 11 eleven 12 twelve
+ 20 twenty 21 twenty-one
+}
+
#-------------------------------------------------------------------------
# Error conditions.
#
CREATE TABLE wr1(a, b, c PRIMARY KEY) WITHOUT ROWID;
CREATE VIEW v1 AS SELECT * FROM t1;
CREATE VIEW v2 AS SELECT _rowid_, * FROM t1;
+
+ CREATE TABLE wr2(a, _rowid_ INTEGER, c PRIMARY KEY) WITHOUT ROWID;
+ CREATE TABLE wr3(a, b, _rowid_ PRIMARY KEY) WITHOUT ROWID;
}
do_catchsql_test 2.3.1 {
CREATE VIRTUAL TABLE temp.u1 USING unionvtab("VALUES('main', 'wr1', 1, 2)");
do_catchsql_test 2.3.3 {
CREATE VIRTUAL TABLE temp.u1 USING unionvtab("VALUES(NULL, 'v2', 1, 2)");
} {1 {no such rowid table: v2}}
+do_catchsql_test 2.3.4 {
+ CREATE VIRTUAL TABLE temp.u1 USING unionvtab("VALUES(NULL, 'wr2', 1, 2)");
+} {1 {no such rowid table: wr2}}
+do_catchsql_test 2.3.5 {
+ CREATE VIRTUAL TABLE temp.u1 USING unionvtab("VALUES(NULL, 'wr3', 1, 2)");
+} {1 {no such rowid table: wr3}}
do_execsql_test 2.4.0 {
CREATE TABLE x1(a BLOB, b);
SELECT * FROM sl WHERE rowid>9223372036854775807
} { }
+#-------------------------------------------------------------------------
+# More than 8 source tables.
+#
+do_execsql_test 5.0 {
+ CREATE TABLE c0(one, two INTEGER PRIMARY KEY);
+ CREATE TABLE c1(one, two INTEGER PRIMARY KEY);
+ CREATE TABLE c2(one, two INTEGER PRIMARY KEY);
+ CREATE TABLE c3(one, two INTEGER PRIMARY KEY);
+ CREATE TABLE c4(one, two INTEGER PRIMARY KEY);
+ CREATE TABLE c5(one, two INTEGER PRIMARY KEY);
+ CREATE TABLE c6(one, two INTEGER PRIMARY KEY);
+ CREATE TABLE c7(one, two INTEGER PRIMARY KEY);
+ CREATE TABLE c8(one, two INTEGER PRIMARY KEY);
+ CREATE TABLE c9(one, two INTEGER PRIMARY KEY);
+
+ INSERT INTO c0 VALUES('zero', 0);
+ INSERT INTO c1 VALUES('one', 1);
+ INSERT INTO c2 VALUES('two', 2);
+ INSERT INTO c3 VALUES('three', 3);
+ INSERT INTO c4 VALUES('four', 4);
+ INSERT INTO c5 VALUES('five', 5);
+ INSERT INTO c6 VALUES('six', 6);
+ INSERT INTO c7 VALUES('seven', 7);
+ INSERT INTO c8 VALUES('eight', 8);
+ INSERT INTO c9 VALUES('nine', 9);
+
+ CREATE VIRTUAL TABLE temp.cc USING unionvtab([
+ SELECT 'main', 'c9', 9, 9 UNION ALL
+ SELECT 'main', 'c8', 8, 8 UNION ALL
+ SELECT 'main', 'c7', 7, 7 UNION ALL
+ SELECT 'main', 'c6', 6, 6 UNION ALL
+ SELECT 'main', 'c5', 5, 5 UNION ALL
+ SELECT 'main', 'c4', 4, 4 UNION ALL
+ SELECT 'main', 'c3', 3, 3 UNION ALL
+ SELECT 'main', 'c2', 2, 2 UNION ALL
+ SELECT 'main', 'c1', 1, 1 UNION ALL
+ SELECT 'main', 'c0', 0, 0
+ ]);
+
+ SELECT sum(two) FROM cc;
+} {45}
+
+do_execsql_test 5.1 {
+ SELECT one FROM cc WHERE one>='seven'
+} {zero two three six seven}
+
+do_execsql_test 5.2 {
+ SELECT y.one FROM cc AS x, cc AS y WHERE x.one=y.one AND x.rowid>5
+} {six seven eight nine}
+
+do_execsql_test 5.3 {
+ SELECT cc.one FROM c4, cc WHERE cc.rowid>c4.rowid
+} {five six seven eight nine}
+
+do_execsql_test 5.4 {
+ SELECT * FROM cc WHERE two LIKE '6'
+} {six 6}
+
finish_test