diff options
Diffstat (limited to 'src/backend/utils/init/miscinit.c')
-rw-r--r-- | src/backend/utils/init/miscinit.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c index 2ae41c013c1..e5e21e8719b 100644 --- a/src/backend/utils/init/miscinit.c +++ b/src/backend/utils/init/miscinit.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/init/miscinit.c,v 1.129 2004/07/12 00:09:06 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/init/miscinit.c,v 1.130 2004/08/01 17:32:18 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -115,19 +115,29 @@ ReindexIsProcessingIndex(Oid indexOid) /* * SetReindexProcessing * Set flag that specified heap/index are being reindexed. - * Pass InvalidOid to indicate that reindexing is not active. */ void SetReindexProcessing(Oid heapOid, Oid indexOid) { - /* Args should be both, or neither, InvalidOid */ - Assert((heapOid == InvalidOid) == (indexOid == InvalidOid)); + Assert(OidIsValid(heapOid) && OidIsValid(indexOid)); /* Reindexing is not re-entrant. */ - Assert(indexOid == InvalidOid || currentlyReindexedIndex == InvalidOid); + if (OidIsValid(currentlyReindexedIndex)) + elog(ERROR, "cannot reindex while reindexing"); currentlyReindexedHeap = heapOid; currentlyReindexedIndex = indexOid; } +/* + * ResetReindexProcessing + * Unset reindexing status. + */ +void +ResetReindexProcessing(void) +{ + currentlyReindexedHeap = InvalidOid; + currentlyReindexedIndex = InvalidOid; +} + /* ---------------------------------------------------------------- * database path / name support stuff * ---------------------------------------------------------------- |