"Tom Lane" <[EMAIL PROTECTED]> writes:

> Oooh ... I can't be sure that this is what's biting you, but I
> definitely see a bug that seems to match the symptoms.  As the comments
> in index.c point out, CREATE INDEX CONCURRENTLY works like this:
>
>  * validate_index() works by first gathering all the TIDs currently in the
>  * index, using a bulkdelete callback that just stores the TIDs and doesn't
>  * ever say "delete it".  (This should be faster than a plain indexscan;
>  * also, not all index AMs support full-index indexscan.)  Then we sort the
>  * TIDs, and finally scan the table doing a "merge join" against the TID list
>  * to see which tuples are missing from the index.
>
> The scan is done using the regular heapscan code, which in 8.3 has been
> modified to enable "synchronized scanning", which means it might start
> from the middle of the table and wrap around.  

Wow, I'm glad we caught this in beta. Thanks a lot to Hannes Dorbath for
testing and reporting it.

-- 
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com
  Ask me about EnterpriseDB's RemoteDBA services!

---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

                http://www.postgresql.org/about/donate

Reply via email to