On Wed, Feb 8, 2012 at 2:38 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> Robert Haas <robertmh...@gmail.com> writes:
>> On Wed, Feb 8, 2012 at 2:15 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:
>>> ISTM there are two ways we could fix this:
>>> 1. Introduce a duplicative test at the start of gistbuild().
>>> 2. Rearrange the order of operations in index_build() so that the init
>>> fork is made first.
>>> Both of these are kinda ugly, but #2 puts the ugliness into someplace
>>> that shouldn't have to know about it, and furthermore someplace that's
>>> unlikely to get reverted if/when gist is fixed to not have this problem.
>>> So I think I favor #1.  Other opinions anyone?
>> I don't think I understand your object to #2.  It appears to be a
>> trivial rearrangement?
> Yeah, but then we are wiring into index_build the idea that ambuildempty
> is more important, or more likely to throw an error, or something, than
> ambuild is.  It seems weird.  And fragile, since somebody could decide
> to re-order those two steps again for reasons unrelated to gist.

I guess.  I think the compelling reason to do ambuildempty first is
that it's fast.  So might as well.  I think you'e just going to end up
hard-wiring the assumption that ambuild happens before ambuildempty,
which doesn't seem any better than the other way around, but I don't
care enough to argue about if you feel strongly about it.

Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to