diff options
Diffstat (limited to 'src/backend/utils/cache')
-rw-r--r-- | src/backend/utils/cache/catcache.c | 8 | ||||
-rw-r--r-- | src/backend/utils/cache/relcache.c | 25 | ||||
-rw-r--r-- | src/backend/utils/cache/typcache.c | 4 |
3 files changed, 20 insertions, 17 deletions
diff --git a/src/backend/utils/cache/catcache.c b/src/backend/utils/cache/catcache.c index 5732e5ab424..5e91a7283ec 100644 --- a/src/backend/utils/cache/catcache.c +++ b/src/backend/utils/cache/catcache.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/cache/catcache.c,v 1.111 2003/11/29 19:52:00 pgsql Exp $ + * $PostgreSQL: pgsql/src/backend/utils/cache/catcache.c,v 1.112 2004/05/26 04:41:40 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -1317,6 +1317,7 @@ SearchCatCacheList(CatCache *cache, CatCList *cl; CatCTup *ct; List *ctlist; + ListCell *ctlist_item; int nmembers; Relation relation; SysScanDesc scandesc; @@ -1510,15 +1511,16 @@ SearchCatCacheList(CatCache *cache, cl->hash_value = lHashValue; cl->n_members = nmembers; /* The list is backwards because we built it with lcons */ + ctlist_item = list_head(ctlist); for (i = nmembers; --i >= 0;) { - cl->members[i] = ct = (CatCTup *) lfirst(ctlist); + cl->members[i] = ct = (CatCTup *) lfirst(ctlist_item); Assert(ct->c_list == NULL); ct->c_list = cl; /* mark list dead if any members already dead */ if (ct->dead) cl->dead = true; - ctlist = lnext(ctlist); + ctlist_item = lnext(ctlist_item); } DLAddHead(&cache->cc_lists, &cl->cache_elem); diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c index 0e4a31745fd..4d8190a7b0f 100644 --- a/src/backend/utils/cache/relcache.c +++ b/src/backend/utils/cache/relcache.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.202 2004/05/08 19:09:25 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.203 2004/05/26 04:41:40 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -1872,7 +1872,7 @@ RelationCacheInvalidate(void) Relation relation; List *rebuildFirstList = NIL; List *rebuildList = NIL; - List *l; + ListCell *l; /* Phase 1 */ hash_seq_init(&status, RelationIdCache); @@ -2577,23 +2577,24 @@ RelationGetIndexList(Relation relation) static List * insert_ordered_oid(List *list, Oid datum) { - List *l; + ListCell *prev; /* Does the datum belong at the front? */ - if (list == NIL || datum < lfirsto(list)) - return lconso(datum, list); + if (list == NIL || datum < linitial_oid(list)) + return lcons_oid(datum, list); /* No, so find the entry it belongs after */ - l = list; + prev = list_head(list); for (;;) { - List *n = lnext(l); + ListCell *curr = lnext(prev); - if (n == NIL || datum < lfirsto(n)) - break; /* it belongs before n */ - l = n; + if (curr == NULL || datum < lfirst_oid(curr)) + break; /* it belongs after 'prev', before 'curr' */ + + prev = curr; } - /* Insert datum into list after item l */ - lnext(l) = lconso(datum, lnext(l)); + /* Insert datum into list after 'prev' */ + lappend_cell_oid(list, prev, datum); return list; } diff --git a/src/backend/utils/cache/typcache.c b/src/backend/utils/cache/typcache.c index 7a8e67c83c8..b3ef61c2d72 100644 --- a/src/backend/utils/cache/typcache.c +++ b/src/backend/utils/cache/typcache.c @@ -36,7 +36,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/cache/typcache.c,v 1.5 2004/04/01 21:28:45 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/cache/typcache.c,v 1.6 2004/05/26 04:41:40 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -432,7 +432,7 @@ assign_record_type_typmod(TupleDesc tupDesc) Oid hashkey[REC_HASH_KEYS]; bool found; int i; - List *l; + ListCell *l; int32 newtypmod; MemoryContext oldcxt; |