Jay Levitt <jay.levitt@gmail.com> writes:
> [Posted at Andres's request]
> TL;DR: Inserting and indexing cubes is slow and/or broken in various ways in
> various builds.
Not sure yet about most of these, but I know the reason for this one:
> 2. In both 9.1 and 9.2, there is a long delay before CREATE INDEX realizes
> it can't work on an unlogged table
That error is thrown in gistbuildempty, which is not called until after
we have finished building the main-fork index. This is a tad unfriendly
when the table already contains lots of data.
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?
regards, tom lane