diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-04-12 04:26:34 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-04-12 04:26:34 +0000 |
commit | 2e7a68896bfa84b28cd57e23e141aa9c899275c7 (patch) | |
tree | 11d360de8f7aab0d5c3345a45e61169c40f83538 /src/backend/optimizer/plan/planagg.c | |
parent | 3803f243790466722cb6cd26118f48629261cb58 (diff) |
Add aggsortop column to pg_aggregate, so that MIN/MAX optimization can
be supported for all datatypes. Add CREATE AGGREGATE and pg_dump support
too. Add specialized min/max aggregates for bpchar, instead of depending
on text's min/max, because otherwise the possible use of bpchar indexes
cannot be recognized.
initdb forced because of catalog changes.
Diffstat (limited to 'src/backend/optimizer/plan/planagg.c')
-rw-r--r-- | src/backend/optimizer/plan/planagg.c | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/src/backend/optimizer/plan/planagg.c b/src/backend/optimizer/plan/planagg.c index 299931c6156..b80f2c6900b 100644 --- a/src/backend/optimizer/plan/planagg.c +++ b/src/backend/optimizer/plan/planagg.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/optimizer/plan/planagg.c,v 1.1 2005/04/11 23:06:55 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/optimizer/plan/planagg.c,v 1.2 2005/04/12 04:26:24 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -542,7 +542,6 @@ replace_aggs_with_params_mutator(Node *node, List **context) static Oid fetch_agg_sort_op(Oid aggfnoid) { -#ifdef NOT_YET HeapTuple aggTuple; Form_pg_aggregate aggform; Oid aggsortop; @@ -558,18 +557,4 @@ fetch_agg_sort_op(Oid aggfnoid) ReleaseSysCache(aggTuple); return aggsortop; -#else - /* - * XXX stub implementation for testing: hardwire a few cases. - */ - if (aggfnoid == 2132) /* min(int4) -> int4lt */ - return 97; - if (aggfnoid == 2116) /* max(int4) -> int4gt */ - return 521; - if (aggfnoid == 2145) /* min(text) -> text_lt */ - return 664; - if (aggfnoid == 2129) /* max(text) -> text_gt */ - return 666; - return InvalidOid; -#endif } |