1*410fac35Sdan# 2022 June 2 2*410fac35Sdan# 3*410fac35Sdan# The author disclaims copyright to this source code. In place of 4*410fac35Sdan# a legal notice, here is a blessing: 5*410fac35Sdan# 6*410fac35Sdan# May you do good and not evil. 7*410fac35Sdan# May you find forgiveness for yourself and forgive others. 8*410fac35Sdan# May you share freely, never taking more than you give. 9*410fac35Sdan# 10*410fac35Sdan#*********************************************************************** 11*410fac35Sdan# 12*410fac35Sdan 13*410fac35Sdanset testdir [file dirname $argv0] 14*410fac35Sdansource $testdir/tester.tcl 15*410fac35Sdanset testprefix windowD 16*410fac35Sdan 17*410fac35Sdan 18*410fac35Sdando_execsql_test 1.0 { 19*410fac35Sdan CREATE TABLE t0(c0 TEXT); 20*410fac35Sdan CREATE VIEW v0(c0, c1) 21*410fac35Sdan AS SELECT CUME_DIST() OVER (PARTITION BY t0.c0), TRUE FROM t0; 22*410fac35Sdan INSERT INTO t0 VALUES ('x'); 23*410fac35Sdan} 24*410fac35Sdan 25*410fac35Sdando_execsql_test 1.1 { 26*410fac35Sdan SELECT ('500') IS (v0.c1) FROM v0; 27*410fac35Sdan} { 28*410fac35Sdan 0 29*410fac35Sdan} 30*410fac35Sdan 31*410fac35Sdando_execsql_test 1.2 { 32*410fac35Sdan SELECT (('500') IS (v0.c1)) FROM v0, t0; 33*410fac35Sdan} { 34*410fac35Sdan 0 35*410fac35Sdan} 36*410fac35Sdan 37*410fac35Sdando_execsql_test 1.2 { 38*410fac35Sdan SELECT (('500') IS (v0.c1)) IS FALSE FROM v0; 39*410fac35Sdan} { 40*410fac35Sdan 1 41*410fac35Sdan} 42*410fac35Sdan 43*410fac35Sdando_execsql_test 1.3 { 44*410fac35Sdan SELECT * FROM v0; 45*410fac35Sdan} { 46*410fac35Sdan 1.0 1 47*410fac35Sdan} 48*410fac35Sdan 49*410fac35Sdando_execsql_test 1.4 { 50*410fac35Sdan SELECT * FROM v0 WHERE ('500' IS v0.c1) IS FALSE; 51*410fac35Sdan} { 52*410fac35Sdan 1.0 1 53*410fac35Sdan} 54*410fac35Sdan 55*410fac35Sdan#------------------------------------------------------------------------- 56*410fac35Sdan 57*410fac35Sdanreset_db 58*410fac35Sdando_execsql_test 2.0 { 59*410fac35Sdan CREATE TABLE t1(x); 60*410fac35Sdan INSERT INTO t1 VALUES('value'); 61*410fac35Sdan CREATE VIEW v1(a, b, c, d) AS SELECT 1, 2, TRUE, FALSE FROM t1; 62*410fac35Sdan} 63*410fac35Sdan 64*410fac35Sdando_execsql_test 2.1 { 65*410fac35Sdan SELECT 500 IS a, 500 IS b, 500 IS c, 500 IS d FROM v1 66*410fac35Sdan} {0 0 0 0} 67*410fac35Sdan 68*410fac35Sdando_execsql_test 2.2 { 69*410fac35Sdan SELECT * FROM v1 WHERE 500 IS c; 70*410fac35Sdan} {} 71*410fac35Sdan 72*410fac35Sdando_execsql_test 2.3 { 73*410fac35Sdan SELECT * FROM v1 WHERE 500 IS d; 74*410fac35Sdan} {} 75*410fac35Sdan 76*410fac35Sdando_execsql_test 2.4 { 77*410fac35Sdan CREATE VIEW v2 AS SELECT max(x) OVER () AS a, TRUE AS c FROM t1; 78*410fac35Sdan} 79*410fac35Sdan 80*410fac35Sdando_execsql_test 2.5 { 81*410fac35Sdan SELECT 500 IS c FROM v2; 82*410fac35Sdan} 0 83*410fac35Sdan 84*410fac35Sdando_execsql_test 2.6 { 85*410fac35Sdan SELECT * FROM v2 WHERE 500 IS c; 86*410fac35Sdan} {} 87*410fac35Sdan 88*410fac35Sdan 89*410fac35Sdan 90*410fac35Sdan 91*410fac35Sdan 92*410fac35Sdan 93*410fac35Sdanfinish_test 94*410fac35Sdan 95