limbo/testing/coalesce.test
2025-02-09 22:01:33 +04:00

44 lines
995 B
Tcl
Executable file

#!/usr/bin/env tclsh
set testdir [file dirname $argv0]
source $testdir/tester.tcl
do_execsql_test coalesce {
select coalesce(NULL, 1);
} {1}
do_execsql_test coalesce-2 {
select coalesce(NULL, NULL, 1);
} {1}
do_execsql_test coalesce-nested {
select coalesce(NULL, coalesce(NULL, NULL));
} {}
do_execsql_test coalesce-nested-2 {
select coalesce(NULL, coalesce(NULL, 2));
select coalesce(NULL, coalesce(1, 2));
select coalesce(0, coalesce(1, 2));
} {2
1
0}
do_execsql_test coalesce-null {
select coalesce(NULL, NULL, NULL);
} {}
do_execsql_test coalesce-first {
select coalesce(1, 2, 3);
} {1}
do_execsql_test coalesce-from-table {
select coalesce(NULL, 1) from users limit 1;
} {1}
do_execsql_test coalesce-from-table-column {
select coalesce(NULL, age) from users where age = 94 limit 1;
} {94}
do_execsql_test coalesce-from-table-multiple-columns {
select coalesce(NULL, age), coalesce(NULL, id) from users where age = 94 limit 1;
} {94|1}