aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2000-11-12 20:51:52 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2000-11-12 20:51:52 +0000
commitebb0a2014930034a89ae5f4953b52c9afbf585ae (patch)
tree2c8126548b1737e6312c40aa9aecfe9f549f11cb /src/include
parentc48025e799dd51a78c82193bc9ce6c63d7e6681f (diff)
downloadpostgresql-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.h3
-rw-r--r--src/include/storage/backendid.h9
-rw-r--r--src/include/storage/sinval.h4
-rw-r--r--src/include/storage/sinvaladt.h4
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 */
/*