aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils')
-rw-r--r--src/backend/utils/adt/oid.c6
-rw-r--r--src/backend/utils/cache/catcache.c17
-rw-r--r--src/backend/utils/mmgr/oset.c20
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);
}