mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-08 14:02:16 +03:00
Fix the OP_SeekGE, OP_SeekGT, OP_SeekLE, and OP_SeekLT opcodes so that they
preserve the datatype of the value in the register used as the key. Ticket [d9f584e936c7a8d0] FossilOrigin-Name: 81b9f0f55042777b37de78069f7089041a9ee21dd0a0c86b879053fb46e140b4
This commit is contained in:
@@ -1538,4 +1538,37 @@ do_catchsql_test where-25.5 {
|
||||
ON CONFLICT(c) DO UPDATE SET b=NULL
|
||||
} {1 {corrupt database}}
|
||||
|
||||
# 2019-08-21 Ticket https://www.sqlite.org/src/info/d9f584e936c7a8d0
|
||||
#
|
||||
db close
|
||||
sqlite3 db :memory:
|
||||
do_execsql_test where-26.1 {
|
||||
CREATE TABLE t0(c0 INTEGER PRIMARY KEY, c1 TEXT);
|
||||
INSERT INTO t0(c0, c1) VALUES (1, 'a');
|
||||
CREATE TABLE t1(c0 INT PRIMARY KEY, c1 TEXT);
|
||||
INSERT INTO t1(c0, c1) VALUES (1, 'a');
|
||||
SELECT * FROM t0 WHERE '-1' BETWEEN 0 AND t0.c0;
|
||||
} {1 a}
|
||||
do_execsql_test where-26.2 {
|
||||
SELECT * FROM t1 WHERE '-1' BETWEEN 0 AND t1.c0;
|
||||
} {1 a}
|
||||
do_execsql_test where-26.3 {
|
||||
SELECT * FROM t0 WHERE '-1'>=0 AND '-1'<=t0.c0;
|
||||
} {1 a}
|
||||
do_execsql_test where-26.4 {
|
||||
SELECT * FROM t1 WHERE '-1'>=0 AND '-1'<=t1.c0;
|
||||
} {1 a}
|
||||
do_execsql_test where-26.5 {
|
||||
SELECT '-1' BETWEEN 0 AND t0.c0 FROM t0;
|
||||
} {1}
|
||||
do_execsql_test where-26.6 {
|
||||
SELECT '-1' BETWEEN 0 AND t1.c0 FROM t1;
|
||||
} {1}
|
||||
do_execsql_test where-26.7 {
|
||||
SELECT '-1'>=0 AND '-1'<=t0.c0 FROM t0;
|
||||
} {1}
|
||||
do_execsql_test where-26.8 {
|
||||
SELECT '-1'>=0 AND '-1'<=t1.c0 FROM t1;
|
||||
} {1}
|
||||
|
||||
finish_test
|
||||
|
Reference in New Issue
Block a user