diff --git a/src/test/regress/expected/select_having.out b/src/test/regress/expected/select_having.out index 95dd274c513dae72a21db17c093d7c3b1099f002..f9188a08fb94956aac2f8627c1d89ce69a805b77 100644 --- a/src/test/regress/expected/select_having.out +++ b/src/test/regress/expected/select_having.out @@ -1,12 +1,37 @@ -QUERY: SELECT d1, count(*) FROM DATETIME_TBL - GROUP BY d1 HAVING count(*) > 1; -d1 |count -----------------------------+----- -Thu Jun 13 00:00:00 1957 PDT| 2 -Mon Feb 10 09:32:01 1997 PST| 3 -Mon Feb 10 17:32:01 1997 PST| 13 -Sun Feb 16 17:32:01 1997 PST| 2 -Sat Mar 01 17:32:01 1997 PST| 2 -invalid | 2 -(6 rows) +QUERY: CREATE TABLE test_having (a int, b int, c char(8), d char); +QUERY: INSERT INTO test_having VALUES (0, 1, 'XXXX', 'A'); +QUERY: INSERT INTO test_having VALUES (1, 2, 'AAAA', 'b'); +QUERY: INSERT INTO test_having VALUES (2, 2, 'AAAA', 'c'); +QUERY: INSERT INTO test_having VALUES (3, 3, 'BBBB', 'D'); +QUERY: INSERT INTO test_having VALUES (4, 3, 'BBBB', 'e'); +QUERY: INSERT INTO test_having VALUES (5, 3, 'bbbb', 'F'); +QUERY: INSERT INTO test_having VALUES (6, 4, 'cccc', 'g'); +QUERY: INSERT INTO test_having VALUES (7, 4, 'cccc', 'h'); +QUERY: INSERT INTO test_having VALUES (8, 4, 'CCCC', 'I'); +QUERY: INSERT INTO test_having VALUES (9, 4, 'CCCC', 'j'); +QUERY: SELECT max(a) FROM test_having + GROUP BY lower(c) HAVING count(*) > 2 OR min(b) = 3; +max +--- + 5 + 9 +(2 rows) +QUERY: SELECT lower(c), count(c) FROM test_having + GROUP BY lower(c) HAVING count(*) > 2 OR min(a) = max(a); +lower |count +--------+----- +bbbb | 3 +cccc | 4 +xxxx | 1 +(3 rows) + +QUERY: SELECT c, max(a) FROM test_having + GROUP BY c HAVING count(*) > 2 OR min(a) = max(a); +c |max +--------+--- +XXXX | 0 +bbbb | 5 +(2 rows) + +QUERY: DROP TABLE test_having; diff --git a/src/test/regress/expected/select_implicit.out b/src/test/regress/expected/select_implicit.out index 22df795676ce01fb16502ffee1df8cb74304dc74..9cc3e4d384ea5b8e2f5d67c6a1f3cfd1d14f8491 100644 --- a/src/test/regress/expected/select_implicit.out +++ b/src/test/regress/expected/select_implicit.out @@ -1,14 +1,14 @@ -QUERY: CREATE TABLE test_missing_target (a int, b int, c char(8)); -QUERY: INSERT INTO test_missing_target VALUES (0, 1, 'XXXX'); -QUERY: INSERT INTO test_missing_target VALUES (1, 2, 'AAAA'); -QUERY: INSERT INTO test_missing_target VALUES (2, 2, 'AAAA'); -QUERY: INSERT INTO test_missing_target VALUES (3, 3, 'BBBB'); -QUERY: INSERT INTO test_missing_target VALUES (4, 3, 'BBBB'); -QUERY: INSERT INTO test_missing_target VALUES (5, 3, 'bbbb'); -QUERY: INSERT INTO test_missing_target VALUES (6, 4, 'cccc'); -QUERY: INSERT INTO test_missing_target VALUES (7, 4, 'cccc'); -QUERY: INSERT INTO test_missing_target VALUES (8, 4, 'CCCC'); -QUERY: INSERT INTO test_missing_target VALUES (9, 4, 'CCCC'); +QUERY: CREATE TABLE test_missing_target (a int, b int, c char(8), d char); +QUERY: INSERT INTO test_missing_target VALUES (0, 1, 'XXXX', 'A'); +QUERY: INSERT INTO test_missing_target VALUES (1, 2, 'AAAA', 'b'); +QUERY: INSERT INTO test_missing_target VALUES (2, 2, 'AAAA', 'c'); +QUERY: INSERT INTO test_missing_target VALUES (3, 3, 'BBBB', 'D'); +QUERY: INSERT INTO test_missing_target VALUES (4, 3, 'BBBB', 'e'); +QUERY: INSERT INTO test_missing_target VALUES (5, 3, 'bbbb', 'F'); +QUERY: INSERT INTO test_missing_target VALUES (6, 4, 'cccc', 'g'); +QUERY: INSERT INTO test_missing_target VALUES (7, 4, 'cccc', 'h'); +QUERY: INSERT INTO test_missing_target VALUES (8, 4, 'CCCC', 'I'); +QUERY: INSERT INTO test_missing_target VALUES (9, 4, 'CCCC', 'j'); QUERY: SELECT c, count(*) FROM test_missing_target GROUP BY test_missing_target.c; c |count --------+----- @@ -210,9 +210,10 @@ cccc | 4 xxxx | 1 (4 rows) -QUERY: SELECT a FROM test_missing_target ORDER BY upper(c); +QUERY: SELECT a FROM test_missing_target ORDER BY upper(d); a - +0 1 2 3 @@ -222,7 +223,6 @@ a 7 8 9 -0 (10 rows) QUERY: SELECT count(b) FROM test_missing_target diff --git a/src/test/regress/sql/select_having.sql b/src/test/regress/sql/select_having.sql index 88abecc385f72ff45124f11118e3bf14d83b95a2..cbb256e1da322c2a843ac1889cda6d7020fe4a19 100644 --- a/src/test/regress/sql/select_having.sql +++ b/src/test/regress/sql/select_having.sql @@ -2,6 +2,26 @@ -- select_having.sql -- -SELECT d1, count(*) FROM DATETIME_TBL - GROUP BY d1 HAVING count(*) > 1; +-- load test data +CREATE TABLE test_having (a int, b int, c char(8), d char); +INSERT INTO test_having VALUES (0, 1, 'XXXX', 'A'); +INSERT INTO test_having VALUES (1, 2, 'AAAA', 'b'); +INSERT INTO test_having VALUES (2, 2, 'AAAA', 'c'); +INSERT INTO test_having VALUES (3, 3, 'BBBB', 'D'); +INSERT INTO test_having VALUES (4, 3, 'BBBB', 'e'); +INSERT INTO test_having VALUES (5, 3, 'bbbb', 'F'); +INSERT INTO test_having VALUES (6, 4, 'cccc', 'g'); +INSERT INTO test_having VALUES (7, 4, 'cccc', 'h'); +INSERT INTO test_having VALUES (8, 4, 'CCCC', 'I'); +INSERT INTO test_having VALUES (9, 4, 'CCCC', 'j'); +SELECT max(a) FROM test_having + GROUP BY lower(c) HAVING count(*) > 2 OR min(b) = 3; + +SELECT lower(c), count(c) FROM test_having + GROUP BY lower(c) HAVING count(*) > 2 OR min(a) = max(a); + +SELECT c, max(a) FROM test_having + GROUP BY c HAVING count(*) > 2 OR min(a) = max(a); + +DROP TABLE test_having; diff --git a/src/test/regress/sql/select_implicit.sql b/src/test/regress/sql/select_implicit.sql index a867b9b5564741557c5bb0f17dae99e4ca24ac04..041e761b05d7c30762d04aa216bf59c6f8640d68 100644 --- a/src/test/regress/sql/select_implicit.sql +++ b/src/test/regress/sql/select_implicit.sql @@ -7,17 +7,17 @@ -- - thomas 1998-07-09 -- load test data -CREATE TABLE test_missing_target (a int, b int, c char(8)); -INSERT INTO test_missing_target VALUES (0, 1, 'XXXX'); -INSERT INTO test_missing_target VALUES (1, 2, 'AAAA'); -INSERT INTO test_missing_target VALUES (2, 2, 'AAAA'); -INSERT INTO test_missing_target VALUES (3, 3, 'BBBB'); -INSERT INTO test_missing_target VALUES (4, 3, 'BBBB'); -INSERT INTO test_missing_target VALUES (5, 3, 'bbbb'); -INSERT INTO test_missing_target VALUES (6, 4, 'cccc'); -INSERT INTO test_missing_target VALUES (7, 4, 'cccc'); -INSERT INTO test_missing_target VALUES (8, 4, 'CCCC'); -INSERT INTO test_missing_target VALUES (9, 4, 'CCCC'); +CREATE TABLE test_missing_target (a int, b int, c char(8), d char); +INSERT INTO test_missing_target VALUES (0, 1, 'XXXX', 'A'); +INSERT INTO test_missing_target VALUES (1, 2, 'AAAA', 'b'); +INSERT INTO test_missing_target VALUES (2, 2, 'AAAA', 'c'); +INSERT INTO test_missing_target VALUES (3, 3, 'BBBB', 'D'); +INSERT INTO test_missing_target VALUES (4, 3, 'BBBB', 'e'); +INSERT INTO test_missing_target VALUES (5, 3, 'bbbb', 'F'); +INSERT INTO test_missing_target VALUES (6, 4, 'cccc', 'g'); +INSERT INTO test_missing_target VALUES (7, 4, 'cccc', 'h'); +INSERT INTO test_missing_target VALUES (8, 4, 'CCCC', 'I'); +INSERT INTO test_missing_target VALUES (9, 4, 'CCCC', 'j'); -- w/ existing GROUP BY target @@ -118,7 +118,7 @@ SELECT lower(test_missing_target.c), count(c) FROM test_missing_target GROUP BY lower(c) ORDER BY lower(c); -- w/o existing GROUP BY target -SELECT a FROM test_missing_target ORDER BY upper(c); +SELECT a FROM test_missing_target ORDER BY upper(d); -- w/o existing ORDER BY target SELECT count(b) FROM test_missing_target