gitlab.com/CoiaPrant/sqlite3@v1.19.1/testdata/tcl/rowvalueA.test (about) 1 # 2021 July 6 2 # 3 # The author disclaims copyright to this source code. In place of 4 # 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 14 set testdir [file dirname $argv0] 15 source $testdir/tester.tcl 16 set testprefix rowvalueA 17 18 do_execsql_test 1.0 { 19 SELECT (1, 2) IN ( (3, 4), (5, 6), (1, 3) ); 20 } {0} 21 22 do_execsql_test 1.1 { 23 SELECT (1, 2) IN ( (3, 4), (5, 6), (1, 2) ); 24 } {1} 25 26 do_execsql_test 1.2 { 27 SELECT (1, 2) IN ( (3, 2) ); 28 } {0} 29 30 do_execsql_test 1.3 { 31 SELECT (1, 2) IN ( (1, 2) ); 32 } {1} 33 34 do_execsql_test 1.4 { 35 SELECT (1, 2) IN ( ); 36 } {0} 37 38 do_execsql_test 1.5 { 39 SELECT (1, 2) NOT IN ( ); 40 } {1} 41 42 for {set ii 0} {$ii < 2000} {incr ii} { 43 lappend L "($ii, $ii)" 44 } 45 46 do_execsql_test 1.6.1 " 47 SELECT (400,400) IN ( [join $L ,] ) 48 " 1 49 50 do_execsql_test 1.6.2 " 51 SELECT (1500,1500) IN ( [join $L ,] ) 52 " 1 53 54 do_execsql_test 1.6.2 " 55 SELECT (1500,1499) IN ( [join $L ,] ) 56 " 0 57 58 #------------------------------------------------------------------------- 59 60 do_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 64 do_catchsql_test 2.1 { 65 SELECT (1, 2) IN ( (1, 2), 4, (5, 6) ) 66 } {1 {IN(...) element has 1 term - expected 2}} 67 68 do_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 72 do_catchsql_test 2.3 { 73 SELECT 2 IN ( (1, 2), (3, 4), (5, 6) ) 74 } {1 {row value misused}} 75 76 finish_test 77