diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2000-11-12 20:51:52 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2000-11-12 20:51:52 +0000 |
commit | ebb0a2014930034a89ae5f4953b52c9afbf585ae (patch) | |
tree | 2c8126548b1737e6312c40aa9aecfe9f549f11cb /src/include | |
parent | c48025e799dd51a78c82193bc9ce6c63d7e6681f (diff) | |
download | postgresql-ebb0a2014930034a89ae5f4953b52c9afbf585ae.tar.gz postgresql-ebb0a2014930034a89ae5f4953b52c9afbf585ae.zip |
Keep track of the last active slot in the shared ProcState array, so
that search loops only have to scan that far and not through all maxBackends
entries. This eliminates a performance penalty for setting maxBackends
much higher than the average number of active backends. Also, eliminate
no-longer-used 'backend tag' concept. Remove setting of environment
variables at backend start (except for CYR_RECODE), since none of them
are being examined by the backend any longer.
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/miscadmin.h | 3 | ||||
-rw-r--r-- | src/include/storage/backendid.h | 9 | ||||
-rw-r--r-- | src/include/storage/sinval.h | 4 | ||||
-rw-r--r-- | src/include/storage/sinvaladt.h | 4 |
4 files changed, 7 insertions, 13 deletions
diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h index 6e6436d1528..7b684291a33 100644 --- a/src/include/miscadmin.h +++ b/src/include/miscadmin.h @@ -12,7 +12,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: miscadmin.h,v 1.69 2000/11/04 12:43:24 petere Exp $ + * $Id: miscadmin.h,v 1.70 2000/11/12 20:51:52 tgl Exp $ * * NOTES * some of the information in this file will be moved to @@ -55,7 +55,6 @@ extern char OutputFileName[]; * done in storage/backendid.h for now. * * extern BackendId MyBackendId; - * extern BackendTag MyBackendTag; */ extern bool MyDatabaseIdIsInitialized; extern Oid MyDatabaseId; diff --git a/src/include/storage/backendid.h b/src/include/storage/backendid.h index ad7b1f079f5..22c52012f07 100644 --- a/src/include/storage/backendid.h +++ b/src/include/storage/backendid.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: backendid.h,v 1.7 2000/01/26 05:58:32 momjian Exp $ + * $Id: backendid.h,v 1.8 2000/11/12 20:51:52 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -18,16 +18,11 @@ * -cim 8/17/90 * ---------------- */ -typedef int16 BackendId; /* unique currently active backend +typedef int BackendId; /* unique currently active backend * identifier */ #define InvalidBackendId (-1) -typedef int32 BackendTag; /* unique backend identifier */ - -#define InvalidBackendTag (-1) - extern BackendId MyBackendId; /* backend id of this backend */ -extern BackendTag MyBackendTag; /* backend tag of this backend */ #endif /* BACKENDID_H */ diff --git a/src/include/storage/sinval.h b/src/include/storage/sinval.h index 32b51b5f43b..4c80f760faa 100644 --- a/src/include/storage/sinval.h +++ b/src/include/storage/sinval.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: sinval.h,v 1.14 2000/01/26 05:58:33 momjian Exp $ + * $Id: sinval.h,v 1.15 2000/11/12 20:51:52 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -27,7 +27,7 @@ extern void RegisterSharedInvalid(int cacheId, Index hashIndex, extern void InvalidateSharedInvalid(void (*invalFunction) (), void (*resetFunction) ()); -extern bool DatabaseHasActiveBackends(Oid databaseId); +extern bool DatabaseHasActiveBackends(Oid databaseId, bool ignoreMyself); extern bool TransactionIdIsInProgress(TransactionId xid); extern void GetXmaxRecent(TransactionId *XmaxRecent); diff --git a/src/include/storage/sinvaladt.h b/src/include/storage/sinvaladt.h index 30fe1e06daf..b9704d34e4d 100644 --- a/src/include/storage/sinvaladt.h +++ b/src/include/storage/sinvaladt.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: sinvaladt.h,v 1.22 2000/06/15 03:33:00 momjian Exp $ + * $Id: sinvaladt.h,v 1.23 2000/11/12 20:51:52 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -77,7 +77,6 @@ typedef struct ProcState /* nextMsgNum is -1 in an inactive ProcState array entry. */ int nextMsgNum; /* next message number to read, or -1 */ bool resetState; /* true, if backend has to reset its state */ - int tag; /* backend tag received from postmaster */ SHMEM_OFFSET procStruct; /* location of backend's PROC struct */ } ProcState; @@ -90,6 +89,7 @@ typedef struct SISeg */ int minMsgNum; /* oldest message still needed */ int maxMsgNum; /* next message number to be assigned */ + int lastBackend; /* index of last active procState entry, +1 */ int maxBackends; /* size of procState array */ /* |