summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorTom Lane2014-01-05 17:28:39 +0000
committerTom Lane2014-01-05 17:28:39 +0000
commit8b49a6044d06b557047210dba2735081bb037e96 (patch)
tree0728628b84691f01663256bceb4e648f3af6a4d6 /src/include
parent92459e7a7f87f91fc3012bea9eef870cf464d91f (diff)
Cache catalog lookup data across groups in ordered-set aggregates.
The initial commit of ordered-set aggregates just did all the setup work afresh each time the aggregate function is started up. But in a GROUP BY query, the catalog lookups need not be repeated for each group, since the column datatypes and sort information won't change. When there are many small groups, this makes for a useful, though not huge, performance improvement. Per suggestion from Andrew Gierth. Profiling of these cases suggests that it might be profitable to avoid duplicate lookups within tuplesort startup as well; but changing the tuplesort APIs would have much broader impact, so I left that for another day.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/catalog/pg_operator.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/catalog/pg_operator.h b/src/include/catalog/pg_operator.h
index a49cfdbdded..2fe9f935d46 100644
--- a/src/include/catalog/pg_operator.h
+++ b/src/include/catalog/pg_operator.h
@@ -128,6 +128,7 @@ DATA(insert OID = 95 ( "<" PGNSP PGUID b f f 21 21 16 520 524 int2lt scalar
DESCR("less than");
DATA(insert OID = 96 ( "=" PGNSP PGUID b t t 23 23 16 96 518 int4eq eqsel eqjoinsel ));
DESCR("equal");
+#define Int4EqualOperator 96
DATA(insert OID = 97 ( "<" PGNSP PGUID b f f 23 23 16 521 525 int4lt scalarltsel scalarltjoinsel ));
DESCR("less than");
#define Int4LessOperator 97