From bcc15f15e10630b2624a1610d61bedb88e4c4901 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Wed, 2 Sep 1998 23:37:13 +0000 Subject: [PATCH] > David Hartwig wrote: > > Please apply this HAVING regression patch. > > My bad. It is caused by a known bug having to do with GROUP BY. It ain't$ > > nothing to do with HAVING. For some reason the bug went away for a while, $ > > script. It must have, because that is how I created the expected file. :( > > > > A patch to the regression will be forthcoming. > --- src/backend/utils/adt/varlena.c | 8 +++++--- src/test/regress/expected/select_having.out | 12 ++++++------ src/test/regress/sql/select_having.sql | 4 ++-- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c index 4410aa1c9a..0de5ec07b9 100644 --- a/src/backend/utils/adt/varlena.c +++ b/src/backend/utils/adt/varlena.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.42 1998/09/01 04:32:54 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.43 1998/09/02 23:37:08 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -610,9 +610,11 @@ byteaGetByte(text *v, int32 n) elog(ERROR, "byteaGetByte: index (=%d) out of range [0..%d]", n, len - 1); } - +#ifdef USE_LOCALE byte = (unsigned char) (v->vl_dat[n]); - +#else + byte = v->vl_dat[n]; +#endif return (int32) byte; } diff --git a/src/test/regress/expected/select_having.out b/src/test/regress/expected/select_having.out index f9188a08fb..37a5a442f7 100644 --- a/src/test/regress/expected/select_having.out +++ b/src/test/regress/expected/select_having.out @@ -9,12 +9,12 @@ 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 +QUERY: SELECT b, c FROM test_having + GROUP BY b, c HAVING count(*) = 1; +b|c +-+-------- +1|XXXX +3|bbbb (2 rows) QUERY: SELECT lower(c), count(c) FROM test_having diff --git a/src/test/regress/sql/select_having.sql b/src/test/regress/sql/select_having.sql index cbb256e1da..95cff8501b 100644 --- a/src/test/regress/sql/select_having.sql +++ b/src/test/regress/sql/select_having.sql @@ -15,8 +15,8 @@ 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 b, c FROM test_having + GROUP BY b, c HAVING count(*) = 1; SELECT lower(c), count(c) FROM test_having GROUP BY lower(c) HAVING count(*) > 2 OR min(a) = max(a); -- 2.24.1