cat > script <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
create t set a, b, c;
insert into t values
(1, 1, 2,
 1, 2, 3,
 2, 3, 7,
 2, 4, 9,
 1, 1, 2,
 3, 1, 4,
 4, 4, 10);
select from t group by a order by a;
select a, sum (b) from t group by a order by a;

select a, sum (b) from t group by a having a = 1;
select a, sum (b) from t group by a having a = 2;
select a, sum (b) from t group by a having a = 1 or a = 2 order by a;
select a, sum (b) from t group by a having a in (1, 2) order by a;
select a, sum (b) from t group by a having a in (1, 1 + 2) order by a;

select a, sum (b) from t group by a having a + 1 = 1;
select a, sum (b) from t group by a having a + 1 = 2;
select a, sum (b) from t group by a having a + 1 = 1 or a + 1 = 2 order by a;
select a, sum (b) from t group by a having a + 1 in (1, 2) order by a;
select a, sum (b) from t group by a having a + 1 in (1, 1 + 2) order by a;

select a, sum (b) from t group by a having sum (b) = 1 order by a;
select a, sum (b) from t group by a having sum (b) = 7 order by a;
select a, sum (b) from t group by a having sum (b) = 1 or sum (b) = 7 order by a;
select a, sum (b) from t group by a having sum (b) in (1, 7) order by a;
select a, sum (b) from t group by a having sum (b) in (1, 3 + 4) order by a;

select a, sum (b) from t group by a having sum (b) + 1 = 5 order by a;
select a, sum (b) from t group by a having sum (b) + 1 = 8 order by a;
select a, sum (b) from t group by a having sum (b) + 1 = 5 or sum (b) + 1 = 8 order by a;
select a, sum (b) from t group by a having sum (b) + 1 in (5, 8) order by a;
select a, sum (b) from t group by a having sum (b) + 1 in (5, 2 + 6) order by a;
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 script
cat > stdout <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
* create t set a, b, c;
* insert into t values
. (1, 1, 2,
.  1, 2, 3,
.  2, 3, 7,
.  2, 4, 9,
.  1, 1, 2,
.  3, 1, 4,
.  4, 4, 10);
* select from t group by a order by a;
     a       b       c

     1       1       2
     1       2       3
     1       1       2
     1
     2       3       7
     2       4       9
     2
     3       1       4
     3
     4       4      10
     4
* select a, sum (b) from t group by a order by a;
     a       SUM(b)

     1            4
     2            7
     3            1
     4            4
* 
* select a, sum (b) from t group by a having a = 1;
     a       SUM(b)

     1            4
* select a, sum (b) from t group by a having a = 2;
     a       SUM(b)

     2            7
* select a, sum (b) from t group by a having a = 1 or a = 2 order by a;
     a       SUM(b)

     1            4
     2            7
* select a, sum (b) from t group by a having a in (1, 2) order by a;
     a       SUM(b)

     1            4
     2            7
* select a, sum (b) from t group by a having a in (1, 1 + 2) order by a;
     a       SUM(b)

     1            4
     3            1
* 
* select a, sum (b) from t group by a having a + 1 = 1;
     a       SUM(b)

* select a, sum (b) from t group by a having a + 1 = 2;
     a       SUM(b)

     1            4
* select a, sum (b) from t group by a having a + 1 = 1 or a + 1 = 2 order by a;
     a       SUM(b)

     1            4
* select a, sum (b) from t group by a having a + 1 in (1, 2) order by a;
     a       SUM(b)

     1            4
* select a, sum (b) from t group by a having a + 1 in (1, 1 + 2) order by a;
     a       SUM(b)

     2            7
* 
* select a, sum (b) from t group by a having sum (b) = 1 order by a;
     a       SUM(b)

     3            1
* select a, sum (b) from t group by a having sum (b) = 7 order by a;
     a       SUM(b)

     2            7
* select a, sum (b) from t group by a having sum (b) = 1 or sum (b) = 7 order by a;
     a       SUM(b)

     2            7
     3            1
* select a, sum (b) from t group by a having sum (b) in (1, 7) order by a;
     a       SUM(b)

     2            7
     3            1
* select a, sum (b) from t group by a having sum (b) in (1, 3 + 4) order by a;
     a       SUM(b)

     2            7
     3            1
* 
* select a, sum (b) from t group by a having sum (b) + 1 = 5 order by a;
     a       SUM(b)

     1            4
     4            4
* select a, sum (b) from t group by a having sum (b) + 1 = 8 order by a;
     a       SUM(b)

     2            7
* select a, sum (b) from t group by a having sum (b) + 1 = 5 or sum (b) + 1 = 8 order by a;
     a       SUM(b)

     1            4
     2            7
     4            4
* select a, sum (b) from t group by a having sum (b) + 1 in (5, 8) order by a;
     a       SUM(b)

     1            4
     2            7
     4            4
* select a, sum (b) from t group by a having sum (b) + 1 in (5, 2 + 6) order by a;
     a       SUM(b)

     1            4
     2            7
     4            4
* 
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 stdout
cat > tag <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
Test the having clause with respect to the functionality as in qualification.
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 tag
