On 10/09/2014 10:25 PM, Peter Geoghegan wrote:
On Thu, Oct 9, 2014 at 12:14 PM, Heikki Linnakangas
<hlinnakan...@vmware.com> wrote:
B-tree index build uses tuplesort.c. What's missing?
I don't think that all that much is missing. Tuplesort expects to work
with an index scankey when sorting B-Tree tuples. There needs to be
something like a reverse lookup of the sortsupport function. It looks
like a historical oversight, that would take time to fix, but wouldn't
be particularly challenging. You'd need to pick out the operators from
the scankey, so you'd have something like what tuplesort_begin_heap()
starts off with with tuplesort_begin_index_btree().
Oh, I didn't realize we don't do that already! I'm surprised, I would've
expected index build to have been the first thing we'd use the
SortSupport stuff in.
Yeah, that seems worth doing, independently of the this patch. Can you
write a separate patch to use SortSupport for B-tree index builds,
please? Eliminating the FunctionCallInfoData overhead should shave off
some some cycles from every index build.
- Heikki
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers