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

> Apparently, rd_indexattr needs to get cleared someplace where it
> isn't being cleared right now.  I'm sure this is related to the
> fancy dance we do for pg_class reindexing, but not sure yet where
> to fix it.

Yeah, doing the equivalent of this in gdb seems to fix it (haven't rebuilt yet
to test that I haven't done something silly in the C code though)


--- index.c     30 Jul 2008 21:56:59 +0100      1.300
+++ index.c     10 Aug 2008 19:55:21 +0100      
@@ -2382,6 +2382,11 @@
        is_pg_class = (RelationGetRelid(rel) == RelationRelationId);
        doneIndexes = NIL;
 
+       /* have to build the HOT indexed column bitmap before we start lying 
about
+        * what indexes exist... */
+       if (is_pg_class && !rel->rd_indexattr)
+               (void)RelationGetIndexAttrBitmap(rel);
+
        /* Reindex all the indexes. */
        foreach(indexId, indexIds)
        {


-- 
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com
  Get trained by Bruce Momjian - ask me about EnterpriseDB's PostgreSQL 
training!

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to