]> granicus.if.org Git - postgresql/commitdiff
Make REINDEX DATABASE silently skip remote temp tables.
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 12 Sep 2007 20:21:23 +0000 (20:21 +0000)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 12 Sep 2007 20:21:23 +0000 (20:21 +0000)
Per report from bitsandbytes88 <at> hotmail.com and subsequent discussion.

This is a back patch of a patch committed yesterday to CLUSTER and REINDEX.
REINDEX only processes user indexes as of 8.1, so we needn't backpatch this any
further.  (CLUSTER was backpatched separately all the way back to 7.4).

src/backend/commands/indexcmds.c

index de9ddd258bd02b3704c4613ba330d8830c4ce8ec..81ab2e8046ff0254e96cf1d2deeed266a862d71c 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/commands/indexcmds.c,v 1.134.2.3 2007/08/25 19:08:31 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/commands/indexcmds.c,v 1.134.2.4 2007/09/12 20:21:23 alvherre Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1062,6 +1062,10 @@ ReindexDatabase(const char *databaseName, bool do_system, bool do_user)
                if (classtuple->relkind != RELKIND_RELATION)
                        continue;
 
+               /* Skip temp tables of other backends; we can't reindex them at all */
+               if (isOtherTempNamespace(classtuple->relnamespace))
+                       continue;
+
                /* Check user/system classification, and optionally skip */
                if (IsSystemClass(classtuple))
                {