cat > script <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
select from t1;
create view v1 (i, j, k) as select a, b, b + 1 from t1;
select from v1;
select from v1 where i > "c";
select from v1 where j > 3;
select from v1 where k > 3;

create view v2a (m, n, o, p) as select i, j, k, j * k from v1;
select from v2a;
select from v2a where m > "c";
select from v2a where n > 3;
select from v2a where o > 3;
select from v2a where p > 10;
select from tt;
create view v2b (m, n, o, p) as select i, j, k, j * k from v1
	where k in (select aa from tt);
select from v2b;

create view v1p as select from v1;
select from v1p;
select from v1p where i > "c";
select from v1p where j > 3;
select from v1p where k > 3;
create view v1pa as select from v1 where i > "c";
select from v1pa;
create view v1pb as select from v1 where j > 3;
select from v1pb;
create view v1pc as select from v1 where k > 3;
select from v1pc;

create view v1p0 as select i from v1;
select from v1p0;
create view v1p0a as select i from v1 where i > "c";
select from v1p0a;
create view v1p0b as select i from v1 where j > 3;
select from v1p0b;
create view v1p0c as select i from v1 where k > 3;
select from v1p0c;

create view v1p1 as select i, j from v1;
select from v1p1;
select from v1p1 where i > "c";
select from v1p1 where j > 3;
create view v1p1a as select i, j from v1 where i > "c";
select from v1p1a;
create view v1p1b as select i, j from v1 where j > 3;
select from v1p1b;
create view v1p1c as select i, j from v1 where k > 3;
select from v1p1c;

create view v1p2 as select i, k from v1;
select from v1p2;
select from v1p2 where i > "c";
select from v1p2 where k > 3;
create view v1p2a as select i, k from v1 where i > "c";
select from v1p2a;
create view v1p2b as select i, k from v1 where j > 3;
select from v1p2b;
create view v1p2c as select i, k from v1 where k > 3;
select from v1p2c;

create view v1p3 as select j, k from v1;
select from v1p3;
select from v1p3 where j > 3;
select from v1p3 where k > 3;
create view v1p3a as select j, k from v1 where i > "c";
select from v1p3a;
create view v1p3b as select j, k from v1 where j > 3;
select from v1p3b;
create view v1p3c as select j, k from v1 where k > 3;
select from v1p3c;
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 script
cat > stdout <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
* select from t1;
a                b

abc              1
bcd              2
cde              3
def              4
efg              5
* create view v1 (i, j, k) as select a, b, b + 1 from t1;
* select from v1;
i                j            k

abc              1            2
bcd              2            3
cde              3            4
def              4            5
efg              5            6
* select from v1 where i > "c";
i                j            k

cde              3            4
def              4            5
efg              5            6
* select from v1 where j > 3;
i                j            k

def              4            5
efg              5            6
* select from v1 where k > 3;
i                j            k

cde              3            4
def              4            5
efg              5            6
* 
* create view v2a (m, n, o, p) as select i, j, k, j * k from v1;
* select from v2a;
m                n            o            p

abc              1            2            2
bcd              2            3            6
cde              3            4           12
def              4            5           20
efg              5            6           30
* select from v2a where m > "c";
m                n            o            p

cde              3            4           12
def              4            5           20
efg              5            6           30
* select from v2a where n > 3;
m                n            o            p

def              4            5           20
efg              5            6           30
* select from v2a where o > 3;
m                n            o            p

cde              3            4           12
def              4            5           20
efg              5            6           30
* select from v2a where p > 10;
m                n            o            p

cde              3            4           12
def              4            5           20
efg              5            6           30
* select from tt;
    aa

     1
     3
     5
* create view v2b (m, n, o, p) as select i, j, k, j * k from v1
. 	where k in (select aa from tt);
* select from v2b;
m                n            o            p

bcd              2            3            6
def              4            5           20
* 
* create view v1p as select from v1;
* select from v1p;
i                j            k

abc              1            2
bcd              2            3
cde              3            4
def              4            5
efg              5            6
* select from v1p where i > "c";
i                j            k

cde              3            4
def              4            5
efg              5            6
* select from v1p where j > 3;
i                j            k

def              4            5
efg              5            6
* select from v1p where k > 3;
i                j            k

cde              3            4
def              4            5
efg              5            6
* create view v1pa as select from v1 where i > "c";
* select from v1pa;
i                j            k

cde              3            4
def              4            5
efg              5            6
* create view v1pb as select from v1 where j > 3;
* select from v1pb;
i                j            k

def              4            5
efg              5            6
* create view v1pc as select from v1 where k > 3;
* select from v1pc;
i                j            k

cde              3            4
def              4            5
efg              5            6
* 
* create view v1p0 as select i from v1;
* select from v1p0;
i

abc
bcd
cde
def
efg
* create view v1p0a as select i from v1 where i > "c";
* select from v1p0a;
i

cde
def
efg
* create view v1p0b as select i from v1 where j > 3;
* select from v1p0b;
i

def
efg
* create view v1p0c as select i from v1 where k > 3;
* select from v1p0c;
i

cde
def
efg
* 
* create view v1p1 as select i, j from v1;
* select from v1p1;
i                j

abc              1
bcd              2
cde              3
def              4
efg              5
* select from v1p1 where i > "c";
i                j

cde              3
def              4
efg              5
* select from v1p1 where j > 3;
i                j

def              4
efg              5
* create view v1p1a as select i, j from v1 where i > "c";
* select from v1p1a;
i                j

cde              3
def              4
efg              5
* create view v1p1b as select i, j from v1 where j > 3;
* select from v1p1b;
i                j

def              4
efg              5
* create view v1p1c as select i, j from v1 where k > 3;
* select from v1p1c;
i                j

cde              3
def              4
efg              5
* 
* create view v1p2 as select i, k from v1;
* select from v1p2;
i                     k

abc                   2
bcd                   3
cde                   4
def                   5
efg                   6
* select from v1p2 where i > "c";
i                     k

cde                   4
def                   5
efg                   6
* select from v1p2 where k > 3;
i                     k

cde                   4
def                   5
efg                   6
* create view v1p2a as select i, k from v1 where i > "c";
* select from v1p2a;
i                     k

cde                   4
def                   5
efg                   6
* create view v1p2b as select i, k from v1 where j > 3;
* select from v1p2b;
i                     k

def                   5
efg                   6
* create view v1p2c as select i, k from v1 where k > 3;
* select from v1p2c;
i                     k

cde                   4
def                   5
efg                   6
* 
* create view v1p3 as select j, k from v1;
* select from v1p3;
     j            k

     1            2
     2            3
     3            4
     4            5
     5            6
* select from v1p3 where j > 3;
     j            k

     4            5
     5            6
* select from v1p3 where k > 3;
     j            k

     3            4
     4            5
     5            6
* create view v1p3a as select j, k from v1 where i > "c";
* select from v1p3a;
     j            k

     3            4
     4            5
     5            6
* create view v1p3b as select j, k from v1 where j > 3;
* select from v1p3b;
     j            k

     4            5
     5            6
* create view v1p3c as select j, k from v1 where k > 3;
* select from v1p3c;
     j            k

     3            4
     4            5
     5            6
* 
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 stdout
cat > tag <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
Test for expression in select list for views.
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 tag
