mirror of
https://github.com/aljazceru/turso.git
synced 2026-02-11 19:24:21 +01:00
testing/sqlite3: Disable SELECT tests that require views
This commit is contained in:
@@ -1203,11 +1203,12 @@ do_execsql_test select1-20.20 {
|
||||
|
||||
# 2020-10-02 dbsqlfuzz find
|
||||
reset_db
|
||||
do_execsql_test select1-21.1 {
|
||||
CREATE TABLE t1(a IMTEGES PRIMARY KEY,R);
|
||||
CREATE TABLE t2(x UNIQUE);
|
||||
CREATE VIEW v1a(z,y) AS SELECT x IS NULL, x FROM t2;
|
||||
SELECT a,(+a)b,(+a)b,(+a)b,NOT EXISTS(SELECT null FROM t2),CASE z WHEN 487 THEN 992 WHEN 391 THEN 203 WHEN 10 THEN '?k<D Q' END,'' FROM t1 LEFT JOIN v1a ON z=b;
|
||||
} {}
|
||||
# TODO: Views are not supported.
|
||||
#do_execsql_test select1-21.1 {
|
||||
# CREATE TABLE t1(a IMTEGES PRIMARY KEY,R);
|
||||
# CREATE TABLE t2(x UNIQUE);
|
||||
# CREATE VIEW v1a(z,y) AS SELECT x IS NULL, x FROM t2;
|
||||
# SELECT a,(+a)b,(+a)b,(+a)b,NOT EXISTS(SELECT null FROM t2),CASE z WHEN 487 THEN 992 WHEN 391 THEN 203 WHEN 10 THEN '?k<D Q' END,'' FROM t1 LEFT JOIN v1a ON z=b;
|
||||
#} {}
|
||||
|
||||
finish_test
|
||||
|
||||
@@ -1010,20 +1010,21 @@ do_catchsql_test select4-17.3 {
|
||||
# optimizations.
|
||||
#
|
||||
reset_db
|
||||
do_execsql_test select4-18.1 {
|
||||
CREATE VIEW v0(v0) AS WITH v0 AS(SELECT 0 v0) SELECT(SELECT min(v0) OVER()) FROM v0 GROUP BY v0;
|
||||
SELECT *FROM v0 v1 JOIN v0 USING(v0) WHERE datetime(v0) = (v0.v0)AND v0 = 10;
|
||||
} {}
|
||||
do_execsql_test select4-18.2 {
|
||||
CREATE VIEW t1(aa) AS
|
||||
WITH t2(bb) AS (SELECT 123)
|
||||
SELECT (SELECT min(bb) OVER()) FROM t2 GROUP BY bb;
|
||||
SELECT * FROM t1;
|
||||
} {123}
|
||||
do_execsql_test select4-18.3 {
|
||||
SELECT * FROM t1 AS z1 JOIN t1 AS z2 USING(aa)
|
||||
WHERE abs(z1.aa)=z2.aa AND z1.aa=123;
|
||||
} {123}
|
||||
# TODO: Views are not supported.
|
||||
#do_execsql_test select4-18.1 {
|
||||
# CREATE VIEW v0(v0) AS WITH v0 AS(SELECT 0 v0) SELECT(SELECT min(v0) OVER()) FROM v0 GROUP BY v0;
|
||||
# SELECT *FROM v0 v1 JOIN v0 USING(v0) WHERE datetime(v0) = (v0.v0)AND v0 = 10;
|
||||
#} {}
|
||||
#do_execsql_test select4-18.2 {
|
||||
# CREATE VIEW t1(aa) AS
|
||||
# WITH t2(bb) AS (SELECT 123)
|
||||
# SELECT (SELECT min(bb) OVER()) FROM t2 GROUP BY bb;
|
||||
# SELECT * FROM t1;
|
||||
#} {123}
|
||||
#do_execsql_test select4-18.3 {
|
||||
# SELECT * FROM t1 AS z1 JOIN t1 AS z2 USING(aa)
|
||||
# WHERE abs(z1.aa)=z2.aa AND z1.aa=123;
|
||||
#} {123}
|
||||
|
||||
# 2021-03-31 Fix an assert() problem in the logic at the end of sqlite3Select()
|
||||
# that validates AggInfo. The checks to ensure that AggInfo.aCol[].pCExpr
|
||||
|
||||
@@ -38,22 +38,23 @@ ifcapable tempdb {
|
||||
|
||||
# Nested views do not handle * properly. Ticket #826.
|
||||
#
|
||||
ifcapable view {
|
||||
do_test select7-2.1 {
|
||||
execsql {
|
||||
CREATE TABLE x(id integer primary key, a TEXT NULL);
|
||||
INSERT INTO x (a) VALUES ('first');
|
||||
CREATE TABLE tempx(id integer primary key, a TEXT NULL);
|
||||
INSERT INTO tempx (a) VALUES ('t-first');
|
||||
CREATE VIEW tv1 AS SELECT x.id, tx.id FROM x JOIN tempx tx ON tx.id=x.id;
|
||||
CREATE VIEW tv1b AS SELECT x.id, tx.id FROM x JOIN tempx tx on tx.id=x.id;
|
||||
CREATE VIEW tv2 AS SELECT * FROM tv1 UNION SELECT * FROM tv1b;
|
||||
SELECT * FROM tv2;
|
||||
}
|
||||
} {1 1}
|
||||
} ;# ifcapable view
|
||||
|
||||
} ;# ifcapable compound
|
||||
# TODO: Views are not supported
|
||||
#ifcapable view {
|
||||
#do_test select7-2.1 {
|
||||
# execsql {
|
||||
# CREATE TABLE x(id integer primary key, a TEXT NULL);
|
||||
# INSERT INTO x (a) VALUES ('first');
|
||||
# CREATE TABLE tempx(id integer primary key, a TEXT NULL);
|
||||
# INSERT INTO tempx (a) VALUES ('t-first');
|
||||
# CREATE VIEW tv1 AS SELECT x.id, tx.id FROM x JOIN tempx tx ON tx.id=x.id;
|
||||
# CREATE VIEW tv1b AS SELECT x.id, tx.id FROM x JOIN tempx tx on tx.id=x.id;
|
||||
# CREATE VIEW tv2 AS SELECT * FROM tv1 UNION SELECT * FROM tv1b;
|
||||
# SELECT * FROM tv2;
|
||||
# }
|
||||
#} {1 1}
|
||||
#} ;# ifcapable view
|
||||
#
|
||||
#} ;# ifcapable compound
|
||||
|
||||
# Do not allow GROUP BY without an aggregate. Ticket #1039.
|
||||
#
|
||||
@@ -241,10 +242,11 @@ do_catchsql_test 8.1 {
|
||||
) WHERE y=1
|
||||
} {1 {SELECTs to the left and right of UNION do not have the same number of result columns}}
|
||||
|
||||
do_catchsql_test 8.2 {
|
||||
CREATE VIEW v0 as SELECT x, y FROM t01 UNION SELECT x FROM t02;
|
||||
EXPLAIN QUERY PLAN SELECT * FROM v0 WHERE x='0' OR y;
|
||||
} {1 {SELECTs to the left and right of UNION do not have the same number of result columns}}
|
||||
# TODO: Views are not supported
|
||||
#do_catchsql_test 8.2 {
|
||||
# CREATE VIEW v0 as SELECT x, y FROM t01 UNION SELECT x FROM t02;
|
||||
# EXPLAIN QUERY PLAN SELECT * FROM v0 WHERE x='0' OR y;
|
||||
#} {1 {SELECTs to the left and right of UNION do not have the same number of result columns}}
|
||||
|
||||
|
||||
finish_test
|
||||
|
||||
@@ -374,10 +374,11 @@ do_test select9-3.4 {
|
||||
execsql { CREATE INDEX i2 ON t2(d) }
|
||||
cksort { SELECT a FROM t1 UNION ALL SELECT d FROM t2 ORDER BY 1 LIMIT 5 }
|
||||
} {1 1 2 2 3 nosort}
|
||||
do_test select9-3.5 {
|
||||
execsql { CREATE VIEW v1 AS SELECT a FROM t1 UNION ALL SELECT d FROM t2 }
|
||||
cksort { SELECT a FROM v1 ORDER BY 1 LIMIT 5 }
|
||||
} {1 1 2 2 3 nosort}
|
||||
# TODO: Views are not supported.
|
||||
#do_test select9-3.5 {
|
||||
# execsql { CREATE VIEW v1 AS SELECT a FROM t1 UNION ALL SELECT d FROM t2 }
|
||||
# cksort { SELECT a FROM v1 ORDER BY 1 LIMIT 5 }
|
||||
#} {1 1 2 2 3 nosort}
|
||||
do_test select9-3.X {
|
||||
execsql {
|
||||
DROP INDEX i1;
|
||||
@@ -403,15 +404,15 @@ do_test select9-4.4 {
|
||||
execsql { CREATE INDEX i2 ON t2(d) }
|
||||
cksort { SELECT a FROM t1 UNION SELECT d FROM t2 ORDER BY 1 LIMIT 5 }
|
||||
} {1 2 3 4 5 nosort}
|
||||
do_test select9-4.5 {
|
||||
execsql { CREATE VIEW v1 AS SELECT a FROM t1 UNION SELECT d FROM t2 }
|
||||
cksort { SELECT a FROM v1 ORDER BY 1 LIMIT 5 }
|
||||
} {1 2 3 4 5 sort}
|
||||
#do_test select9-4.5 {
|
||||
# execsql { CREATE VIEW v1 AS SELECT a FROM t1 UNION SELECT d FROM t2 }
|
||||
# cksort { SELECT a FROM v1 ORDER BY 1 LIMIT 5 }
|
||||
#} {1 2 3 4 5 sort}
|
||||
do_test select9-4.X {
|
||||
execsql {
|
||||
DROP INDEX i1;
|
||||
DROP INDEX i2;
|
||||
DROP VIEW v1;
|
||||
# DROP VIEW v1;
|
||||
}
|
||||
} {}
|
||||
|
||||
@@ -423,32 +424,32 @@ do_test select9-4.X {
|
||||
#
|
||||
# For additional information.
|
||||
#
|
||||
do_test select9-5.1 {
|
||||
db eval {
|
||||
CREATE TABLE t51(x, y);
|
||||
CREATE TABLE t52(x, y);
|
||||
CREATE VIEW v5 as
|
||||
SELECT x, y FROM t51
|
||||
UNION ALL
|
||||
SELECT x, y FROM t52;
|
||||
CREATE INDEX t51x ON t51(x);
|
||||
CREATE INDEX t52x ON t52(x);
|
||||
EXPLAIN QUERY PLAN
|
||||
SELECT * FROM v5 WHERE x='12345' ORDER BY y;
|
||||
}
|
||||
} {~/SCAN/} ;# Uses indices with "*"
|
||||
do_test select9-5.2 {
|
||||
db eval {
|
||||
EXPLAIN QUERY PLAN
|
||||
SELECT x, y FROM v5 WHERE x='12345' ORDER BY y;
|
||||
}
|
||||
} {~/SCAN/} ;# Uses indices with "x, y"
|
||||
do_test select9-5.3 {
|
||||
db eval {
|
||||
EXPLAIN QUERY PLAN
|
||||
SELECT x, y FROM v5 WHERE +x='12345' ORDER BY y;
|
||||
}
|
||||
} {/SCAN/} ;# Full table scan if the "+x" prevents index usage.
|
||||
#do_test select9-5.1 {
|
||||
# db eval {
|
||||
# CREATE TABLE t51(x, y);
|
||||
# CREATE TABLE t52(x, y);
|
||||
# CREATE VIEW v5 as
|
||||
# SELECT x, y FROM t51
|
||||
# UNION ALL
|
||||
# SELECT x, y FROM t52;
|
||||
# CREATE INDEX t51x ON t51(x);
|
||||
# CREATE INDEX t52x ON t52(x);
|
||||
# EXPLAIN QUERY PLAN
|
||||
# SELECT * FROM v5 WHERE x='12345' ORDER BY y;
|
||||
# }
|
||||
#} {~/SCAN/} ;# Uses indices with "*"
|
||||
#do_test select9-5.2 {
|
||||
# db eval {
|
||||
# EXPLAIN QUERY PLAN
|
||||
# SELECT x, y FROM v5 WHERE x='12345' ORDER BY y;
|
||||
# }
|
||||
#} {~/SCAN/} ;# Uses indices with "x, y"
|
||||
#do_test select9-5.3 {
|
||||
# db eval {
|
||||
# EXPLAIN QUERY PLAN
|
||||
# SELECT x, y FROM v5 WHERE +x='12345' ORDER BY y;
|
||||
# }
|
||||
#} {/SCAN/} ;# Full table scan if the "+x" prevents index usage.
|
||||
|
||||
# 2013-07-09: Ticket [490a4b7235624298]:
|
||||
# "WHERE 0" on the first element of a UNION causes an assertion fault
|
||||
|
||||
@@ -1449,24 +1449,25 @@ do_execsql_test 6.1 {
|
||||
# 2020-06-15 ticket 8f157e8010b22af0
|
||||
#
|
||||
reset_db
|
||||
do_execsql_test 7.1 {
|
||||
CREATE TABLE t1(c1); INSERT INTO t1 VALUES(12),(123),(1234),(NULL),('abc');
|
||||
CREATE TABLE t2(c2); INSERT INTO t2 VALUES(44),(55),(123);
|
||||
CREATE TABLE t3(c3,c4); INSERT INTO t3 VALUES(66,1),(123,2),(77,3);
|
||||
CREATE VIEW t4 AS SELECT c3 FROM t3;
|
||||
CREATE VIEW t5 AS SELECT c3 FROM t3 ORDER BY c4;
|
||||
}
|
||||
do_execsql_test 7.2 {
|
||||
SELECT * FROM t1, t2 WHERE c1=(SELECT 123 INTERSECT SELECT c2 FROM t4) AND c1=123;
|
||||
} {123 123}
|
||||
do_execsql_test 7.3 {
|
||||
SELECT * FROM t1, t2 WHERE c1=(SELECT 123 INTERSECT SELECT c2 FROM t5) AND c1=123;
|
||||
} {123 123}
|
||||
do_execsql_test 7.4 {
|
||||
CREATE TABLE a(b);
|
||||
CREATE VIEW c(d) AS SELECT b FROM a ORDER BY b;
|
||||
SELECT sum(d) OVER( PARTITION BY(SELECT 0 FROM c JOIN a WHERE b =(SELECT b INTERSECT SELECT d FROM c) AND b = 123)) FROM c;
|
||||
} {}
|
||||
# TODO: Views are not supported.
|
||||
#do_execsql_test 7.1 {
|
||||
# CREATE TABLE t1(c1); INSERT INTO t1 VALUES(12),(123),(1234),(NULL),('abc');
|
||||
# CREATE TABLE t2(c2); INSERT INTO t2 VALUES(44),(55),(123);
|
||||
# CREATE TABLE t3(c3,c4); INSERT INTO t3 VALUES(66,1),(123,2),(77,3);
|
||||
# CREATE VIEW t4 AS SELECT c3 FROM t3;
|
||||
# CREATE VIEW t5 AS SELECT c3 FROM t3 ORDER BY c4;
|
||||
#}
|
||||
#do_execsql_test 7.2 {
|
||||
# SELECT * FROM t1, t2 WHERE c1=(SELECT 123 INTERSECT SELECT c2 FROM t4) AND c1=123;
|
||||
#} {123 123}
|
||||
#do_execsql_test 7.3 {
|
||||
# SELECT * FROM t1, t2 WHERE c1=(SELECT 123 INTERSECT SELECT c2 FROM t5) AND c1=123;
|
||||
#} {123 123}
|
||||
#do_execsql_test 7.4 {
|
||||
# CREATE TABLE a(b);
|
||||
# CREATE VIEW c(d) AS SELECT b FROM a ORDER BY b;
|
||||
# SELECT sum(d) OVER( PARTITION BY(SELECT 0 FROM c JOIN a WHERE b =(SELECT b INTERSECT SELECT d FROM c) AND b = 123)) FROM c;
|
||||
#} {}
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
reset_db
|
||||
|
||||
@@ -230,10 +230,11 @@ do_execsql_test selectC-4.2 {
|
||||
select a from (select distinct a, b from t_distinct_bug)
|
||||
} {1 1 1}
|
||||
|
||||
do_execsql_test selectC-4.2b {
|
||||
CREATE VIEW v42b AS SELECT DISTINCT a, b FROM t_distinct_bug;
|
||||
SELECT a FROM v42b;
|
||||
} {1 1 1}
|
||||
# TODO: Views are not supported.
|
||||
#do_execsql_test selectC-4.2b {
|
||||
# CREATE VIEW v42b AS SELECT DISTINCT a, b FROM t_distinct_bug;
|
||||
# SELECT a FROM v42b;
|
||||
#} {1 1 1}
|
||||
|
||||
do_execsql_test selectC-4.3 {
|
||||
select a, udf() from (select distinct a, b from t_distinct_bug)
|
||||
@@ -242,34 +243,35 @@ do_execsql_test selectC-4.3 {
|
||||
#-------------------------------------------------------------------------
|
||||
# Test that the problem in ticket #190c2507 has been fixed.
|
||||
#
|
||||
do_execsql_test 5.0 {
|
||||
CREATE TABLE x1(a);
|
||||
CREATE TABLE x2(b);
|
||||
CREATE TABLE x3(c);
|
||||
CREATE VIEW vvv AS SELECT b FROM x2 ORDER BY 1;
|
||||
# TODO: Views are not supported.
|
||||
#do_execsql_test 5.0 {
|
||||
# CREATE TABLE x1(a);
|
||||
# CREATE TABLE x2(b);
|
||||
# CREATE TABLE x3(c);
|
||||
# CREATE VIEW vvv AS SELECT b FROM x2 ORDER BY 1;
|
||||
#
|
||||
# INSERT INTO x1 VALUES('a'), ('b');
|
||||
# INSERT INTO x2 VALUES(22), (23), (25), (24), (21);
|
||||
# INSERT INTO x3 VALUES(302), (303), (301);
|
||||
#}
|
||||
|
||||
INSERT INTO x1 VALUES('a'), ('b');
|
||||
INSERT INTO x2 VALUES(22), (23), (25), (24), (21);
|
||||
INSERT INTO x3 VALUES(302), (303), (301);
|
||||
}
|
||||
#do_execsql_test 5.1 {
|
||||
# CREATE TABLE x4 AS SELECT b FROM vvv UNION ALL SELECT c from x3;
|
||||
# SELECT * FROM x4;
|
||||
#} {21 22 23 24 25 302 303 301}
|
||||
|
||||
do_execsql_test 5.1 {
|
||||
CREATE TABLE x4 AS SELECT b FROM vvv UNION ALL SELECT c from x3;
|
||||
SELECT * FROM x4;
|
||||
} {21 22 23 24 25 302 303 301}
|
||||
#do_execsql_test 5.2 {
|
||||
# SELECT * FROM x1, x4
|
||||
#} {
|
||||
# a 21 a 22 a 23 a 24 a 25 a 302 a 303 a 301
|
||||
# b 21 b 22 b 23 b 24 b 25 b 302 b 303 b 301
|
||||
#}
|
||||
|
||||
do_execsql_test 5.2 {
|
||||
SELECT * FROM x1, x4
|
||||
} {
|
||||
a 21 a 22 a 23 a 24 a 25 a 302 a 303 a 301
|
||||
b 21 b 22 b 23 b 24 b 25 b 302 b 303 b 301
|
||||
}
|
||||
|
||||
do_execsql_test 5.3 {
|
||||
SELECT * FROM x1, (SELECT b FROM vvv UNION ALL SELECT c from x3) ORDER BY 1,2;
|
||||
} {
|
||||
a 21 a 22 a 23 a 24 a 25 a 301 a 302 a 303
|
||||
b 21 b 22 b 23 b 24 b 25 b 301 b 302 b 303
|
||||
}
|
||||
#do_execsql_test 5.3 {
|
||||
# SELECT * FROM x1, (SELECT b FROM vvv UNION ALL SELECT c from x3) ORDER BY 1,2;
|
||||
#} {
|
||||
# a 21 a 22 a 23 a 24 a 25 a 301 a 302 a 303
|
||||
# b 21 b 22 b 23 b 24 b 25 b 301 b 302 b 303
|
||||
#}
|
||||
|
||||
finish_test
|
||||
|
||||
@@ -76,35 +76,35 @@ do_test 2.2 {
|
||||
set ::selectH_cnt
|
||||
} {0}
|
||||
|
||||
do_execsql_test 3.1 {
|
||||
CREATE VIEW v1 AS
|
||||
SELECT c16 AS a, *, counter(1) AS x FROM t1
|
||||
UNION ALL
|
||||
SELECT c17 AS a, *, counter(1) AS x FROM t1
|
||||
UNION ALL
|
||||
SELECT c18 AS a, *, counter(1) AS x FROM t1
|
||||
UNION ALL
|
||||
SELECT c19 AS a, *, counter(1) AS x FROM t1;
|
||||
SELECT count(*) FROM v1 WHERE c60=60;
|
||||
} {4}
|
||||
do_test 3.2 {
|
||||
set ::selectH_cnt
|
||||
} {0}
|
||||
do_execsql_test 3.3 {
|
||||
SELECT count(a) FROM v1 WHERE c60=60;
|
||||
} {4}
|
||||
do_execsql_test 3.4 {
|
||||
SELECT a FROM v1 WHERE c60=60;
|
||||
} {16 17 18 19}
|
||||
do_test 3.5 {
|
||||
set ::selectH_cnt
|
||||
} {0}
|
||||
do_execsql_test 3.6 {
|
||||
SELECT x FROM v1 WHERE c60=60;
|
||||
} {1 2 3 4}
|
||||
do_test 3.7 {
|
||||
set ::selectH_cnt
|
||||
} {4}
|
||||
#do_execsql_test 3.1 {
|
||||
# CREATE VIEW v1 AS
|
||||
# SELECT c16 AS a, *, counter(1) AS x FROM t1
|
||||
# UNION ALL
|
||||
## SELECT c17 AS a, *, counter(1) AS x FROM t1
|
||||
## UNION ALL
|
||||
# SELECT c18 AS a, *, counter(1) AS x FROM t1
|
||||
# UNION ALL
|
||||
# SELECT c19 AS a, *, counter(1) AS x FROM t1;
|
||||
# SELECT count(*) FROM v1 WHERE c60=60;
|
||||
#} {4}
|
||||
#do_test 3.2 {
|
||||
# set ::selectH_cnt
|
||||
#} {0}
|
||||
#do_execsql_test 3.3 {
|
||||
# SELECT count(a) FROM v1 WHERE c60=60;
|
||||
#} {4}
|
||||
#do_execsql_test 3.4 {
|
||||
# SELECT a FROM v1 WHERE c60=60;
|
||||
#} {16 17 18 19}
|
||||
#do_test 3.5 {
|
||||
# set ::selectH_cnt
|
||||
#} {0}
|
||||
#do_execsql_test 3.6 {
|
||||
# SELECT x FROM v1 WHERE c60=60;
|
||||
#} {1 2 3 4}
|
||||
#do_test 3.7 {
|
||||
# set ::selectH_cnt
|
||||
#} {4}
|
||||
|
||||
# 2023-02-25 dbsqlfuzz bf1d3ed6e0e0dd8766027797d43db40c776d2b15
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user