AryaWu/sqlite
0
1# 2021 July 62#3# The author disclaims copyright to this source code. In place of4# a legal notice, here is a blessing:5#6# May you do good and not evil.7# May you find forgiveness for yourself and forgive others.8# May you share freely, never taking more than you give.9#10#***********************************************************************11# This file implements regression tests for SQLite library.12#13 14set testdir [file dirname $argv0]15source $testdir/tester.tcl16set testprefix rowvalueA17 18do_execsql_test 1.0 {19 SELECT (1, 2) IN ( (3, 4), (5, 6), (1, 3) );20} {0}21 22do_execsql_test 1.1 {23 SELECT (1, 2) IN ( (3, 4), (5, 6), (1, 2) );24} {1}25 26do_execsql_test 1.2 {27 SELECT (1, 2) IN ( (3, 2) );28} {0}29 30do_execsql_test 1.3 {31 SELECT (1, 2) IN ( (1, 2) );32} {1}33 34do_execsql_test 1.4 {35 SELECT (1, 2) IN ( );36} {0}37 38do_execsql_test 1.5 {39 SELECT (1, 2) NOT IN ( );40} {1}41 42for {set ii 0} {$ii < 2000} {incr ii} {43 lappend L "($ii, $ii)"44}45 46do_execsql_test 1.6.1 "47 SELECT (400,400) IN ( [join $L ,] )48" 149 50do_execsql_test 1.6.2 "51 SELECT (1500,1500) IN ( [join $L ,] )52" 153 54do_execsql_test 1.6.2 "55 SELECT (1500,1499) IN ( [join $L ,] )56" 057 58#-------------------------------------------------------------------------59 60do_catchsql_test 2.0 {61 SELECT (1, 2) IN ( (1, 2), (3, 4, 5), (5, 6) )62} {1 {IN(...) element has 3 terms - expected 2}}63 64do_catchsql_test 2.1 {65 SELECT (1, 2) IN ( (1, 2), 4, (5, 6) )66} {1 {IN(...) element has 1 term - expected 2}}67 68do_catchsql_test 2.2 {69 SELECT (1, 2, 3) IN ( (1, 2), (3, 4), (5, 6) )70} {1 {IN(...) element has 2 terms - expected 3}}71 72do_catchsql_test 2.3 {73 SELECT 2 IN ( (1, 2), (3, 4), (5, 6) )74} {1 {row value misused}}75 76finish_test77 