diff options
| author | Tom Lane | 2002-04-27 21:24:34 +0000 |
|---|---|---|
| committer | Tom Lane | 2002-04-27 21:24:34 +0000 |
| commit | c06f6a6bc2bce09df9b945ac29de152daec0dcf7 (patch) | |
| tree | 5cdd87954051c99eda2d2cf86526f73be8e3eb18 /src/backend/utils/init | |
| parent | 108871f4fcb24ed333c226f470f2fe30296b9b35 (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.c | 37 | ||||
| -rw-r--r-- | src/backend/utils/init/miscinit.c | 5 | ||||
| -rw-r--r-- | src/backend/utils/init/postinit.c | 7 |
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); } } |
