aboutsummaryrefslogtreecommitdiff
path: root/test/e_expr.test
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2013-11-26 15:45:02 +0000
committerdrh <drh@noemail.net>2013-11-26 15:45:02 +0000
commitde1a8b8c691ecc8be8b9741b6b5b5cd141c8c3da (patch)
treedbea3ec5c8f09d9b3401ee1eb836e07c1ca4216c /test/e_expr.test
parentdad19c320475942a449ac6f9817a4d06dfddf392 (diff)
downloadsqlite-de1a8b8c691ecc8be8b9741b6b5b5cd141c8c3da.tar.gz
sqlite-de1a8b8c691ecc8be8b9741b6b5b5cd141c8c3da.zip
Change the REAL-to-INTEGER casting behavior so that if the REAL value
is greater than 9223372036854775807.0 then it is cast to the latest possible integer, 9223372036854775807. This is sensible and the way most platforms work in hardware. The former behavior was that oversize REALs would be cast to the smallest possible integer, -9223372036854775808, which is the way Intel hardware works. FossilOrigin-Name: 6f53fc7106658d44edf63068f9a8522fa5a7688b
Diffstat (limited to 'test/e_expr.test')
-rw-r--r--test/e_expr.test4
1 files changed, 2 insertions, 2 deletions
diff --git a/test/e_expr.test b/test/e_expr.test
index 2018db8a0..eead6a2b9 100644
--- a/test/e_expr.test
+++ b/test/e_expr.test
@@ -1606,14 +1606,14 @@ do_expr_test e_expr-31.1.4 { CAST(-0.99999 AS INTEGER) } integer 0
# an INTEGER then the result of the cast is the largest negative
# integer: -9223372036854775808.
#
-do_expr_test e_expr-31.2.1 { CAST(2e+50 AS INT) } integer -9223372036854775808
+do_expr_test e_expr-31.2.1 { CAST(2e+50 AS INT) } integer 9223372036854775807
do_expr_test e_expr-31.2.2 { CAST(-2e+50 AS INT) } integer -9223372036854775808
do_expr_test e_expr-31.2.3 {
CAST(-9223372036854775809.0 AS INT)
} integer -9223372036854775808
do_expr_test e_expr-31.2.4 {
CAST(9223372036854775809.0 AS INT)
-} integer -9223372036854775808
+} integer 9223372036854775807
# EVIDENCE-OF: R-09295-61337 Casting a TEXT or BLOB value into NUMERIC