blob: f2ec36a443cc8a3c3c5687fd808178e6ba75bed6 [file] [log] [blame]
dan410fac32022-06-02 16:26:21 +00001# 2022 June 2
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#
12
13set testdir [file dirname $argv0]
14source $testdir/tester.tcl
15set testprefix windowD
16
17
18do_execsql_test 1.0 {
19 CREATE TABLE t0(c0 TEXT);
20 CREATE VIEW v0(c0, c1)
21 AS SELECT CUME_DIST() OVER (PARTITION BY t0.c0), TRUE FROM t0;
22 INSERT INTO t0 VALUES ('x');
23}
24
25do_execsql_test 1.1 {
26 SELECT ('500') IS (v0.c1) FROM v0;
27} {
28 0
29}
30
31do_execsql_test 1.2 {
32 SELECT (('500') IS (v0.c1)) FROM v0, t0;
33} {
34 0
35}
36
37do_execsql_test 1.2 {
38 SELECT (('500') IS (v0.c1)) IS FALSE FROM v0;
39} {
40 1
41}
42
43do_execsql_test 1.3 {
44 SELECT * FROM v0;
45} {
46 1.0 1
47}
48
49do_execsql_test 1.4 {
50 SELECT * FROM v0 WHERE ('500' IS v0.c1) IS FALSE;
51} {
52 1.0 1
53}
54
55#-------------------------------------------------------------------------
56
57reset_db
58do_execsql_test 2.0 {
59 CREATE TABLE t1(x);
60 INSERT INTO t1 VALUES('value');
61 CREATE VIEW v1(a, b, c, d) AS SELECT 1, 2, TRUE, FALSE FROM t1;
62}
63
64do_execsql_test 2.1 {
65 SELECT 500 IS a, 500 IS b, 500 IS c, 500 IS d FROM v1
66} {0 0 0 0}
67
68do_execsql_test 2.2 {
69 SELECT * FROM v1 WHERE 500 IS c;
70} {}
71
72do_execsql_test 2.3 {
73 SELECT * FROM v1 WHERE 500 IS d;
74} {}
75
76do_execsql_test 2.4 {
77 CREATE VIEW v2 AS SELECT max(x) OVER () AS a, TRUE AS c FROM t1;
78}
79
80do_execsql_test 2.5 {
81 SELECT 500 IS c FROM v2;
82} 0
83
84do_execsql_test 2.6 {
85 SELECT * FROM v2 WHERE 500 IS c;
86} {}
87
88
89
90
91
92
93finish_test
94