diff options
author | Bruce Momjian <bruce@momjian.us> | 2000-04-12 17:17:23 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2000-04-12 17:17:23 +0000 |
commit | 52f77df613cea1803ce86321c37229626d9f213c (patch) | |
tree | bd9ac9f667f295cb65f4c448a5bb5a062d656b27 /src/backend/utils/cache | |
parent | db4518729d85da83eafdacbcebaeb12618517595 (diff) | |
download | postgresql-52f77df613cea1803ce86321c37229626d9f213c.tar.gz postgresql-52f77df613cea1803ce86321c37229626d9f213c.zip |
Ye-old pgindent run. Same 4-space tabs.
Diffstat (limited to 'src/backend/utils/cache')
-rw-r--r-- | src/backend/utils/cache/catcache.c | 99 | ||||
-rw-r--r-- | src/backend/utils/cache/fcache.c | 7 | ||||
-rw-r--r-- | src/backend/utils/cache/inval.c | 99 | ||||
-rw-r--r-- | src/backend/utils/cache/lsyscache.c | 39 | ||||
-rw-r--r-- | src/backend/utils/cache/relcache.c | 194 | ||||
-rw-r--r-- | src/backend/utils/cache/syscache.c | 55 | ||||
-rw-r--r-- | src/backend/utils/cache/temprel.c | 8 |
7 files changed, 273 insertions, 228 deletions
diff --git a/src/backend/utils/cache/catcache.c b/src/backend/utils/cache/catcache.c index 297c92b56e7..b593920b1a8 100644 --- a/src/backend/utils/cache/catcache.c +++ b/src/backend/utils/cache/catcache.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.62 2000/02/21 03:36:49 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.63 2000/04/12 17:15:52 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -30,10 +30,10 @@ static void CatCacheRemoveCTup(CatCache *cache, Dlelem *e); static Index CatalogCacheComputeHashIndex(struct catcache * cacheInP); static Index CatalogCacheComputeTupleHashIndex(struct catcache * cacheInOutP, - Relation relation, - HeapTuple tuple); + Relation relation, + HeapTuple tuple); static void CatalogCacheInitializeCache(struct catcache * cache, - Relation relation); + Relation relation); static uint32 cc_hashname(NameData *n); /* ---------------- @@ -57,9 +57,10 @@ static uint32 cc_hashname(NameData *n); #define CACHE6_elog(a,b,c,d,e,f,g) #endif -static CatCache *Caches = NULL; /* head of list of caches */ +static CatCache *Caches = NULL; /* head of list of caches */ GlobalMemory CacheCxt; /* context in which caches are allocated */ + /* CacheCxt is global because relcache uses it too. */ @@ -90,8 +91,8 @@ GetCCHashFunc(Oid keytype) { switch (keytype) { - case BOOLOID: - case CHAROID: + case BOOLOID: + case CHAROID: return (CCHashFunc) hashchar; case NAMEOID: return (CCHashFunc) cc_hashname; @@ -118,11 +119,12 @@ GetCCHashFunc(Oid keytype) static uint32 cc_hashname(NameData *n) { + /* * We need our own variant of hashname because we want to accept - * null-terminated C strings as search values for name fields. - * So, we have to make sure the data is correctly padded before - * we compute the hash value. + * null-terminated C strings as search values for name fields. So, we + * have to make sure the data is correctly padded before we compute + * the hash value. */ NameData my_n; @@ -242,11 +244,14 @@ CatalogCacheInitializeCache(struct catcache * cache, if (cache->cc_key[i] > 0) { - Oid keytype = tupdesc->attrs[cache->cc_key[i] - 1]->atttypid; + Oid keytype = tupdesc->attrs[cache->cc_key[i] - 1]->atttypid; cache->cc_hashfunc[i] = GetCCHashFunc(keytype); - /* If GetCCHashFunc liked the type, safe to index into eqproc[] */ + /* + * If GetCCHashFunc liked the type, safe to index into + * eqproc[] + */ cache->cc_skey[i].sk_procedure = EQPROC(keytype); fmgr_info(cache->cc_skey[i].sk_procedure, @@ -314,19 +319,19 @@ CatalogCacheComputeHashIndex(struct catcache * cacheInP) { case 4: hashIndex ^= - (*cacheInP->cc_hashfunc[3])(cacheInP->cc_skey[3].sk_argument) << 9; + (*cacheInP->cc_hashfunc[3]) (cacheInP->cc_skey[3].sk_argument) << 9; /* FALLTHROUGH */ case 3: hashIndex ^= - (*cacheInP->cc_hashfunc[2])(cacheInP->cc_skey[2].sk_argument) << 6; + (*cacheInP->cc_hashfunc[2]) (cacheInP->cc_skey[2].sk_argument) << 6; /* FALLTHROUGH */ case 2: hashIndex ^= - (*cacheInP->cc_hashfunc[1])(cacheInP->cc_skey[1].sk_argument) << 3; + (*cacheInP->cc_hashfunc[1]) (cacheInP->cc_skey[1].sk_argument) << 3; /* FALLTHROUGH */ case 1: hashIndex ^= - (*cacheInP->cc_hashfunc[0])(cacheInP->cc_skey[0].sk_argument); + (*cacheInP->cc_hashfunc[0]) (cacheInP->cc_skey[0].sk_argument); break; default: elog(FATAL, "CCComputeHashIndex: %d cc_nkeys", cacheInP->cc_nkeys); @@ -612,10 +617,11 @@ ResetSystemCache() void SystemCacheRelationFlushed(Oid relId) { + /* - * XXX Ideally we'd search the caches and just zap entries that actually - * refer to or come from the indicated relation. For now, we take the - * brute-force approach: just flush the caches entirely. + * XXX Ideally we'd search the caches and just zap entries that + * actually refer to or come from the indicated relation. For now, we + * take the brute-force approach: just flush the caches entirely. */ ResetSystemCache(); } @@ -688,6 +694,7 @@ InitSysCache(char *relname, * ---------------- */ { + /* * We can only do this optimization because the number of hash * buckets never changes. Without it, we call palloc() too much. @@ -782,8 +789,8 @@ InitSysCache(char *relname, * * This call searches for self-referencing information, * which causes infinite recursion in the system catalog cache. - * This code short-circuits the normal index lookup for cache loads - * in those cases and replaces it with a heap scan. + * This code short-circuits the normal index lookup for cache loads + * in those cases and replaces it with a heap scan. * * cache should already be initailized * -------------------------------- @@ -791,40 +798,41 @@ InitSysCache(char *relname, static HeapTuple SearchSelfReferences(struct catcache * cache) { - HeapTuple ntp; - Relation rel; + HeapTuple ntp; + Relation rel; if (cache->id == INDEXRELID) { - static Oid indexSelfOid = InvalidOid; - static HeapTuple indexSelfTuple = NULL; + static Oid indexSelfOid = InvalidOid; + static HeapTuple indexSelfTuple = NULL; if (!OidIsValid(indexSelfOid)) { - ScanKeyData key; - HeapScanDesc sd; + ScanKeyData key; + HeapScanDesc sd; + /* Find oid of pg_index_indexrelid_index */ rel = heap_openr(RelationRelationName, AccessShareLock); ScanKeyEntryInitialize(&key, 0, Anum_pg_class_relname, - F_NAMEEQ, PointerGetDatum(IndexRelidIndex)); + F_NAMEEQ, PointerGetDatum(IndexRelidIndex)); sd = heap_beginscan(rel, false, SnapshotNow, 1, &key); ntp = heap_getnext(sd, 0); if (!HeapTupleIsValid(ntp)) elog(ERROR, "SearchSelfReferences: %s not found in %s", - IndexRelidIndex, RelationRelationName); + IndexRelidIndex, RelationRelationName); indexSelfOid = ntp->t_data->t_oid; heap_endscan(sd); heap_close(rel, AccessShareLock); } /* Looking for something other than pg_index_indexrelid_index? */ - if ((Oid)cache->cc_skey[0].sk_argument != indexSelfOid) - return (HeapTuple)0; + if ((Oid) cache->cc_skey[0].sk_argument != indexSelfOid) + return (HeapTuple) 0; /* Do we need to load our private copy of the tuple? */ if (!HeapTupleIsValid(indexSelfTuple)) { - HeapScanDesc sd; - MemoryContext oldcxt; + HeapScanDesc sd; + MemoryContext oldcxt; if (!CacheCxt) CacheCxt = CreateGlobalMemory("Cache"); @@ -844,16 +852,16 @@ SearchSelfReferences(struct catcache * cache) else if (cache->id == OPEROID) { /* bootstrapping this requires preloading a range of rows. bjm */ - static HeapTuple operatorSelfTuple[MAX_OIDCMP-MIN_OIDCMP+1]; - Oid lookup_oid = (Oid)cache->cc_skey[0].sk_argument; + static HeapTuple operatorSelfTuple[MAX_OIDCMP - MIN_OIDCMP + 1]; + Oid lookup_oid = (Oid) cache->cc_skey[0].sk_argument; if (lookup_oid < MIN_OIDCMP || lookup_oid > MAX_OIDCMP) - return (HeapTuple)0; + return (HeapTuple) 0; - if (!HeapTupleIsValid(operatorSelfTuple[lookup_oid-MIN_OIDCMP])) + if (!HeapTupleIsValid(operatorSelfTuple[lookup_oid - MIN_OIDCMP])) { - HeapScanDesc sd; - MemoryContext oldcxt; + HeapScanDesc sd; + MemoryContext oldcxt; if (!CacheCxt) CacheCxt = CreateGlobalMemory("Cache"); @@ -863,15 +871,15 @@ SearchSelfReferences(struct catcache * cache) if (!HeapTupleIsValid(ntp)) elog(ERROR, "SearchSelfReferences: tuple not found"); oldcxt = MemoryContextSwitchTo((MemoryContext) CacheCxt); - operatorSelfTuple[lookup_oid-MIN_OIDCMP] = heap_copytuple(ntp); + operatorSelfTuple[lookup_oid - MIN_OIDCMP] = heap_copytuple(ntp); MemoryContextSwitchTo(oldcxt); heap_endscan(sd); heap_close(rel, AccessShareLock); } - return operatorSelfTuple[lookup_oid-MIN_OIDCMP]; + return operatorSelfTuple[lookup_oid - MIN_OIDCMP]; } else - return (HeapTuple)0; + return (HeapTuple) 0; } @@ -916,7 +924,7 @@ SearchSysCache(struct catcache * cache, cache->cc_skey[3].sk_argument = v4; /* - * resolve self referencing informtion + * resolve self referencing informtion */ if ((ntp = SearchSelfReferences(cache))) return ntp; @@ -1052,12 +1060,13 @@ SearchSysCache(struct catcache * cache, } /* ---------- * Back to Cache context. If we got a tuple copy it - * into our context. wieck - 10/18/1996 + * into our context. wieck - 10/18/1996 * And free the tuple that was allocated in the * transaction's context. tgl - 02/03/2000 * ---------- */ - if (HeapTupleIsValid(indextp)) { + if (HeapTupleIsValid(indextp)) + { MemoryContextSwitchTo((MemoryContext) CacheCxt); ntp = heap_copytuple(indextp); MemoryContextSwitchTo(oldcxt); diff --git a/src/backend/utils/cache/fcache.c b/src/backend/utils/cache/fcache.c index 6660dc0ac40..26f4cbd8d06 100644 --- a/src/backend/utils/cache/fcache.c +++ b/src/backend/utils/cache/fcache.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/fcache.c,v 1.29 2000/01/26 05:57:17 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/fcache.c,v 1.30 2000/04/12 17:15:53 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -126,6 +126,7 @@ init_fcache(Oid foid, } else { + /* * This is a hack. We assume here that any function returning a * relation returns it by reference. This needs to be fixed. @@ -137,7 +138,7 @@ init_fcache(Oid foid, retval->func_state = (char *) NULL; retval->setArg = NULL; retval->hasSetArg = false; - retval->oneResult = ! procedureStruct->proretset; + retval->oneResult = !procedureStruct->proretset; retval->istrusted = procedureStruct->proistrusted; /* @@ -148,7 +149,7 @@ init_fcache(Oid foid, */ if ((retval->language == SQLlanguageId) && retval->oneResult && - ! retval->typbyval) + !retval->typbyval) { Form_pg_class relationStruct; HeapTuple relationTuple; diff --git a/src/backend/utils/cache/inval.c b/src/backend/utils/cache/inval.c index 17071f8e235..7094ed86f38 100644 --- a/src/backend/utils/cache/inval.c +++ b/src/backend/utils/cache/inval.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/inval.c,v 1.34 2000/01/31 04:35:52 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/inval.c,v 1.35 2000/04/12 17:15:53 momjian Exp $ * * Note - this code is real crufty... * @@ -95,11 +95,13 @@ typedef InvalidationMessageData *InvalidationMessage; * eaten by AtCommit_Cache() in CommitTransaction() */ static LocalInvalid InvalidForall = EmptyLocalInvalid; + /* * head of invalidation linked list for the backend itself * eaten by AtCommit_LocalCache() in CommandCounterIncrement() */ static LocalInvalid InvalidLocal = EmptyLocalInvalid; + /* * head of rollback linked list for the backend itself * eaten by AtAbort_Cache() in AbortTransaction() @@ -110,7 +112,7 @@ static LocalInvalid RollbackStack = EmptyLocalInvalid; static InvalidationEntry InvalidationEntryAllocate(uint16 size); static void LocalInvalidInvalidate(LocalInvalid invalid, void (*function) (), bool freemember); static LocalInvalid LocalInvalidRegister(LocalInvalid invalid, - InvalidationEntry entry); + InvalidationEntry entry); static void DiscardInvalidStack(LocalInvalid *invalid); static void InvalidationMessageRegisterSharedInvalid(InvalidationMessage message); @@ -161,7 +163,7 @@ LocalInvalidRegister(LocalInvalid invalid, * -------------------------------- */ static void -LocalInvalidInvalidate(LocalInvalid invalid, void (*function) (), bool freemember) + LocalInvalidInvalidate(LocalInvalid invalid, void (*function) (), bool freemember) { InvalidationEntryData *entryDataP; @@ -187,12 +189,12 @@ LocalInvalidInvalidate(LocalInvalid invalid, void (*function) (), bool freemembe static void DiscardInvalidStack(LocalInvalid *invalid) { - LocalInvalid locinv; + LocalInvalid locinv; locinv = *invalid; *invalid = EmptyLocalInvalid; if (locinv) - LocalInvalidInvalidate(locinv, (void (*)()) NULL, true); + LocalInvalidInvalidate(locinv, (void (*) ()) NULL, true); } /* ---------------------------------------------------------------- @@ -234,7 +236,7 @@ elog(DEBUG, "CacheIdImmediateRegisterSharedInvalid(%d, %d, [%d, %d])", \ */ static LocalInvalid CacheIdRegisterSpecifiedLocalInvalid(LocalInvalid invalid, - Index cacheId, Index hashIndex, ItemPointer pointer) + Index cacheId, Index hashIndex, ItemPointer pointer) { InvalidationMessage message; @@ -286,13 +288,13 @@ CacheIdRegisterLocalInvalid(Index cacheId, * ---------------- */ InvalidForall = CacheIdRegisterSpecifiedLocalInvalid(InvalidForall, - cacheId, hashIndex, pointer); + cacheId, hashIndex, pointer); /* ---------------- * Add message to InvalidLocal linked list. * ---------------- */ InvalidLocal = CacheIdRegisterSpecifiedLocalInvalid(InvalidLocal, - cacheId, hashIndex, pointer); + cacheId, hashIndex, pointer); } /* -------------------------------- @@ -301,7 +303,7 @@ CacheIdRegisterLocalInvalid(Index cacheId, */ static void CacheIdRegisterLocalRollback(Index cacheId, Index hashIndex, - ItemPointer pointer) + ItemPointer pointer) { /* ---------------- @@ -315,7 +317,7 @@ CacheIdRegisterLocalRollback(Index cacheId, Index hashIndex, * ---------------- */ RollbackStack = CacheIdRegisterSpecifiedLocalInvalid( - RollbackStack, cacheId, hashIndex, pointer); + RollbackStack, cacheId, hashIndex, pointer); } /* -------------------------------- @@ -324,7 +326,7 @@ CacheIdRegisterLocalRollback(Index cacheId, Index hashIndex, */ static void CacheIdImmediateRegisterSharedInvalid(Index cacheId, Index hashIndex, - ItemPointer pointer) + ItemPointer pointer) { InvalidationMessage message; @@ -361,7 +363,7 @@ CacheIdImmediateRegisterSharedInvalid(Index cacheId, Index hashIndex, */ static LocalInvalid RelationIdRegisterSpecifiedLocalInvalid(LocalInvalid invalid, - Oid relationId, Oid objectId) + Oid relationId, Oid objectId) { InvalidationMessage message; @@ -415,13 +417,13 @@ RelationIdRegisterLocalInvalid(Oid relationId, Oid objectId) * ---------------- */ InvalidForall = RelationIdRegisterSpecifiedLocalInvalid(InvalidForall, - relationId, objectId); + relationId, objectId); /* ---------------- * Add message to InvalidLocal linked list. * ---------------- */ InvalidLocal = RelationIdRegisterSpecifiedLocalInvalid(InvalidLocal, - relationId, objectId); + relationId, objectId); } /* -------------------------------- @@ -446,7 +448,7 @@ RelationIdRegisterLocalRollback(Oid relationId, Oid objectId) * ---------------- */ RollbackStack = RelationIdRegisterSpecifiedLocalInvalid( - RollbackStack, relationId, objectId); + RollbackStack, relationId, objectId); } /* -------------------------------- @@ -643,16 +645,16 @@ InvalidationMessageCacheInvalidate(InvalidationMessage message) InvalidationMessageCacheInvalidate_DEBUG1; CacheIdInvalidate(message->any.catalog.cacheId, - message->any.catalog.hashIndex, - &message->any.catalog.pointerData); + message->any.catalog.hashIndex, + &message->any.catalog.pointerData); break; case 'r': /* cached relation descriptor */ InvalidationMessageCacheInvalidate_DEBUG2; CacheIdInvalidate(message->any.relation.relationId, - message->any.relation.objectId, - (ItemPointer) NULL); + message->any.relation.objectId, + (ItemPointer) NULL); break; default: @@ -753,14 +755,14 @@ RegisterInvalid(bool send) { DiscardInvalidStack(&RollbackStack); invalid = InvalidForall; - InvalidForall = EmptyLocalInvalid; /* clear InvalidForall */ + InvalidForall = EmptyLocalInvalid; /* clear InvalidForall */ LocalInvalidInvalidate(invalid, InvalidationMessageRegisterSharedInvalid, true); } else { DiscardInvalidStack(&InvalidForall); invalid = RollbackStack; - RollbackStack = EmptyLocalInvalid; /* clear RollbackStack */ + RollbackStack = EmptyLocalInvalid; /* clear RollbackStack */ LocalInvalidInvalidate(invalid, InvalidationMessageCacheInvalidate, true); } @@ -794,14 +796,15 @@ ImmediateLocalInvalidation(bool send) if (send) { invalid = InvalidLocal; - InvalidLocal = EmptyLocalInvalid; /* clear InvalidLocal */ + InvalidLocal = EmptyLocalInvalid; /* clear InvalidLocal */ LocalInvalidInvalidate(invalid, InvalidationMessageCacheInvalidate, true); } else { + /* - * This may be used for rollback to a savepoint. - * Don't clear InvalidForall and RollbackStack here. + * This may be used for rollback to a savepoint. Don't clear + * InvalidForall and RollbackStack here. */ DiscardInvalidStack(&InvalidLocal); invalid = RollbackStack; @@ -813,8 +816,8 @@ ImmediateLocalInvalidation(bool send) /* * InvokeHeapTupleInvalidation * Invoke functions for the tuple which register invalidation - * of catalog/relation cache. - * Note: + * of catalog/relation cache. + * Note: * Assumes object id is valid. * Assumes tuple is valid. */ @@ -831,9 +834,9 @@ elog(DEBUG, "%s(%s, [%d,%d])", \ static void InvokeHeapTupleInvalidation(Relation relation, HeapTuple tuple, - void (*CacheIdRegisterFunc)(), - void (*RelationIdRegisterFunc)(), - const char *funcname) + void (*CacheIdRegisterFunc) (), + void (*RelationIdRegisterFunc) (), + const char *funcname) { /* ---------------- * sanity checks @@ -857,13 +860,13 @@ InvokeHeapTupleInvalidation(Relation relation, HeapTuple tuple, */ InvokeHeapTupleInvalidation_DEBUG1; - RelationInvalidateCatalogCacheTuple(relation, tuple, - CacheIdRegisterFunc); + RelationInvalidateCatalogCacheTuple(relation, tuple, + CacheIdRegisterFunc); RelationInvalidateRelationCache(relation, tuple, - RelationIdRegisterFunc); + RelationIdRegisterFunc); } - + /* * RelationInvalidateHeapTuple * Causes the given tuple in a relation to be invalidated. @@ -871,10 +874,10 @@ InvokeHeapTupleInvalidation(Relation relation, HeapTuple tuple, void RelationInvalidateHeapTuple(Relation relation, HeapTuple tuple) { - InvokeHeapTupleInvalidation(relation, tuple, - CacheIdRegisterLocalInvalid, - RelationIdRegisterLocalInvalid, - "RelationInvalidateHeapTuple"); + InvokeHeapTupleInvalidation(relation, tuple, + CacheIdRegisterLocalInvalid, + RelationIdRegisterLocalInvalid, + "RelationInvalidateHeapTuple"); } /* @@ -886,9 +889,9 @@ void RelationMark4RollbackHeapTuple(Relation relation, HeapTuple tuple) { InvokeHeapTupleInvalidation(relation, tuple, - CacheIdRegisterLocalRollback, - RelationIdRegisterLocalRollback, - "RelationMark4RollbackHeapTuple"); + CacheIdRegisterLocalRollback, + RelationIdRegisterLocalRollback, + "RelationMark4RollbackHeapTuple"); } /* @@ -900,9 +903,9 @@ void ImmediateInvalidateSharedHeapTuple(Relation relation, HeapTuple tuple) { InvokeHeapTupleInvalidation(relation, tuple, - CacheIdImmediateRegisterSharedInvalid, - RelationIdImmediateRegisterSharedInvalid, - "ImmediateInvalidateSharedHeapTuple"); + CacheIdImmediateRegisterSharedInvalid, + RelationIdImmediateRegisterSharedInvalid, + "ImmediateInvalidateSharedHeapTuple"); } /* @@ -912,8 +915,8 @@ ImmediateInvalidateSharedHeapTuple(Relation relation, HeapTuple tuple) * This is needed for smgrunlink()/smgrtruncate(). * Those functions unlink/truncate the base file immediately * and couldn't be rollbacked in case of abort/crash. - * So relation cache invalidation must be registerd immediately. - * Note: + * So relation cache invalidation must be registerd immediately. + * Note: * Assumes Relation is valid. */ void @@ -933,10 +936,10 @@ ImmediateSharedRelationCacheInvalidate(Relation relation) * ---------------- */ #ifdef INVALIDDEBUG -elog(DEBUG, "ImmediateSharedRelationCacheInvalidate(%s)", \ - RelationGetPhysicalRelationName(relation)); + elog(DEBUG, "ImmediateSharedRelationCacheInvalidate(%s)", \ + RelationGetPhysicalRelationName(relation)); #endif /* defined(INVALIDDEBUG) */ RelationIdImmediateRegisterSharedInvalid( - RelOid_pg_class, RelationGetRelid(relation)); + RelOid_pg_class, RelationGetRelid(relation)); } diff --git a/src/backend/utils/cache/lsyscache.c b/src/backend/utils/cache/lsyscache.c index 688740e32da..d91f47b7ca2 100644 --- a/src/backend/utils/cache/lsyscache.c +++ b/src/backend/utils/cache/lsyscache.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/lsyscache.c,v 1.40 2000/02/16 01:00:23 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/lsyscache.c,v 1.41 2000/04/12 17:15:53 momjian Exp $ * * NOTES * Eventually, the index information should go through here, too. @@ -64,6 +64,7 @@ get_attname(Oid relid, AttrNumber attnum) if (HeapTupleIsValid(tp)) { Form_pg_attribute att_tup = (Form_pg_attribute) GETSTRUCT(tp); + return pstrdup(NameStr(att_tup->attname)); } else @@ -89,6 +90,7 @@ get_attnum(Oid relid, char *attname) if (HeapTupleIsValid(tp)) { Form_pg_attribute att_tup = (Form_pg_attribute) GETSTRUCT(tp); + return att_tup->attnum; } else @@ -114,6 +116,7 @@ get_atttype(Oid relid, AttrNumber attnum) if (HeapTupleIsValid(tp)) { Form_pg_attribute att_tup = (Form_pg_attribute) GETSTRUCT(tp); + return att_tup->atttypid; } else @@ -136,6 +139,7 @@ get_attisset(Oid relid, char *attname) if (HeapTupleIsValid(tp)) { Form_pg_attribute att_tup = (Form_pg_attribute) GETSTRUCT(tp); + return att_tup->attisset; } else @@ -161,6 +165,7 @@ get_atttypmod(Oid relid, AttrNumber attnum) if (HeapTupleIsValid(tp)) { Form_pg_attribute att_tup = (Form_pg_attribute) GETSTRUCT(tp); + return att_tup->atttypmod; } else @@ -206,8 +211,8 @@ get_attdisbursion(Oid relid, AttrNumber attnum, double min_estimate) /* * Special-case boolean columns: the disbursion of a boolean is highly - * unlikely to be anywhere near 1/numtuples, instead it's probably more - * like 0.5. + * unlikely to be anywhere near 1/numtuples, instead it's probably + * more like 0.5. * * Are there any other cases we should wire in special estimates for? */ @@ -215,8 +220,8 @@ get_attdisbursion(Oid relid, AttrNumber attnum, double min_estimate) return 0.5; /* - * Disbursion is either 0 (no data available) or -1 (disbursion - * is 1/numtuples). Either way, we need the relation size. + * Disbursion is either 0 (no data available) or -1 (disbursion is + * 1/numtuples). Either way, we need the relation size. */ atp = SearchSysCacheTuple(RELOID, @@ -246,10 +251,9 @@ get_attdisbursion(Oid relid, AttrNumber attnum, double min_estimate) return 1.0 / (double) ntuples; /* - * VACUUM ANALYZE has not been run for this table. - * Produce an estimate = 1/numtuples. This may produce - * unreasonably small estimates for large tables, so limit - * the estimate to no less than min_estimate. + * VACUUM ANALYZE has not been run for this table. Produce an estimate + * = 1/numtuples. This may produce unreasonably small estimates for + * large tables, so limit the estimate to no less than min_estimate. */ disbursion = 1.0 / (double) ntuples; if (disbursion < min_estimate) @@ -283,6 +287,7 @@ get_opcode(Oid opno) if (HeapTupleIsValid(tp)) { Form_pg_operator optup = (Form_pg_operator) GETSTRUCT(tp); + return optup->oprcode; } else @@ -306,6 +311,7 @@ get_opname(Oid opno) if (HeapTupleIsValid(tp)) { Form_pg_operator optup = (Form_pg_operator) GETSTRUCT(tp); + return pstrdup(NameStr(optup->oprname)); } else @@ -401,6 +407,7 @@ get_commutator(Oid opno) if (HeapTupleIsValid(tp)) { Form_pg_operator optup = (Form_pg_operator) GETSTRUCT(tp); + return optup->oprcom; } else @@ -424,6 +431,7 @@ get_negator(Oid opno) if (HeapTupleIsValid(tp)) { Form_pg_operator optup = (Form_pg_operator) GETSTRUCT(tp); + return optup->oprnegate; } else @@ -447,6 +455,7 @@ get_oprrest(Oid opno) if (HeapTupleIsValid(tp)) { Form_pg_operator optup = (Form_pg_operator) GETSTRUCT(tp); + return optup->oprrest; } else @@ -470,6 +479,7 @@ get_oprjoin(Oid opno) if (HeapTupleIsValid(tp)) { Form_pg_operator optup = (Form_pg_operator) GETSTRUCT(tp); + return optup->oprjoin; } else @@ -520,6 +530,7 @@ get_relnatts(Oid relid) if (HeapTupleIsValid(tp)) { Form_pg_class reltup = (Form_pg_class) GETSTRUCT(tp); + return reltup->relnatts; } else @@ -543,6 +554,7 @@ get_rel_name(Oid relid) if (HeapTupleIsValid(tp)) { Form_pg_class reltup = (Form_pg_class) GETSTRUCT(tp); + return pstrdup(NameStr(reltup->relname)); } else @@ -568,6 +580,7 @@ get_typlen(Oid typid) if (HeapTupleIsValid(tp)) { Form_pg_type typtup = (Form_pg_type) GETSTRUCT(tp); + return typtup->typlen; } else @@ -592,6 +605,7 @@ get_typbyval(Oid typid) if (HeapTupleIsValid(tp)) { Form_pg_type typtup = (Form_pg_type) GETSTRUCT(tp); + return (bool) typtup->typbyval; } else @@ -610,6 +624,7 @@ get_typalign(Oid typid) if (HeapTupleIsValid(tp)) { Form_pg_type typtup = (Form_pg_type) GETSTRUCT(tp); + return typtup->typalign; } else @@ -649,11 +664,12 @@ get_typdefault(Oid typid) type = (Form_pg_type) GETSTRUCT(typeTuple); /* - * First, see if there is a non-null typdefault field (usually there isn't) + * First, see if there is a non-null typdefault field (usually there + * isn't) */ typDefault = (struct varlena *) SysCacheGetAttr(TYPEOID, typeTuple, - Anum_pg_type_typdefault, + Anum_pg_type_typdefault, &isNull); if (isNull) @@ -743,6 +759,7 @@ get_typtype(Oid typid) if (HeapTupleIsValid(tp)) { Form_pg_type typtup = (Form_pg_type) GETSTRUCT(tp); + return typtup->typtype; } else diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c index 97ec7d300d1..41fcdf1d273 100644 --- a/src/backend/utils/cache/relcache.c +++ b/src/backend/utils/cache/relcache.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.94 2000/03/31 19:39:22 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.95 2000/04/12 17:15:54 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -80,8 +80,8 @@ static FormData_pg_attribute Desc_pg_log[Natts_pg_log] = {Schema_pg_log}; * thus there are two hash tables for referencing them. * ---------------- */ -static HTAB *RelationNameCache; -static HTAB *RelationIdCache; +static HTAB *RelationNameCache; +static HTAB *RelationIdCache; /* * newlyCreatedRelns - @@ -204,20 +204,20 @@ do { \ static void RelationClearRelation(Relation relation, bool rebuildIt); static void RelationFlushRelation(Relation *relationPtr, - int skipLocalRelations); + int skipLocalRelations); static Relation RelationNameCacheGetRelation(const char *relationName); static void RelationCacheAbortWalker(Relation *relationPtr, int dummy); static void init_irels(void); static void write_irels(void); static void formrdesc(char *relationName, u_int natts, - FormData_pg_attribute *att); + FormData_pg_attribute *att); static HeapTuple ScanPgRelation(RelationBuildDescInfo buildinfo); static HeapTuple scan_pg_rel_seq(RelationBuildDescInfo buildinfo); static HeapTuple scan_pg_rel_ind(RelationBuildDescInfo buildinfo); static Relation AllocateRelationDesc(Relation relation, u_int natts, - Form_pg_class relp); + Form_pg_class relp); static void RelationBuildTupleDesc(RelationBuildDescInfo buildinfo, Relation relation, u_int natts); static void build_tupdesc_seq(RelationBuildDescInfo buildinfo, @@ -225,12 +225,13 @@ static void build_tupdesc_seq(RelationBuildDescInfo buildinfo, static void build_tupdesc_ind(RelationBuildDescInfo buildinfo, Relation relation, u_int natts); static Relation RelationBuildDesc(RelationBuildDescInfo buildinfo, - Relation oldrelation); + Relation oldrelation); static void IndexedAccessMethodInitialize(Relation relation); static void AttrDefaultFetch(Relation relation); static void RelCheckFetch(Relation relation); -static bool criticalRelcacheBuild = false; +static bool criticalRelcacheBuild = false; + /* ---------------------------------------------------------------- * RelationIdGetRelation() and RelationNameGetRelation() * support functions @@ -350,7 +351,7 @@ scan_pg_rel_ind(RelationBuildDescInfo buildinfo) default: elog(ERROR, "ScanPgRelation: bad buildinfo"); - return_tuple = NULL; /* keep compiler quiet */ + return_tuple = NULL;/* keep compiler quiet */ } heap_close(pg_class_desc, AccessShareLock); @@ -483,7 +484,7 @@ build_tupdesc_seq(RelationBuildDescInfo buildinfo, int need; TupleConstr *constr = (TupleConstr *) palloc(sizeof(TupleConstr)); AttrDefault *attrdef = NULL; - int ndef = 0; + int ndef = 0; constr->has_not_null = false; /* ---------------- @@ -531,7 +532,7 @@ build_tupdesc_seq(RelationBuildDescInfo buildinfo, if (attrdef == NULL) { attrdef = (AttrDefault *) palloc(relation->rd_rel->relnatts * - sizeof(AttrDefault)); + sizeof(AttrDefault)); MemSet(attrdef, 0, relation->rd_rel->relnatts * sizeof(AttrDefault)); } @@ -569,9 +570,11 @@ build_tupdesc_ind(RelationBuildDescInfo buildinfo, AttrDefault *attrdef = NULL; int ndef = 0; int i; + #ifdef _DROP_COLUMN_HACK__ - bool columnDropped; -#endif /* _DROP_COLUMN_HACK__ */ + bool columnDropped; + +#endif /* _DROP_COLUMN_HACK__ */ constr->has_not_null = false; @@ -581,7 +584,7 @@ build_tupdesc_ind(RelationBuildDescInfo buildinfo, { #ifdef _DROP_COLUMN_HACK__ columnDropped = false; -#endif /* _DROP_COLUMN_HACK__ */ +#endif /* _DROP_COLUMN_HACK__ */ atttup = (HeapTuple) AttributeRelidNumIndexScan(attrel, RelationGetRelid(relation), i); @@ -589,15 +592,15 @@ build_tupdesc_ind(RelationBuildDescInfo buildinfo, #ifdef _DROP_COLUMN_HACK__ { atttup = (HeapTuple) AttributeRelidNumIndexScan(attrel, - RelationGetRelid(relation), DROPPED_COLUMN_INDEX(i)); + RelationGetRelid(relation), DROPPED_COLUMN_INDEX(i)); if (!HeapTupleIsValid(atttup)) -#endif /* _DROP_COLUMN_HACK__ */ - elog(ERROR, "cannot find attribute %d of relation %s", i, - RelationGetRelationName(relation)); +#endif /* _DROP_COLUMN_HACK__ */ + elog(ERROR, "cannot find attribute %d of relation %s", i, + RelationGetRelationName(relation)); #ifdef _DROP_COLUMN_HACK__ columnDropped = true; } -#endif /* _DROP_COLUMN_HACK__ */ +#endif /* _DROP_COLUMN_HACK__ */ attp = (Form_pg_attribute) GETSTRUCT(atttup); relation->rd_att->attrs[i - 1] = @@ -610,7 +613,7 @@ build_tupdesc_ind(RelationBuildDescInfo buildinfo, #ifdef _DROP_COLUMN_HACK__ if (columnDropped) continue; -#endif /* _DROP_COLUMN_HACK__ */ +#endif /* _DROP_COLUMN_HACK__ */ /* Update if this attribute have a constraint */ if (attp->attnotnull) constr->has_not_null = true; @@ -758,7 +761,7 @@ RelationBuildRuleLock(Relation relation) static void FreeRuleLock(RuleLock *rlock) { - int i; + int i; if (rlock == NULL) return; @@ -787,8 +790,8 @@ FreeRuleLock(RuleLock *rlock) static bool equalRuleLocks(RuleLock *rlock1, RuleLock *rlock2) { - int i, - j; + int i, + j; if (rlock1 != NULL) { @@ -821,9 +824,9 @@ equalRuleLocks(RuleLock *rlock1, RuleLock *rlock2) return false; if (rule1->isInstead != rule2->isInstead) return false; - if (! equal(rule1->qual, rule2->qual)) + if (!equal(rule1->qual, rule2->qual)) return false; - if (! equal(rule1->actions, rule2->actions)) + if (!equal(rule1->actions, rule2->actions)) return false; } } @@ -852,7 +855,7 @@ equalRuleLocks(RuleLock *rlock1, RuleLock *rlock2) * Form_pg_am rd_am; AM tuple * Form_pg_class rd_rel; RELATION tuple * Oid rd_id; relation's object id - * LockInfoData rd_lockInfo; lock manager's info + * LockInfoData rd_lockInfo; lock manager's info * TupleDesc rd_att; tuple descriptor * * Note: rd_ismem (rel is in-memory only) is currently unused @@ -1309,7 +1312,7 @@ RelationNameGetRelation(const char *relationName) * ---------------- */ buildinfo.infotype = INFO_RELNAME; - buildinfo.i.info_name = (char *)relationName; + buildinfo.i.info_name = (char *) relationName; rd = RelationBuildDesc(buildinfo, NULL); return rd; @@ -1352,11 +1355,11 @@ RelationClearRelation(Relation relation, bool rebuildIt) MemoryContext oldcxt; /* - * Make sure smgr and lower levels close the relation's files, - * if they weren't closed already. We do this unconditionally; - * if the relation is not deleted, the next smgr access should - * reopen the files automatically. This ensures that the low-level - * file access state is updated after, say, a vacuum truncation. + * Make sure smgr and lower levels close the relation's files, if they + * weren't closed already. We do this unconditionally; if the + * relation is not deleted, the next smgr access should reopen the + * files automatically. This ensures that the low-level file access + * state is updated after, say, a vacuum truncation. * * NOTE: this call is a no-op if the relation's smgr file is already * closed or unlinked. @@ -1364,15 +1367,16 @@ RelationClearRelation(Relation relation, bool rebuildIt) smgrclose(DEFAULT_SMGR, relation); /* - * Never, never ever blow away a nailed-in system relation, - * because we'd be unable to recover. + * Never, never ever blow away a nailed-in system relation, because + * we'd be unable to recover. */ if (relation->rd_isnailed) return; oldcxt = MemoryContextSwitchTo((MemoryContext) CacheCxt); - /* Remove relation from hash tables + /* + * Remove relation from hash tables * * Note: we might be reinserting it momentarily, but we must not have it * visible in the hash tables until it's valid again, so don't try to @@ -1384,12 +1388,12 @@ RelationClearRelation(Relation relation, bool rebuildIt) SystemCacheRelationFlushed(RelationGetRelid(relation)); /* - * Free all the subsidiary data structures of the relcache entry. - * We cannot free rd_att if we are trying to rebuild the entry, - * however, because pointers to it may be cached in various places. - * The trigger manager might also have pointers into the trigdesc, - * and the rule manager might have pointers into the rewrite rules. - * So to begin with, we can only get rid of these fields: + * Free all the subsidiary data structures of the relcache entry. We + * cannot free rd_att if we are trying to rebuild the entry, however, + * because pointers to it may be cached in various places. The trigger + * manager might also have pointers into the trigdesc, and the rule + * manager might have pointers into the rewrite rules. So to begin + * with, we can only get rid of these fields: */ if (relation->rd_am) pfree(relation->rd_am); @@ -1401,12 +1405,12 @@ RelationClearRelation(Relation relation, bool rebuildIt) pfree(relation->rd_support); /* - * If we're really done with the relcache entry, blow it away. - * But if someone is still using it, reconstruct the whole deal - * without moving the physical RelationData record (so that the - * someone's pointer is still valid). + * If we're really done with the relcache entry, blow it away. But if + * someone is still using it, reconstruct the whole deal without + * moving the physical RelationData record (so that the someone's + * pointer is still valid). */ - if (! rebuildIt) + if (!rebuildIt) { /* ok to zap remaining substructure */ FreeTupleDesc(relation->rd_att); @@ -1416,20 +1420,21 @@ RelationClearRelation(Relation relation, bool rebuildIt) } else { + /* * When rebuilding an open relcache entry, must preserve ref count * and myxactonly flag. Also attempt to preserve the tupledesc, - * rewrite rules, and trigger substructures in place. - * Furthermore we save/restore rd_nblocks (in case it is a local - * relation) *and* call RelationGetNumberOfBlocks (in case it isn't). + * rewrite rules, and trigger substructures in place. Furthermore + * we save/restore rd_nblocks (in case it is a local relation) + * *and* call RelationGetNumberOfBlocks (in case it isn't). */ - uint16 old_refcnt = relation->rd_refcnt; - bool old_myxactonly = relation->rd_myxactonly; - TupleDesc old_att = relation->rd_att; - RuleLock *old_rules = relation->rd_rules; - TriggerDesc *old_trigdesc = relation->trigdesc; - int old_nblocks = relation->rd_nblocks; - bool relDescChanged = false; + uint16 old_refcnt = relation->rd_refcnt; + bool old_myxactonly = relation->rd_myxactonly; + TupleDesc old_att = relation->rd_att; + RuleLock *old_rules = relation->rd_rules; + TriggerDesc *old_trigdesc = relation->trigdesc; + int old_nblocks = relation->rd_nblocks; + bool relDescChanged = false; RelationBuildDescInfo buildinfo; buildinfo.infotype = INFO_RELID; @@ -1478,12 +1483,14 @@ RelationClearRelation(Relation relation, bool rebuildIt) relDescChanged = true; } relation->rd_nblocks = old_nblocks; - /* this is kind of expensive, but I think we must do it in case + + /* + * this is kind of expensive, but I think we must do it in case * relation has been truncated... */ relation->rd_nblocks = RelationGetNumberOfBlocks(relation); - if (relDescChanged && ! RelationHasReferenceCountZero(relation)) + if (relDescChanged && !RelationHasReferenceCountZero(relation)) elog(ERROR, "RelationClearRelation: relation %u modified while in use", buildinfo.i.info_id); } @@ -1514,6 +1521,7 @@ RelationFlushRelation(Relation *relationPtr, { if (skipLocalRelations) return; /* don't touch local rels if so commanded */ + /* * Local rels should always be rebuilt, not flushed; the relcache * entry must live until RelationPurgeLocalRelation(). @@ -1522,10 +1530,11 @@ RelationFlushRelation(Relation *relationPtr, } else { + /* * Nonlocal rels can be dropped from the relcache if not open. */ - rebuildIt = ! RelationHasReferenceCountZero(relation); + rebuildIt = !RelationHasReferenceCountZero(relation); } RelationClearRelation(relation, rebuildIt); @@ -1633,6 +1642,7 @@ RelationFlushIndexes(Relation *r, void RelationIdInvalidateRelationCacheByAccessMethodId(Oid accessMethodId) { + /* * 25 aug 1992: mao commented out the ht walk below. it should be * doing the right thing, in theory, but flushing reldescs for index @@ -1641,13 +1651,14 @@ RelationIdInvalidateRelationCacheByAccessMethodId(Oid accessMethodId) * so i'm turning it off for now. after the release is cut, i'll fix * this up. * - * 20 nov 1999: this code has still never done anything, so I'm - * cutting the routine out of the system entirely. tgl + * 20 nov 1999: this code has still never done anything, so I'm cutting + * the routine out of the system entirely. tgl */ HashTableWalk(RelationNameCache, (HashtFunc) RelationFlushIndexes, accessMethodId); } + #endif /* @@ -1756,7 +1767,7 @@ RelationPurgeLocalRelation(bool xactCommitted) Assert(reln != NULL && reln->rd_myxactonly); - reln->rd_myxactonly = false; /* mark it not on list anymore */ + reln->rd_myxactonly = false; /* mark it not on list anymore */ newlyCreatedRelns = lnext(newlyCreatedRelns); pfree(l); @@ -1862,8 +1873,8 @@ AttrDefaultFetch(Relation relation) HeapTupleData tuple; HeapTuple htup; Form_pg_attrdef adform; - IndexScanDesc sd = (IndexScanDesc) NULL; - HeapScanDesc adscan = (HeapScanDesc) NULL; + IndexScanDesc sd = (IndexScanDesc) NULL; + HeapScanDesc adscan = (HeapScanDesc) NULL; RetrieveIndexResult indexRes; struct varlena *val; bool isnull; @@ -1885,7 +1896,7 @@ AttrDefaultFetch(Relation relation) sd = index_beginscan(irel, false, 1, &skey); } else - adscan = heap_beginscan(adrel, false, SnapshotNow, 1, &skey); + adscan = heap_beginscan(adrel, false, SnapshotNow, 1, &skey); tuple.t_datamcxt = NULL; tuple.t_data = NULL; @@ -1920,7 +1931,7 @@ AttrDefaultFetch(Relation relation) continue; if (attrdef[i].adbin != NULL) elog(NOTICE, "AttrDefaultFetch: second record found for attr %s in rel %s", - NameStr(relation->rd_att->attrs[adform->adnum - 1]->attname), + NameStr(relation->rd_att->attrs[adform->adnum - 1]->attname), RelationGetRelationName(relation)); val = (struct varlena *) fastgetattr(htup, @@ -1928,7 +1939,7 @@ AttrDefaultFetch(Relation relation) adrel->rd_att, &isnull); if (isnull) elog(NOTICE, "AttrDefaultFetch: adbin IS NULL for attr %s in rel %s", - NameStr(relation->rd_att->attrs[adform->adnum - 1]->attname), + NameStr(relation->rd_att->attrs[adform->adnum - 1]->attname), RelationGetRelationName(relation)); attrdef[i].adbin = textout(val); break; @@ -1962,12 +1973,12 @@ RelCheckFetch(Relation relation) ConstrCheck *check = relation->rd_att->constr->check; int ncheck = relation->rd_att->constr->num_check; Relation rcrel; - Relation irel = (Relation)NULL; + Relation irel = (Relation) NULL; ScanKeyData skey; HeapTupleData tuple; HeapTuple htup; - IndexScanDesc sd = (IndexScanDesc)NULL; - HeapScanDesc rcscan = (HeapScanDesc)NULL; + IndexScanDesc sd = (IndexScanDesc) NULL; + HeapScanDesc rcscan = (HeapScanDesc) NULL; RetrieveIndexResult indexRes; Name rcname; struct varlena *val; @@ -2271,9 +2282,9 @@ write_irels(void) char finalfilename[MAXPGPATH]; /* - * We must write a temporary file and rename it into place. Otherwise, - * another backend starting at about the same time might crash trying to - * read the partially-complete file. + * We must write a temporary file and rename it into place. Otherwise, + * another backend starting at about the same time might crash trying + * to read the partially-complete file. */ snprintf(tempfilename, sizeof(tempfilename), "%s%c%s.%d", DatabasePath, SEP_CHAR, RELCACHE_INIT_FILENAME, MyProcPid); @@ -2292,19 +2303,18 @@ write_irels(void) /* * Build relation descriptors for the critical system indexes without - * resort to the descriptor cache. In order to do this, we set - * ProcessingMode to Bootstrap. The effect of this is to disable indexed - * relation searches -- a necessary step, since we're trying to - * instantiate the index relation descriptors here. Once we have the - * descriptors, nail them into cache so we never lose them. + * resort to the descriptor cache. In order to do this, we set + * ProcessingMode to Bootstrap. The effect of this is to disable + * indexed relation searches -- a necessary step, since we're trying + * to instantiate the index relation descriptors here. Once we have + * the descriptors, nail them into cache so we never lose them. */ - /* Removed the following ProcessingMode change -- inoue - * At this point - * 1) Catalog Cache isn't initialized - * 2) Relation Cache for the following critical indexes aren't built - oldmode = GetProcessingMode(); - SetProcessingMode(BootstrapProcessing); + /* + * Removed the following ProcessingMode change -- inoue At this point + * 1) Catalog Cache isn't initialized 2) Relation Cache for the + * following critical indexes aren't built oldmode = + * GetProcessingMode(); SetProcessingMode(BootstrapProcessing); */ bi.infotype = INFO_RELNAME; @@ -2321,8 +2331,10 @@ write_irels(void) irel[2]->rd_isnailed = true; criticalRelcacheBuild = true; - /* Removed the following ProcessingMode -- inoue - SetProcessingMode(oldmode); + + /* + * Removed the following ProcessingMode -- inoue + * SetProcessingMode(oldmode); */ /* @@ -2411,9 +2423,9 @@ write_irels(void) FileClose(fd); - /* - * And rename the temp file to its final name, deleting any previously- - * existing init file. - */ - rename(tempfilename, finalfilename); + /* + * And rename the temp file to its final name, deleting any + * previously- existing init file. + */ + rename(tempfilename, finalfilename); } diff --git a/src/backend/utils/cache/syscache.c b/src/backend/utils/cache/syscache.c index 087002ab76f..5379873350b 100644 --- a/src/backend/utils/cache/syscache.c +++ b/src/backend/utils/cache/syscache.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/syscache.c,v 1.49 2000/02/18 09:28:56 inoue Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/syscache.c,v 1.50 2000/04/12 17:15:54 momjian Exp $ * * NOTES * These routines allow the parser/planner/executor to perform @@ -57,28 +57,28 @@ typedef HeapTuple (*ScanFunc) (); the list sorted alphabetically and adjust the cache numbers accordingly. - Add your entry to the cacheinfo[] array below. All cache lists are + Add your entry to the cacheinfo[] array below. All cache lists are alphabetical, so add it in the proper place. Specify the relation - name, number of arguments, argument names, size of tuple, index lookup + name, number of arguments, argument names, size of tuple, index lookup function, and index name. - In include/catalog/indexing.h, add a define for the number of indexes - in the relation, add a define for the index name, add an extern - array to hold the index names, define the index lookup function - prototype, and use DECLARE_UNIQUE_INDEX to define the index. Cache - lookups return only one row, so the index should be unique. + In include/catalog/indexing.h, add a define for the number of indexes + in the relation, add a define for the index name, add an extern + array to hold the index names, define the index lookup function + prototype, and use DECLARE_UNIQUE_INDEX to define the index. Cache + lookups return only one row, so the index should be unique. - In backend/catalog/indexing.c, initialize the relation array with - the index names for the relation, fixed size of relation (or marking - first non-fixed length field), and create the index lookup function. - Pick one that takes similar arguments and use that one, but keep the - function names in the same order as the cache list for clarity. + In backend/catalog/indexing.c, initialize the relation array with + the index names for the relation, fixed size of relation (or marking + first non-fixed length field), and create the index lookup function. + Pick one that takes similar arguments and use that one, but keep the + function names in the same order as the cache list for clarity. - Finally, any place your relation gets heap_insert() or + Finally, any place your relation gets heap_insert() or heap_update calls, include code to do a CatalogIndexInsert() to update the system indexes. The heap_* calls do not update indexes. - bjm 1999/11/22 + bjm 1999/11/22 --------------------------------------------------------------------------- */ @@ -394,10 +394,12 @@ static struct cachedesc cacheinfo[] = { TypeOidIndexScan} }; -static struct catcache *SysCache[lengthof(cacheinfo)]; +static struct catcache *SysCache[ + lengthof(cacheinfo)]; static int32 SysCacheSize = lengthof(cacheinfo); -static bool CacheInitialized = false; -extern bool IsCacheInitialized(void) +static bool CacheInitialized = false; +extern bool +IsCacheInitialized(void) { return CacheInitialized; } @@ -520,7 +522,7 @@ SearchSysCacheTuple(int cacheId,/* cache selection code */ /* temp table name remapping */ if (cacheId == RELNAME) { - char *nontemp_relname; + char *nontemp_relname; if ((nontemp_relname = get_temp_rel_by_username(DatumGetPointer(key1))) != NULL) @@ -549,7 +551,7 @@ SearchSysCacheTuple(int cacheId,/* cache selection code */ * SearchSysCacheTupleCopy(), extract a specific attribute. * * This is equivalent to using heap_getattr() on a tuple fetched - * from a non-cached relation. Usually, this is only used for attributes + * from a non-cached relation. Usually, this is only used for attributes * that could be NULL or variable length; the fixed-size attributes in * a system table are accessed just by mapping the tuple onto the C struct * declarations from include/catalog/. @@ -563,17 +565,18 @@ SysCacheGetAttr(int cacheId, HeapTuple tup, AttrNumber attributeNumber, bool *isnull) { + /* - * We just need to get the TupleDesc out of the cache entry, - * and then we can apply heap_getattr(). We expect that the cache - * control data is currently valid --- if the caller just fetched - * the tuple, then it should be. + * We just need to get the TupleDesc out of the cache entry, and then + * we can apply heap_getattr(). We expect that the cache control data + * is currently valid --- if the caller just fetched the tuple, then + * it should be. */ if (cacheId < 0 || cacheId >= SysCacheSize) elog(ERROR, "SysCacheGetAttr: Bad cache id %d", cacheId); - if (! PointerIsValid(SysCache[cacheId]) || + if (!PointerIsValid(SysCache[cacheId]) || SysCache[cacheId]->relationId == InvalidOid || - ! PointerIsValid(SysCache[cacheId]->cc_tupdesc)) + !PointerIsValid(SysCache[cacheId]->cc_tupdesc)) elog(ERROR, "SysCacheGetAttr: missing cache data for id %d", cacheId); return heap_getattr(tup, attributeNumber, diff --git a/src/backend/utils/cache/temprel.c b/src/backend/utils/cache/temprel.c index 0da4f3bd5e4..d5e7ba2dce9 100644 --- a/src/backend/utils/cache/temprel.c +++ b/src/backend/utils/cache/temprel.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/temprel.c,v 1.20 2000/01/26 05:57:18 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/temprel.c,v 1.21 2000/04/12 17:15:54 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -64,7 +64,7 @@ create_temp_relation(const char *relname, HeapTuple pg_class_tuple) /* save user-supplied name */ strcpy(temp_rel->user_relname, relname); StrNCpy(temp_rel->relname, NameStr(((Form_pg_class) - GETSTRUCT(pg_class_tuple))->relname), NAMEDATALEN); + GETSTRUCT(pg_class_tuple))->relname), NAMEDATALEN); temp_rel->relid = pg_class_tuple->t_data->t_oid; temp_rel->relkind = ((Form_pg_class) GETSTRUCT(pg_class_tuple))->relkind; temp_rel->xid = GetCurrentTransactionId(); @@ -95,7 +95,7 @@ remove_all_temp_relations(void) if (temp_rel->relkind != RELKIND_INDEX) { - char relname[NAMEDATALEN]; + char relname[NAMEDATALEN]; /* safe from deallocation */ strcpy(relname, temp_rel->user_relname); @@ -118,7 +118,7 @@ remove_temp_relation(Oid relid) MemoryContext oldcxt; List *l, *prev; - + oldcxt = MemoryContextSwitchTo((MemoryContext) CacheCxt); prev = NIL; |