aboutsummaryrefslogtreecommitdiff
path: root/test/expr.test
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2018-02-26 15:27:31 +0000
committerdrh <drh@noemail.net>2018-02-26 15:27:31 +0000
commit1fcfa7240f9ab22d11f12d92378c64e89fbf36fb (patch)
tree3ca4dd8dc1201e518b517c5076e71b460f8ff2f5 /test/expr.test
parent5facffbc70893cea166235f87ac3c2ae7ee6fbe1 (diff)
downloadsqlite-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.test22
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