mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-24 19:44:21 +01:00
364 lines
6.6 KiB
Tcl
364 lines
6.6 KiB
Tcl
#!/usr/bin/env tclsh
|
|
|
|
set testdir [file dirname $argv0]
|
|
source $testdir/tester.tcl
|
|
|
|
do_execsql_test add-int {
|
|
SELECT 10 + 1
|
|
} {11}
|
|
|
|
do_execsql_test add-float {
|
|
SELECT 10.1 + 0.3
|
|
} {10.4}
|
|
|
|
do_execsql_test add-int-float {
|
|
SELECT 10 + 0.1
|
|
} {10.1}
|
|
|
|
do_execsql_test add-agg-int-agg-int {
|
|
SELECT sum(1) + sum(2)
|
|
} {3}
|
|
|
|
do_execsql_test add-agg-int-agg-float {
|
|
SELECT sum(1) + sum(2.5)
|
|
} {3.5}
|
|
|
|
do_execsql_test add-agg-float-agg-int {
|
|
SELECT sum(1.5) + sum(2)
|
|
} {3.5}
|
|
|
|
do_execsql_test subtract-int {
|
|
SELECT 10 - 1
|
|
} {9}
|
|
|
|
do_execsql_test subtract-float {
|
|
SELECT 10.2 - 0.1
|
|
} {10.1}
|
|
|
|
do_execsql_test subtract-int-float {
|
|
SELECT 10 - 0.1
|
|
} {9.9}
|
|
|
|
do_execsql_test subtract-agg-int-agg-int {
|
|
SELECT sum(3) - sum(1)
|
|
} {2}
|
|
|
|
do_execsql_test subtract-agg-int-agg-float {
|
|
SELECT sum(3) - sum(1.5)
|
|
} {1.5}
|
|
|
|
do_execsql_test subtract-agg-float-agg-int {
|
|
SELECT sum(3.5) - sum(1)
|
|
} {2.5}
|
|
|
|
do_execsql_test multiply-int {
|
|
SELECT 10 * 2
|
|
} {20}
|
|
|
|
do_execsql_test multiply-float {
|
|
SELECT 10.2 * 2.2
|
|
} {22.44}
|
|
|
|
do_execsql_test multiply-int-float {
|
|
SELECT 10 * 1.45
|
|
} {14.5}
|
|
|
|
do_execsql_test multiply-float-int {
|
|
SELECT 1.45 * 10
|
|
} {14.5}
|
|
|
|
do_execsql_test multiply-agg-int-agg-int {
|
|
SELECT sum(2) * sum(3)
|
|
} {6}
|
|
|
|
do_execsql_test multiply-agg-int-agg-float {
|
|
SELECT sum(2) * sum(3.5)
|
|
} {7.0}
|
|
|
|
do_execsql_test multiply-agg-float-agg-int {
|
|
SELECT sum(2.5) * sum(3)
|
|
} {7.5}
|
|
|
|
do_execsql_test divide-int {
|
|
SELECT 10 / 2
|
|
} {5}
|
|
|
|
do_execsql_test divide-int-no-fraction {
|
|
SELECT 10 / 3
|
|
} {3}
|
|
|
|
do_execsql_test divide-float {
|
|
SELECT 10.6 / 2.5
|
|
} {4.24}
|
|
|
|
do_execsql_test divide-int-float {
|
|
SELECT 10 / 4.0
|
|
} {2.5}
|
|
|
|
do_execsql_test divide-float-int {
|
|
SELECT 10.0 / 4
|
|
} {2.5}
|
|
|
|
do_execsql_test divide-by-zero {
|
|
SELECT 10 / 0
|
|
} {}
|
|
|
|
do_execsql_test divide-int-null {
|
|
SELECT 10 / null
|
|
} {}
|
|
|
|
do_execsql_test divide-null-int {
|
|
SELECT null / 10
|
|
} {}
|
|
|
|
do_execsql_test divide-null {
|
|
SELECT null / null
|
|
} {}
|
|
|
|
do_execsql_test divide-agg-int-agg-int {
|
|
SELECT sum(4) / sum(2)
|
|
} {2}
|
|
|
|
do_execsql_test divide-agg-int-agg-float {
|
|
SELECT sum(4) / sum(2.0)
|
|
} {2.0}
|
|
|
|
do_execsql_test divide-agg-float-agg-int {
|
|
SELECT sum(4.0) / sum(2)
|
|
} {2.0}
|
|
|
|
|
|
do_execsql_test add-agg-int {
|
|
SELECT sum(id) + 10 from products
|
|
} {76}
|
|
|
|
do_execsql_test add-int-agg {
|
|
SELECT 10 + sum(id) from products
|
|
} {76}
|
|
|
|
do_execsql_test add-agg-float {
|
|
SELECT sum(id) + 10.1 from products
|
|
} {76.1}
|
|
|
|
do_execsql_test add-float-agg {
|
|
SELECT 10.1 + sum(id) from products
|
|
} {76.1}
|
|
|
|
do_execsql_test add-agg-int-agg-int {
|
|
SELECT sum(id) + sum(id) from products
|
|
} {132}
|
|
|
|
do_execsql_test add-agg-float-agg-float {
|
|
SELECT sum(price) + sum(price) from products
|
|
} {1246.0}
|
|
|
|
do_execsql_test add-agg-int-agg-float {
|
|
SELECT sum(id) + sum(price) from products
|
|
} {689.0}
|
|
|
|
do_execsql_test add-agg-int-agg-float {
|
|
SELECT sum(id) + sum(price) from products
|
|
} {689.0}
|
|
|
|
|
|
|
|
do_execsql_test subtract-agg-int {
|
|
SELECT sum(id) - 10 from products
|
|
} {56}
|
|
|
|
do_execsql_test subtract-int-agg {
|
|
SELECT 10 - sum(id) from products
|
|
} {-56}
|
|
|
|
do_execsql_test subtract-agg-float {
|
|
SELECT sum(id) - 10.1 from products
|
|
} {55.9}
|
|
|
|
do_execsql_test subtract-float-agg {
|
|
SELECT 10.1 - sum(id) from products
|
|
} {-55.9}
|
|
|
|
do_execsql_test subtract-agg-int-agg-int {
|
|
SELECT sum(id) - sum(id) from products
|
|
} {0}
|
|
|
|
do_execsql_test subtract-agg-float-agg-float {
|
|
SELECT sum(price) - sum(price) from products
|
|
} {0.0}
|
|
|
|
do_execsql_test subtract-agg-int-agg-float {
|
|
SELECT sum(id) - sum(price) from products
|
|
} {-557.0}
|
|
|
|
do_execsql_test subtract-agg-float-agg-int {
|
|
SELECT sum(price) - sum(id) from products
|
|
} {557.0}
|
|
|
|
|
|
|
|
do_execsql_test multiply-agg-int {
|
|
SELECT sum(id) * 10 from products
|
|
} {660}
|
|
|
|
do_execsql_test multiply-int-agg {
|
|
SELECT 10 * sum(id) from products
|
|
} {660}
|
|
|
|
do_execsql_test multiply-agg-float {
|
|
SELECT sum(id) * 10.1 from products
|
|
} {666.6}
|
|
|
|
do_execsql_test multiply-float-agg {
|
|
SELECT 10.1 * sum(id) from products
|
|
} {666.6}
|
|
|
|
do_execsql_test multiply-agg-int-agg-int {
|
|
SELECT sum(id) * sum(id) from products
|
|
} {4356}
|
|
|
|
do_execsql_test multiply-agg-float-agg-float {
|
|
SELECT sum(price) * sum(price) from products
|
|
} {388129.0}
|
|
|
|
do_execsql_test multiply-agg-int-agg-float {
|
|
SELECT sum(id) * sum(price) from products
|
|
} {41118.0}
|
|
|
|
do_execsql_test multiply-agg-float-agg-int {
|
|
SELECT sum(price) * sum(id) from products
|
|
} {41118.0}
|
|
|
|
|
|
|
|
do_execsql_test divide-agg-int {
|
|
SELECT sum(id) / 10 from products
|
|
} {6}
|
|
|
|
do_execsql_test divide-int-agg {
|
|
SELECT 660 / sum(id) from products
|
|
} {10}
|
|
|
|
do_execsql_test divide-agg-float {
|
|
SELECT sum(id) / 1.5 from products
|
|
} {44.0}
|
|
|
|
do_execsql_test divide-float-agg {
|
|
SELECT 66.0 / sum(id) from products
|
|
} {1.0}
|
|
|
|
do_execsql_test divide-agg-int-agg-int {
|
|
SELECT sum(id) / sum(id) from products
|
|
} {1}
|
|
|
|
do_execsql_test divide-agg-float-agg-float {
|
|
SELECT sum(price) / sum(price) from products
|
|
} {1.0}
|
|
|
|
do_execsql_test divide-agg-int-agg-float {
|
|
SELECT sum(id) / min(price) from products
|
|
} {66.0}
|
|
|
|
do_execsql_test divide-agg-float-agg-int {
|
|
SELECT min(price) / min(id) from products
|
|
} {1.0}
|
|
|
|
|
|
do_execsql_test bitwise-and-int-null {
|
|
SELECT 1234 & NULL
|
|
} {}
|
|
|
|
do_execsql_test bitwise-and-int-int {
|
|
SELECT 1234 & 1234
|
|
} {1234}
|
|
|
|
do_execsql_test bitwise-and-int-float {
|
|
SELECT 660 & 261.8
|
|
} {4}
|
|
|
|
do_execsql_test bitwise-and-float-float {
|
|
SELECT 660.63 & 261.8
|
|
} {4}
|
|
|
|
do_execsql_test bitwise-and-float-int-rev {
|
|
SELECT 261.8 & 660
|
|
} {4}
|
|
|
|
do_execsql_test bitwise-and-int-agg-int {
|
|
SELECT 8261 & sum(id) from products
|
|
} {64}
|
|
|
|
do_execsql_test bitwise-and-int-agg-float {
|
|
SELECT 1036.6 & sum(id) from products
|
|
} {0}
|
|
|
|
do_execsql_test bitwise-and-int-agg-int-agg {
|
|
SELECT sum(id) & sum(id) from products
|
|
} {66}
|
|
|
|
|
|
do_execsql_test bitwise-or-int-null {
|
|
SELECT 1234 | NULL
|
|
} {}
|
|
|
|
do_execsql_test bitwise-or-null-int {
|
|
SELECT NULL | 1234
|
|
} {}
|
|
|
|
do_execsql_test bitwise-or-int-int {
|
|
SELECT 4321 | 1234
|
|
} {5363}
|
|
|
|
do_execsql_test bitwise-or-int-float {
|
|
SELECT 660 | 1234.0
|
|
} {1750}
|
|
|
|
do_execsql_test bitwise-or-int-agg {
|
|
SELECT 18823 | sum(id) from products
|
|
} {18887}
|
|
|
|
do_execsql_test bitwise-or-float-float {
|
|
SELECT 1234.6 | 5432.2
|
|
} {5626}
|
|
|
|
do_execsql_test bitwise-and-int-agg-int-agg {
|
|
SELECT sum(id) | sum(id) from products
|
|
} {66}
|
|
|
|
|
|
do_execsql_test bitwise-not-null {
|
|
SELECT ~NULL
|
|
} {}
|
|
|
|
do_execsql_test bitwise-not-int {
|
|
SELECT ~1234
|
|
} {-1235}
|
|
|
|
do_execsql_test bitwise-not-float {
|
|
SELECT ~823.34
|
|
} {-824}
|
|
|
|
do_execsql_test bitwise-not-scalar-float {
|
|
SELECT ~abs(693.9)
|
|
} {-694}
|
|
|
|
do_execsql_test bitwise-not-scalar-int {
|
|
SELECT ~abs(7566)
|
|
} {-7567}
|
|
|
|
do_execsql_test bitwise-not-agg-int {
|
|
SELECT ~sum(693)
|
|
} {-694}
|
|
|
|
do_execsql_test bitwise-not-agg-and-agg {
|
|
SELECT ~sum(693) & sum(-302)
|
|
} {-958}
|
|
|
|
do_execsql_test bitwise-not-agg-int {
|
|
SELECT ~sum(693)
|
|
} {-694}
|
|
|
|
do_execsql_test bitwise-not-zero {
|
|
SELECT ~0
|
|
} {-1}
|
|
|