diff options
author | Robert Haas <rhaas@postgresql.org> | 2016-02-17 15:40:00 +0530 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2016-02-17 15:40:00 +0530 |
commit | f1f5ec1efafe74ca45e24e0bf3371b1d6985c8ee (patch) | |
tree | eab628891c0c2250d87bc703e27af7ca88fb9c0f /src/include/utils | |
parent | 66f503868b2ac1163aaf48a2f76d8be02af0bc81 (diff) | |
download | postgresql-f1f5ec1efafe74ca45e24e0bf3371b1d6985c8ee.tar.gz postgresql-f1f5ec1efafe74ca45e24e0bf3371b1d6985c8ee.zip |
Reuse abbreviated keys in ordered [set] aggregates.
When processing ordered aggregates following a sort that could make use
of the abbreviated key optimization, only call the equality operator to
compare successive pairs of tuples when their abbreviated keys were not
equal.
Peter Geoghegan, reviewd by Andreas Karlsson and by me.
Diffstat (limited to 'src/include/utils')
-rw-r--r-- | src/include/utils/tuplesort.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/include/utils/tuplesort.h b/src/include/utils/tuplesort.h index d31d9945d18..5cecd6d1b86 100644 --- a/src/include/utils/tuplesort.h +++ b/src/include/utils/tuplesort.h @@ -93,13 +93,13 @@ extern void tuplesort_putdatum(Tuplesortstate *state, Datum val, extern void tuplesort_performsort(Tuplesortstate *state); extern bool tuplesort_gettupleslot(Tuplesortstate *state, bool forward, - TupleTableSlot *slot); + TupleTableSlot *slot, Datum *abbrev); extern HeapTuple tuplesort_getheaptuple(Tuplesortstate *state, bool forward, bool *should_free); extern IndexTuple tuplesort_getindextuple(Tuplesortstate *state, bool forward, bool *should_free); extern bool tuplesort_getdatum(Tuplesortstate *state, bool forward, - Datum *val, bool *isNull); + Datum *val, bool *isNull, Datum *abbrev); extern bool tuplesort_skiptuples(Tuplesortstate *state, int64 ntuples, bool forward); |