1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-21 15:54:08 +03:00

Make REINDEX DATABASE silently skip remote temp tables.

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).
This commit is contained in:
Alvaro Herrera 2007-09-12 20:21:23 +00:00
parent 57dcb0f81d
commit 07c822672b

View File

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * 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) if (classtuple->relkind != RELKIND_RELATION)
continue; 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 */ /* Check user/system classification, and optionally skip */
if (IsSystemClass(classtuple)) if (IsSystemClass(classtuple))
{ {