diff options
author | drh <drh@noemail.net> | 2018-02-26 15:27:31 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2018-02-26 15:27:31 +0000 |
commit | 1fcfa7240f9ab22d11f12d92378c64e89fbf36fb (patch) | |
tree | 3ca4dd8dc1201e518b517c5076e71b460f8ff2f5 /test/expr.test | |
parent | 5facffbc70893cea166235f87ac3c2ae7ee6fbe1 (diff) | |
download | sqlite-1fcfa7240f9ab22d11f12d92378c64e89fbf36fb.tar.gz sqlite-1fcfa7240f9ab22d11f12d92378c64e89fbf36fb.zip |
Always interpret non-zero floating-point values as true even if their
integer part is zero. Fix for ticket [36fae083b450e3af857a459e20].
FossilOrigin-Name: a983fa857048c748112c2f805f13aadeae43b43b3d27fa55433a3699b51c9a0e
Diffstat (limited to 'test/expr.test')
-rw-r--r-- | test/expr.test | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/expr.test b/test/expr.test index 7a6d47725..edef3486a 100644 --- a/test/expr.test +++ b/test/expr.test @@ -977,6 +977,28 @@ do_execsql_test expr-13.9 { SELECT '' <= ""; } {1} +# 2018-02-26. Ticket https://www.sqlite.org/src/tktview/36fae083b450e3af85 +# +do_execsql_test expr-14.1 { + DROP TABLE IF EXISTS t1; + CREATE TABLE t1(x); + INSERT INTO t1 VALUES(0),(1),(NULL),(0.5),('1x'),('0x'); + SELECT count(*) FROM t1 + WHERE (x OR (8==9)) != (CASE WHEN x THEN 1 ELSE 0 END); +} {0} +do_execsql_test expr-14.2 { + SELECT count(*) FROM t1 + WHERE (x OR (8==9)) != (NOT NOT x); +} {0} +do_execsql_test expr-14.3 { + SELECT sum(NOT x) FROM t1 + WHERE x +} {0} +do_execsql_test expr-14.4 { + SELECT sum(CASE WHEN x THEN 0 ELSE 1 END) FROM t1 + WHERE x +} {0} + finish_test |