summaryrefslogtreecommitdiff
path: root/src/backend/utils/init
diff options
context:
space:
mode:
authorTom Lane2002-04-27 21:24:34 +0000
committerTom Lane2002-04-27 21:24:34 +0000
commitc06f6a6bc2bce09df9b945ac29de152daec0dcf7 (patch)
tree5cdd87954051c99eda2d2cf86526f73be8e3eb18 /src/backend/utils/init
parent108871f4fcb24ed333c226f470f2fe30296b9b35 (diff)
Support toasting of shared system relations, and provide toast tables for
pg_database, pg_shadow, pg_group, all of which now have potentially-long fields. Along the way, get rid of SharedSystemRelationNames list: shared rels are now identified in their include/pg_catalog/*.h files by a BKI_SHARED_RELATION macro, while indexes and toast rels inherit sharedness automatically from their parent table. Fix some bugs with failure to detoast pg_group.grolist during ALTER GROUP.
Diffstat (limited to 'src/backend/utils/init')
-rw-r--r--src/backend/utils/init/globals.c37
-rw-r--r--src/backend/utils/init/miscinit.c5
-rw-r--r--src/backend/utils/init/postinit.c7
3 files changed, 6 insertions, 43 deletions
diff --git a/src/backend/utils/init/globals.c b/src/backend/utils/init/globals.c
index 4572a8f05e0..a73822e8fe2 100644
--- a/src/backend/utils/init/globals.c
+++ b/src/backend/utils/init/globals.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/init/globals.c,v 1.63 2002/03/02 21:39:33 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/init/globals.c,v 1.64 2002/04/27 21:24:34 tgl Exp $
*
* NOTES
* Globals used all over the place should be declared here and not
@@ -18,14 +18,6 @@
*/
#include "postgres.h"
-#include <fcntl.h>
-#include <sys/file.h>
-#include <sys/types.h>
-#include <math.h>
-#include <unistd.h>
-
-#include "catalog/catname.h"
-#include "catalog/indexing.h"
#include "libpq/pqcomm.h"
#include "miscadmin.h"
#include "storage/backendid.h"
@@ -47,14 +39,11 @@ struct Port *MyProcPort;
long MyCancelKey;
char *DataDir = NULL;
-
/*
* The PGDATA directory user says to use, or defaults to via environment
* variable. NULL if no option given and no environment variable set
*/
-Relation reldesc; /* current relation descriptor */
-
char OutputFileName[MAXPGPATH];
char pg_pathname[MAXPGPATH]; /* full path to postgres
@@ -85,27 +74,3 @@ bool allowSystemTableMods = false;
int SortMem = 512;
int VacuumMem = 8192;
int NBuffers = DEF_NBUFFERS;
-
-
-/* ----------------
- * List of relations that are shared across all databases in an installation.
- *
- * This used to be binary-searched, requiring that it be kept in sorted order.
- * We just do a linear search now so there's no requirement that the list
- * be ordered. The list is so small it shouldn't make much difference.
- * make sure the list is null-terminated
- * - jolly 8/19/95
- * ----------------
- */
-char *SharedSystemRelationNames[] = {
- DatabaseRelationName,
- DatabaseNameIndex,
- DatabaseOidIndex,
- GroupRelationName,
- GroupNameIndex,
- GroupSysidIndex,
- ShadowRelationName,
- ShadowNameIndex,
- ShadowSysidIndex,
- NULL
-};
diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c
index 9ef8b1c87c5..c112f1a44ba 100644
--- a/src/backend/utils/init/miscinit.c
+++ b/src/backend/utils/init/miscinit.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/init/miscinit.c,v 1.86 2002/04/04 04:25:49 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/init/miscinit.c,v 1.87 2002/04/27 21:24:34 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -612,9 +612,8 @@ InitializeSessionUserId(const char *username)
Anum_pg_shadow_useconfig, &isnull);
if (!isnull)
{
- ArrayType *a;
+ ArrayType *a = DatumGetArrayTypeP(datum);
- a = (ArrayType *) pg_detoast_datum((struct varlena *)datum);
ProcessGUCArray(a, PGC_S_USER);
}
diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c
index 0d36d70bea8..a2d9758cc14 100644
--- a/src/backend/utils/init/postinit.c
+++ b/src/backend/utils/init/postinit.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.102 2002/04/01 03:34:26 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.103 2002/04/27 21:24:34 tgl Exp $
*
*
*-------------------------------------------------------------------------
@@ -138,7 +138,7 @@ ReverifyMyDatabase(const char *name)
#endif
/*
- * Set up datbase-specific configuration variables.
+ * Set up database-specific configuration variables.
*/
if (IsUnderPostmaster)
{
@@ -149,9 +149,8 @@ ReverifyMyDatabase(const char *name)
RelationGetDescr(pgdbrel), &isnull);
if (!isnull)
{
- ArrayType *a;
+ ArrayType *a = DatumGetArrayTypeP(datum);
- a = (ArrayType *) pg_detoast_datum((struct varlena *)datum);
ProcessGUCArray(a, PGC_S_DATABASE);
}
}