From: Alvaro Herrera Date: Wed, 12 Sep 2007 20:21:23 +0000 (+0000) Subject: Make REINDEX DATABASE silently skip remote temp tables. X-Git-Tag: REL8_1_10~6 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=07c822672b03260e8693bcdf51d4cd9313344f02;p=postgresql Make REINDEX DATABASE silently skip remote temp tables. Per report from bitsandbytes88 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). --- diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c index de9ddd258b..81ab2e8046 100644 --- a/src/backend/commands/indexcmds.c +++ b/src/backend/commands/indexcmds.c @@ -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)) {