mirror of
https://github.com/status-im/sqlcipher.git
synced 2026-08-30 22:11:14 +00:00
Snapshot of upstream SQLite 3.30.1
This commit is contained in:
+43
-1
@@ -812,11 +812,16 @@ do_execsql_test join-15.105 {
|
||||
FROM t1 LEFT JOIN t2
|
||||
WHERE a IN (1,3,x,y);
|
||||
} {1 2 {} {} x 3 4 {} {} x}
|
||||
do_execsql_test join-15.106 {
|
||||
do_execsql_test join-15.106a {
|
||||
SELECT *, 'x'
|
||||
FROM t1 LEFT JOIN t2
|
||||
WHERE NOT ( 'x'='y' AND t2.y=1 );
|
||||
} {1 2 {} {} x 3 4 {} {} x}
|
||||
do_execsql_test join-15.106b {
|
||||
SELECT *, 'x'
|
||||
FROM t1 LEFT JOIN t2
|
||||
WHERE ~ ( 'x'='y' AND t2.y=1 );
|
||||
} {1 2 {} {} x 3 4 {} {} x}
|
||||
do_execsql_test join-15.107 {
|
||||
SELECT *, 'x'
|
||||
FROM t1 LEFT JOIN t2
|
||||
@@ -864,4 +869,41 @@ do_execsql_test join-16.100 {
|
||||
WHERE (b IS NOT NULL)=0;
|
||||
} {1 {}}
|
||||
|
||||
# 2019-08-17 ticket https://sqlite.org/src/tktview/6710d2f7a13a299728ab
|
||||
# Ensure that constants that derive from the right-hand table of a LEFT JOIN
|
||||
# are never factored out, since they are not really constant.
|
||||
#
|
||||
do_execsql_test join-17.100 {
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(x);
|
||||
INSERT INTO t1(x) VALUES(0),(1);
|
||||
SELECT * FROM t1 LEFT JOIN (SELECT abs(1) AS y FROM t1) ON x WHERE NOT(y='a');
|
||||
} {1 1 1 1}
|
||||
do_execsql_test join-17.110 {
|
||||
SELECT * FROM t1 LEFT JOIN (SELECT abs(1)+2 AS y FROM t1) ON x
|
||||
WHERE NOT(y='a');
|
||||
} {1 3 1 3}
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
reset_db
|
||||
do_execsql_test join-18.1 {
|
||||
CREATE TABLE t0(a);
|
||||
CREATE TABLE t1(b);
|
||||
CREATE VIEW v0 AS SELECT a FROM t1 LEFT JOIN t0;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
} {}
|
||||
|
||||
do_execsql_test join-18.2 {
|
||||
SELECT * FROM v0 WHERE NOT(v0.a IS FALSE);
|
||||
} {{}}
|
||||
|
||||
do_execsql_test join-18.3 {
|
||||
SELECT * FROM t1 LEFT JOIN t0 WHERE NOT(a IS FALSE);
|
||||
} {1 {}}
|
||||
|
||||
do_execsql_test join-18.4 {
|
||||
SELECT NOT(v0.a IS FALSE) FROM v0
|
||||
} {1}
|
||||
|
||||
finish_test
|
||||
|
||||
|
||||
Reference in New Issue
Block a user