| 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
|
| }
|
|
|