Index: third_party/sqlite/src/test/expr.test |
diff --git a/third_party/sqlite/src/test/expr.test b/third_party/sqlite/src/test/expr.test |
index 5a3d16751767b74b9dd3fac1b85ab81c37193b7f..8d913d2a1a727d0bf00d83313e49222cacbd26d6 100644 |
--- a/third_party/sqlite/src/test/expr.test |
+++ b/third_party/sqlite/src/test/expr.test |
@@ -32,6 +32,11 @@ proc test_expr {name settings expr result} { |
execsql {BEGIN; UPDATE test1 SET %s; SELECT %s FROM test1; ROLLBACK;} |
} $settings $expr] $result |
} |
+proc test_realnum_expr {name settings expr result} { |
+ do_realnum_test $name [format { |
+ execsql {BEGIN; UPDATE test1 SET %s; SELECT %s FROM test1; ROLLBACK;} |
+ } $settings $expr] $result |
+} |
test_expr expr-1.1 {i1=10, i2=20} {i1+i2} 30 |
test_expr expr-1.2 {i1=10, i2=20} {i1-i2} -10 |
@@ -164,7 +169,7 @@ ifcapable floatingpoint { |
} |
if {[working_64bit_int]} { |
- test_expr expr-1.106 {i1=0} {-9223372036854775808/-1} 9.22337203685478e+18 |
+ test_realnum_expr expr-1.106 {i1=0} {-9223372036854775808/-1} 9.22337203685478e+18 |
} |
test_expr expr-1.107 {i1=0} {-9223372036854775808%-1} 0 |
@@ -200,103 +205,107 @@ test_expr expr-1.125 {i1=6, i2=NULL} \ |
test_expr expr-1.126 {i1=8, i2=8} \ |
{CASE WHEN i1 IS NOT i2 THEN 'yes' ELSE 'no' END} no |
+do_catchsql_test expr-1.127 { |
+ SELECT 1 IS #1; |
+} {1 {near "#1": syntax error}} |
+ |
ifcapable floatingpoint {if {[working_64bit_int]} { |
test_expr expr-1.200\ |
{i1=9223372036854775806, i2=1} {i1+i2} 9223372036854775807 |
- test_expr expr-1.201\ |
+ test_realnum_expr expr-1.201\ |
{i1=9223372036854775806, i2=2} {i1+i2} 9.22337203685478e+18 |
- test_expr expr-1.202\ |
+ test_realnum_expr expr-1.202\ |
{i1=9223372036854775806, i2=100000} {i1+i2} 9.22337203685488e+18 |
- test_expr expr-1.203\ |
+ test_realnum_expr expr-1.203\ |
{i1=9223372036854775807, i2=0} {i1+i2} 9223372036854775807 |
- test_expr expr-1.204\ |
+ test_realnum_expr expr-1.204\ |
{i1=9223372036854775807, i2=1} {i1+i2} 9.22337203685478e+18 |
- test_expr expr-1.205\ |
+ test_realnum_expr expr-1.205\ |
{i2=9223372036854775806, i1=1} {i1+i2} 9223372036854775807 |
- test_expr expr-1.206\ |
+ test_realnum_expr expr-1.206\ |
{i2=9223372036854775806, i1=2} {i1+i2} 9.22337203685478e+18 |
- test_expr expr-1.207\ |
+ test_realnum_expr expr-1.207\ |
{i2=9223372036854775806, i1=100000} {i1+i2} 9.22337203685488e+18 |
- test_expr expr-1.208\ |
+ test_realnum_expr expr-1.208\ |
{i2=9223372036854775807, i1=0} {i1+i2} 9223372036854775807 |
- test_expr expr-1.209\ |
+ test_realnum_expr expr-1.209\ |
{i2=9223372036854775807, i1=1} {i1+i2} 9.22337203685478e+18 |
- test_expr expr-1.210\ |
+ test_realnum_expr expr-1.210\ |
{i1=-9223372036854775807, i2=-1} {i1+i2} -9223372036854775808 |
- test_expr expr-1.211\ |
+ test_realnum_expr expr-1.211\ |
{i1=-9223372036854775807, i2=-2} {i1+i2} -9.22337203685478e+18 |
- test_expr expr-1.212\ |
+ test_realnum_expr expr-1.212\ |
{i1=-9223372036854775807, i2=-100000} {i1+i2} -9.22337203685488e+18 |
- test_expr expr-1.213\ |
+ test_realnum_expr expr-1.213\ |
{i1=-9223372036854775808, i2=0} {i1+i2} -9223372036854775808 |
- test_expr expr-1.214\ |
+ test_realnum_expr expr-1.214\ |
{i1=-9223372036854775808, i2=-1} {i1+i2} -9.22337203685478e+18 |
- test_expr expr-1.215\ |
+ test_realnum_expr expr-1.215\ |
{i2=-9223372036854775807, i1=-1} {i1+i2} -9223372036854775808 |
- test_expr expr-1.216\ |
+ test_realnum_expr expr-1.216\ |
{i2=-9223372036854775807, i1=-2} {i1+i2} -9.22337203685478e+18 |
- test_expr expr-1.217\ |
+ test_realnum_expr expr-1.217\ |
{i2=-9223372036854775807, i1=-100000} {i1+i2} -9.22337203685488e+18 |
- test_expr expr-1.218\ |
+ test_realnum_expr expr-1.218\ |
{i2=-9223372036854775808, i1=0} {i1+i2} -9223372036854775808 |
- test_expr expr-1.219\ |
+ test_realnum_expr expr-1.219\ |
{i2=-9223372036854775808, i1=-1} {i1+i2} -9.22337203685478e+18 |
- test_expr expr-1.220\ |
+ test_realnum_expr expr-1.220\ |
{i1=9223372036854775806, i2=-1} {i1-i2} 9223372036854775807 |
- test_expr expr-1.221\ |
+ test_realnum_expr expr-1.221\ |
{i1=9223372036854775806, i2=-2} {i1-i2} 9.22337203685478e+18 |
- test_expr expr-1.222\ |
+ test_realnum_expr expr-1.222\ |
{i1=9223372036854775806, i2=-100000} {i1-i2} 9.22337203685488e+18 |
- test_expr expr-1.223\ |
+ test_realnum_expr expr-1.223\ |
{i1=9223372036854775807, i2=0} {i1-i2} 9223372036854775807 |
- test_expr expr-1.224\ |
+ test_realnum_expr expr-1.224\ |
{i1=9223372036854775807, i2=-1} {i1-i2} 9.22337203685478e+18 |
- test_expr expr-1.225\ |
+ test_realnum_expr expr-1.225\ |
{i2=-9223372036854775806, i1=1} {i1-i2} 9223372036854775807 |
- test_expr expr-1.226\ |
+ test_realnum_expr expr-1.226\ |
{i2=-9223372036854775806, i1=2} {i1-i2} 9.22337203685478e+18 |
- test_expr expr-1.227\ |
+ test_realnum_expr expr-1.227\ |
{i2=-9223372036854775806, i1=100000} {i1-i2} 9.22337203685488e+18 |
- test_expr expr-1.228\ |
+ test_realnum_expr expr-1.228\ |
{i2=-9223372036854775807, i1=0} {i1-i2} 9223372036854775807 |
- test_expr expr-1.229\ |
+ test_realnum_expr expr-1.229\ |
{i2=-9223372036854775807, i1=1} {i1-i2} 9.22337203685478e+18 |
- test_expr expr-1.230\ |
+ test_realnum_expr expr-1.230\ |
{i1=-9223372036854775807, i2=1} {i1-i2} -9223372036854775808 |
- test_expr expr-1.231\ |
+ test_realnum_expr expr-1.231\ |
{i1=-9223372036854775807, i2=2} {i1-i2} -9.22337203685478e+18 |
- test_expr expr-1.232\ |
+ test_realnum_expr expr-1.232\ |
{i1=-9223372036854775807, i2=100000} {i1-i2} -9.22337203685488e+18 |
- test_expr expr-1.233\ |
+ test_realnum_expr expr-1.233\ |
{i1=-9223372036854775808, i2=0} {i1-i2} -9223372036854775808 |
- test_expr expr-1.234\ |
+ test_realnum_expr expr-1.234\ |
{i1=-9223372036854775808, i2=1} {i1-i2} -9.22337203685478e+18 |
- test_expr expr-1.235\ |
+ test_realnum_expr expr-1.235\ |
{i2=9223372036854775807, i1=-1} {i1-i2} -9223372036854775808 |
- test_expr expr-1.236\ |
+ test_realnum_expr expr-1.236\ |
{i2=9223372036854775807, i1=-2} {i1-i2} -9.22337203685478e+18 |
- test_expr expr-1.237\ |
+ test_realnum_expr expr-1.237\ |
{i2=9223372036854775807, i1=-100000} {i1-i2} -9.22337203685488e+18 |
- test_expr expr-1.238\ |
+ test_realnum_expr expr-1.238\ |
{i2=9223372036854775807, i1=0} {i1-i2} -9223372036854775807 |
- test_expr expr-1.239\ |
+ test_realnum_expr expr-1.239\ |
{i2=9223372036854775807, i1=-1} {i1-i2} -9223372036854775808 |
- test_expr expr-1.250\ |
+ test_realnum_expr expr-1.250\ |
{i1=4294967296, i2=2147483648} {i1*i2} 9.22337203685478e+18 |
- test_expr expr-1.251\ |
+ test_realnum_expr expr-1.251\ |
{i1=4294967296, i2=2147483647} {i1*i2} 9223372032559808512 |
- test_expr expr-1.252\ |
+ test_realnum_expr expr-1.252\ |
{i1=-4294967296, i2=2147483648} {i1*i2} -9223372036854775808 |
- test_expr expr-1.253\ |
+ test_realnum_expr expr-1.253\ |
{i1=-4294967296, i2=2147483647} {i1*i2} -9223372032559808512 |
- test_expr expr-1.254\ |
+ test_realnum_expr expr-1.254\ |
{i1=4294967296, i2=-2147483648} {i1*i2} -9223372036854775808 |
- test_expr expr-1.255\ |
+ test_realnum_expr expr-1.255\ |
{i1=4294967296, i2=-2147483647} {i1*i2} -9223372032559808512 |
- test_expr expr-1.256\ |
+ test_realnum_expr expr-1.256\ |
{i1=-4294967296, i2=-2147483648} {i1*i2} 9.22337203685478e+18 |
- test_expr expr-1.257\ |
+ test_realnum_expr expr-1.257\ |
{i1=-4294967296, i2=-2147483647} {i1*i2} 9223372032559808512 |
}} |
@@ -883,7 +892,7 @@ do_test expr-12.2 { |
} {1 {near ")": syntax error}} |
ifcapable floatingpoint { |
- do_test expr-13.1 { |
+ do_realnum_test expr-13.1 { |
execsql { |
SELECT 12345678901234567890; |
} |
@@ -908,12 +917,12 @@ if {[working_64bit_int]} { |
# If the value is too large, use String->Float conversion. |
# |
ifcapable floatingpoint { |
- do_test expr-13.4 { |
+ do_realnum_test expr-13.4 { |
execsql { |
SELECT 0+'9223372036854775808' |
} |
} {9.22337203685478e+18} |
- do_test expr-13.5 { |
+ do_realnum_test expr-13.5 { |
execsql { |
SELECT '9223372036854775808'+0 |
} |
@@ -923,12 +932,12 @@ ifcapable floatingpoint { |
# Use String->float conversion if the value is explicitly a floating |
# point value. |
# |
-do_test expr-13.6 { |
+do_realnum_test expr-13.6 { |
execsql { |
SELECT 0+'9223372036854775807.0' |
} |
} {9.22337203685478e+18} |
-do_test expr-13.7 { |
+do_realnum_test expr-13.7 { |
execsql { |
SELECT '9223372036854775807.0'+0 |
} |