From b952a8491e62899b175a1d918a2411d2a8607b06 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 5 Jun 1998 03:56:03 +0000 Subject: [PATCH] Also added two new files. src/test/regess/sql/junkfilter.sql -- SQL for regression test src/test/regess/expected/junkfilter.out -- Expected output SQL for regression test David Hartwig --- src/test/regress/expected/junkfilter.out | 132 +++++++++++++++++++++++ src/test/regress/sql/junkfilter.sql | 74 +++++++++++++ 2 files changed, 206 insertions(+) create mode 100644 src/test/regress/expected/junkfilter.out create mode 100644 src/test/regress/sql/junkfilter.sql diff --git a/src/test/regress/expected/junkfilter.out b/src/test/regress/expected/junkfilter.out new file mode 100644 index 0000000000..3cebc552f1 --- /dev/null +++ b/src/test/regress/expected/junkfilter.out @@ -0,0 +1,132 @@ +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: SELECT c, count(*) FROM test_missing_target GROUP BY test_missing_target.c; +c |count +--------+----- +AAAA | 2 +BBBB | 3 +CCCC | 4 +XXXX | 1 +(4 rows) + +QUERY: SELECT count(*) FROM test_missing_target GROUP BY test_missing_target.c; +count +----- + 2 + 3 + 4 + 1 +(4 rows) + +QUERY: SELECT count(*) FROM test_missing_target GROUP BY a ORDER BY b; +ERROR: parser: illegal use of aggregates or non-group column in target list +QUERY: SELECT count(*) FROM test_missing_target GROUP BY b ORDER BY b; +count +----- + 1 + 2 + 3 + 4 +(4 rows) + +QUERY: SELECT test_missing_target.b, count(*) FROM test_missing_target GROUP BY b ORDER BY b; +b|count +-+----- +1| 1 +2| 2 +3| 3 +4| 4 +(4 rows) + +QUERY: SELECT c FROM test_missing_target ORDER BY a; +c +-------- +XXXX +AAAA +AAAA +BBBB +BBBB +BBBB +CCCC +CCCC +CCCC +CCCC +(10 rows) + +QUERY: SELECT count(*) FROM test_missing_target GROUP BY b ORDER BY b desc; +count +----- + 4 + 3 + 2 + 1 +(4 rows) + +QUERY: SELECT count(*) FROM test_missing_target ORDER BY 1 desc; +count +----- + 10 +(1 row) + +QUERY: SELECT c, count(*) FROM test_missing_target GROUP BY 1; +c |count +--------+----- +AAAA | 2 +BBBB | 3 +CCCC | 4 +XXXX | 1 +(4 rows) + +QUERY: SELECT c, count(*) FROM test_missing_target GROUP BY 3; +ERROR: left hand side of operator < has an unknown type, probably a bad attribute name +QUERY: SELECT count(*) FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY b ORDER BY b; +ERROR: Column b is ambiguous +QUERY: SELECT x.b, count(*) FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY x.b; +b|count +-+----- +1| 1 +2| 2 +3| 3 +4| 4 +(4 rows) + +QUERY: SELECT count(*) FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY x.b; +count +----- + 1 + 2 + 3 + 4 +(4 rows) + +QUERY: SELECT count(*) INTO TABLE test_missing_target2 +FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY x.b; +QUERY: SELECT * FROM test_missing_target2; +count +----- + 1 + 2 + 3 + 4 +(4 rows) + +QUERY: drop table test_missing_target; +QUERY: drop table test_missing_target2; + diff --git a/src/test/regress/sql/junkfilter.sql b/src/test/regress/sql/junkfilter.sql new file mode 100644 index 0000000000..9dc9880706 --- /dev/null +++ b/src/test/regress/sql/junkfilter.sql @@ -0,0 +1,74 @@ +-- 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'); + + +-- w/ existing GROUP BY target +SELECT c, count(*) FROM test_missing_target GROUP BY test_missing_target.c; + +-- w/o existing GROUP BY target using a relation name in GROUP BY clause +SELECT count(*) FROM test_missing_target GROUP BY test_missing_target.c; + +-- w/o existing GROUP BY target and w/o existing a different ORDER BY target +-- failure expected +SELECT count(*) FROM test_missing_target GROUP BY a ORDER BY b; + +-- w/o existing GROUP BY target and w/o existing same ORDER BY target +SELECT count(*) FROM test_missing_target GROUP BY b ORDER BY b; + +-- w/ existing GROUP BY target using a relation name in target +SELECT test_missing_target.b, count(*) FROM test_missing_target GROUP BY b ORDER BY b; + +-- w/o existing GROUP BY target +SELECT c FROM test_missing_target ORDER BY a; + +-- w/o existing ORDER BY target +SELECT count(*) FROM test_missing_target GROUP BY b ORDER BY b desc; + +-- group using reference number +SELECT count(*) FROM test_missing_target ORDER BY 1 desc; + +-- order using reference number +SELECT c, count(*) FROM test_missing_target GROUP BY 1; + +-- group using reference number out of range +-- failure expected +SELECT c, count(*) FROM test_missing_target GROUP BY 3; + +-- group w/o existing GROUP BY and ORDER BY target under ambigious condition +-- failure expected +SELECT count(*) FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY b ORDER BY b; + +-- group w/ existing GROUP BY target under ambigious condition +SELECT x.b, count(*) FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY x.b; + +-- group w/o existing GROUP BY target under ambigious condition +SELECT count(*) FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY x.b; + +-- group w/o existing GROUP BY target under ambigious condition +-- into a table +SELECT count(*) INTO TABLE test_missing_target2 +FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY x.b; +SELECT * FROM test_missing_target2; + +-- Cleanup +drop table test_missing_target; +drop table test_missing_target2; +