1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-02 09:02:37 +03:00

Checking to decide whether relations are system relations now depends

on the namespace not the name; pg_ is not a reserved prefix for table
names anymore.  From Fernando Nasser.
This commit is contained in:
Tom Lane
2002-04-12 20:38:31 +00:00
parent 79b60cb132
commit 9999f5a10e
22 changed files with 198 additions and 126 deletions

View File

@ -74,7 +74,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/cache/inval.c,v 1.49 2002/03/03 17:47:55 tgl Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/cache/inval.c,v 1.50 2002/04/12 20:38:28 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -456,12 +456,15 @@ PrepareForTupleInvalidation(Relation relation, HeapTuple tuple,
* We only need to worry about invalidation for tuples that are in
* system relations; user-relation tuples are never in catcaches and
* can't affect the relcache either.
*
* TOAST tuples can likewise be ignored here.
*/
if (!IsSystemRelationName(NameStr(RelationGetForm(relation)->relname)))
if (!IsSystemRelation(relation))
return;
if (IsToastRelationName(NameStr(RelationGetForm(relation)->relname)))
/*
* TOAST tuples can likewise be ignored here.
* Note that TOAST tables are considered system relations
* so they are not filtered by the above test.
*/
if (IsToastRelation(relation))
return;
/*

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.159 2002/03/31 06:26:31 tgl Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.160 2002/04/12 20:38:29 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -183,7 +183,7 @@ do { \
elog(ERROR, "out of memory for relation descriptor cache"); \
/* used to give notice if found -- now just keep quiet */ \
nodentry->reldesc = RELATION; \
if (RelationGetNamespace(RELATION) == PG_CATALOG_NAMESPACE) \
if (IsSystemNamespace(RelationGetNamespace(RELATION))) \
{ \
char *relname = RelationGetRelationName(RELATION); \
RelNameCacheEnt *namehentry; \
@ -244,7 +244,7 @@ do { \
HASH_REMOVE, NULL); \
if (nodentry == NULL) \
elog(WARNING, "trying to delete a reldesc that does not exist."); \
if (RelationGetNamespace(RELATION) == PG_CATALOG_NAMESPACE) \
if (IsSystemNamespace(RelationGetNamespace(RELATION))) \
{ \
char *relname = RelationGetRelationName(RELATION); \
RelNameCacheEnt *namehentry; \