diff options
Diffstat (limited to 'src/backend/utils')
-rw-r--r-- | src/backend/utils/adt/oid.c | 6 | ||||
-rw-r--r-- | src/backend/utils/cache/catcache.c | 17 | ||||
-rw-r--r-- | src/backend/utils/mmgr/oset.c | 20 |
3 files changed, 24 insertions, 19 deletions
diff --git a/src/backend/utils/adt/oid.c b/src/backend/utils/adt/oid.c index a89edac79bb..977fe87fbca 100644 --- a/src/backend/utils/adt/oid.c +++ b/src/backend/utils/adt/oid.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/oid.c,v 1.7 1997/07/24 20:16:17 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/oid.c,v 1.8 1997/08/24 23:07:35 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -96,6 +96,10 @@ char *oidout(Oid o) * PUBLIC ROUTINES * *****************************************************************************/ +/* + * If you change this function, change heap_keytest() + * because we have hardcoded this in there as an optimization + */ bool oideq(Oid arg1, Oid arg2) { return(arg1 == arg2); diff --git a/src/backend/utils/cache/catcache.c b/src/backend/utils/cache/catcache.c index 10289e03231..be7afe0a5f2 100644 --- a/src/backend/utils/cache/catcache.c +++ b/src/backend/utils/cache/catcache.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.7 1997/08/19 21:34:58 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.8 1997/08/24 23:07:42 momjian Exp $ * * Notes: * XXX This needs to use exception.h to handle recovery when @@ -656,8 +656,19 @@ InitSysCache(char *relname, * and the LRU tuple list * ---------------- */ - for (i = 0; i <= NCCBUCK; ++i) { - cp->cc_cache[i] = DLNewList(); + { + /* + * We can only do this optimization because the number of hash + * buckets never changes. Without it, we call malloc() too much. + * We could move this to dllist.c, but the way we do this is not + * dynamic/portabl, so why allow other routines to use it. + */ + void *cache_begin = malloc((NCCBUCK+1)*sizeof(Dllist)); + for (i = 0; i <= NCCBUCK; ++i) { + cp->cc_cache[i] = cache_begin + i * sizeof(Dllist); + cp->cc_cache[i]->dll_head = 0; + cp->cc_cache[i]->dll_tail = 0; + } } cp->cc_lrulist = DLNewList(); diff --git a/src/backend/utils/mmgr/oset.c b/src/backend/utils/mmgr/oset.c index d413cb5cb6f..6b42ee45d72 100644 --- a/src/backend/utils/mmgr/oset.c +++ b/src/backend/utils/mmgr/oset.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/Attic/oset.c,v 1.2 1997/08/19 21:35:59 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/Attic/oset.c,v 1.3 1997/08/24 23:07:50 momjian Exp $ * * NOTE * XXX This is a preliminary implementation which lacks fail-fast @@ -20,7 +20,6 @@ #include "utils/memutils.h" /* where declarations of this file goes */ static Pointer OrderedElemGetBase(OrderedElem elem); -static void OrderedElemInit(OrderedElem elem, OrderedSet set); static void OrderedElemPush(OrderedElem elem); static void OrderedElemPushHead(OrderedElem elem); @@ -50,18 +49,6 @@ OrderedSetInit(OrderedSet set, Offset offset) } /* - * OrderedElemInit -- - */ -static void -OrderedElemInit(OrderedElem elem, OrderedSet set) -{ - elem->set = set; - /* mark as unattached */ - elem->next = NULL; - elem->prev = NULL; -} - -/* * OrderedSetContains -- * True iff ordered set contains given element. */ @@ -148,7 +135,10 @@ OrderedElemPop(OrderedElem elem) void OrderedElemPushInto(OrderedElem elem, OrderedSet set) { - OrderedElemInit(elem, set); + elem->set = set; + /* mark as unattached */ + elem->next = NULL; + elem->prev = NULL; OrderedElemPush(elem); } |