/
niceSOFT
/
sqlite
Обзор
Документация
Войти
/
niceSOFT
/
sqlite
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/rowvaluefault.test
89 строк
2 KB
dan
Improve the error message in cases where there is a row-value on the LHS of an IN() operator, the RHS is a list (not a sub-select) and at least one element of the list is not a row-value with the correct number of elements.
07 июл 2021, 16:53
07 июл 2021, 16:53
74777f9
Код
Авторство
О чём код?
# 2016 June 17 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. # set testdir [file dirname $argv0] source $testdir/tester.tcl source $testdir/malloc_common.tcl set ::testprefix rowvaluefault do_execsql_test 1.0 { CREATE TABLE xyz(one, two, thr, fou); INSERT INTO xyz VALUES('A', 'A', 'A', 1); INSERT INTO xyz VALUES('B', 'B', 'B', 2); INSERT INTO xyz VALUES('C', 'C', 'C', 3); INSERT INTO xyz VALUES('D', 'D', 'D', 4); CREATE UNIQUE INDEX xyz_one_two ON xyz(one, two); } do_faultsim_test 1 -faults oom* -body { execsql { SELECT fou FROM xyz WHERE (one, two, thr) = ('B', 'B', 'B') } } -test { faultsim_test_result {0 2} } do_faultsim_test 2 -faults oom* -body { execsql { SELECT fou FROM xyz WHERE (two, thr) IS ('C', 'C') } } -test { faultsim_test_result {0 3} } do_faultsim_test 3 -faults oom* -body { execsql { SELECT fou FROM xyz WHERE (one, two, thr) > ('B', 'B', 'B') } } -test { faultsim_test_result {0 {3 4}} } do_faultsim_test 4 -faults oom* -body { execsql { SELECT fou FROM xyz WHERE (one, two) IN (SELECT one, two FROM xyz) } } -test { faultsim_test_result {0 {1 2 3 4}} } do_faultsim_test 5 -faults oom* -body { execsql { SELECT fou FROM xyz WHERE (one, two, thr) IN (SELECT one, two, thr FROM xyz) } } -test { faultsim_test_result {0 {1 2 3 4}} } do_faultsim_test 6 -faults oom* -body { execsql { SELECT fou FROM xyz WHERE (one, two, thr) BETWEEN ('B', 'B', 'B') AND ('C', 'C', 'C') } } -test { faultsim_test_result {0 {2 3}} } do_faultsim_test 7 -faults oom* -body { execsql { SELECT fou FROM xyz WHERE (one, two, thr) IN ( ('a','b','c'), ('A','A','A'), (1,2,3) ); } } -test { faultsim_test_result {0 1} } do_faultsim_test 8 -faults oom* -body { execsql { SELECT fou FROM xyz WHERE (two, one) IN ( ('a','b','c'), ('A','A','A'), (1,2,3) ); } } -test { faultsim_test_result {1 {IN(...) element has 3 terms - expected 2}} } finish_test