1
0
mirror of https://github.com/postgres/postgres.git synced 2025-10-31 10:30:33 +03:00

Major patch to speed up backend startup after profiling analysis.

This commit is contained in:
Bruce Momjian
1997-08-24 23:08:01 +00:00
parent 281ba3f40d
commit c4cb617504
9 changed files with 122 additions and 198 deletions

View File

@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.19 1997/08/19 21:28:49 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.20 1997/08/24 23:07:26 momjian Exp $
*
* NOTES
* The old interface functions have been converted to macros
@@ -695,26 +695,20 @@ heap_getattr(HeapTuple tup,
if (attnum > (int) tup->t_natts) {
*isnull = true;
return ((char *) NULL);
} else if (attnum > 0) {
/* ----------------
* take care of user defined attributes
* ----------------
*/
return fastgetattr(tup, attnum, tupleDesc, isnull);
} else {
/* ----------------
* take care of system attributes
* ----------------
*/
*isnull = false;
return heap_getsysattr(tup, b, attnum);
}
/* ----------------
* take care of user defined attributes
* ----------------
*/
if (attnum > 0) {
char *datum;
datum = fastgetattr(tup, attnum, tupleDesc, isnull);
return (datum);
}
/* ----------------
* take care of system attributes
* ----------------
*/
*isnull = false;
return
heap_getsysattr(tup, b, attnum);
}
/* ----------------

View File

@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/Attic/heapvalid.c,v 1.13 1997/03/28 07:03:53 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/access/common/Attic/heapvalid.c,v 1.14 1997/08/24 23:07:26 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -22,6 +22,7 @@
#include <utils/rel.h>
#include <utils/tqual.h>
#include <storage/bufmgr.h>
#include <utils/builtins.h>
/* ----------------
* heap_keytest
@@ -53,7 +54,9 @@ heap_keytest(HeapTuple t,
return (false);
}
if (keys->sk_flags & SK_COMMUTE)
if (keys->sk_func == (func_ptr)oideq) /* optimization */
test = (keys->sk_argument == atp);
else if (keys->sk_flags & SK_COMMUTE)
test = (long) FMGR_PTR2(keys->sk_func, keys->sk_procedure,
keys->sk_argument, atp);
else