Re: Questionable coding in orderedsetaggs.c

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jeremy Harris <jgh(at)wizmail(dot)org>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Questionable coding in orderedsetaggs.c
Date: 2014-01-25 20:04:37
Message-ID: 5069.1390680277@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Jeremy Harris <jgh(at)wizmail(dot)org> writes:
> In ordered_set_startup() sorts are initialised in non-randomAccess mode
> (tuplesort_begin_heap() and ~datum(), last argument).

> The use of tuplesort_skip_tuples() feels very like a random access to
> me. I think it doesn't fail because the only use (and implementation)
> is to skip forwards; if backwards were tried (as the interface permits)
> external sorts would fail because multiple tapes are present for
> FINALMERGE.

Well, we certainly don't want to incur the overhead of randomAccess mode
when we're not actually going to use it, so I'd resist changing the code
in ordered_set_startup().

It's true that if tuplesort_skip_tuples() supported backwards skip, it
would need to insist that randomAccess mode be enabled *when a backwards
skip is used*. But such a feature is purely hypothetical ATM.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2014-01-25 21:11:26 Re: Storing pg_stat_statements query texts externally, pg_stat_statements in core
Previous Message Tomas Vondra 2014-01-25 19:44:30 Re: GIN improvements part2: fast scan