diff options
author | Bruce Momjian <bruce@momjian.us> | 1999-03-17 22:53:31 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1999-03-17 22:53:31 +0000 |
commit | 58118db39dba592fad26d781b686f0d56c1ba649 (patch) | |
tree | a59a5900f1f1385c1b2cd9d49bffe8ced1b69a29 /src/backend/tcop | |
parent | 62a7754e1ae2d817f87594eeae549a82097d8693 (diff) | |
download | postgresql-58118db39dba592fad26d781b686f0d56c1ba649.tar.gz postgresql-58118db39dba592fad26d781b686f0d56c1ba649.zip |
Add new postgres -O option to allow system table structure changes.
Diffstat (limited to 'src/backend/tcop')
-rw-r--r-- | src/backend/tcop/postgres.c | 17 | ||||
-rw-r--r-- | src/backend/tcop/utility.c | 8 |
2 files changed, 17 insertions, 8 deletions
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 8185b77f5d7..9e4a4efa4e5 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.104 1999/02/21 03:49:27 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.105 1999/03/17 22:53:18 momjian Exp $ * * NOTES * this is the "main" module of the postgres backend and @@ -917,6 +917,7 @@ usage(char *progname) #ifdef LOCK_MGR_DEBUG fprintf(stderr, "\t-K \t\tset locking debug level [0|1|2]\n"); #endif + fprintf(stderr, "\t-O \t\tallow system table structure changes\n"); fprintf(stderr, "\t-P port\t\tset port file descriptor\n"); fprintf(stderr, "\t-Q \t\tsuppress informational messages\n"); fprintf(stderr, "\t-S buffers\tset amount of sort memory available\n"); @@ -1017,7 +1018,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[]) optind = 1; /* reset after postmaster usage */ while ((flag = getopt(argc, argv, - "A:B:CD:d:Eef:iK:Lm:MNo:P:pQS:st:v:x:FW:")) + "A:B:CD:d:Eef:iK:Lm:MNOo:P:pQS:st:v:x:FW:")) != EOF) switch (flag) { @@ -1096,7 +1097,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[]) * turn off fsync * -------------------- */ - fsyncOff = 1; + disableFsync = true; break; case 'f': @@ -1168,6 +1169,14 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[]) StrNCpy(OutputFileName, optarg, MAXPGPATH); break; + case 'O': + /* -------------------- + * allow system table structure modifications + * -------------------- + */ + allowSystemTableMods = true; + break; + case 'p': /* started by postmaster */ /* ---------------- * p - special flag passed if backend was forked @@ -1522,7 +1531,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[]) if (!IsUnderPostmaster) { puts("\nPOSTGRES backend interactive interface "); - puts("$Revision: 1.104 $ $Date: 1999/02/21 03:49:27 $\n"); + puts("$Revision: 1.105 $ $Date: 1999/03/17 22:53:18 $\n"); } /* ---------------- diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index 4e906632280..0df4bf26414 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.58 1999/03/16 03:24:17 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.59 1999/03/17 22:53:19 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -187,7 +187,7 @@ ProcessUtility(Node *parsetree, foreach(arg, args) { relname = strVal(lfirst(arg)); - if (IsSystemRelationName(relname)) + if (!allowSystemTableMods && IsSystemRelationName(relname)) elog(ERROR, "class \"%s\" is a system catalog", relname); rel = heap_openr(relname); @@ -268,7 +268,7 @@ ProcessUtility(Node *parsetree, CHECK_IF_ABORTED(); relname = stmt->relname; - if (IsSystemRelationName(relname)) + if (!allowSystemTableMods && IsSystemRelationName(relname)) elog(ERROR, "class \"%s\" is a system catalog", relname); #ifndef NO_SECURITY @@ -457,7 +457,7 @@ ProcessUtility(Node *parsetree, { case INDEX: relname = stmt->name; - if (IsSystemRelationName(relname)) + if (!allowSystemTableMods && IsSystemRelationName(relname)) elog(ERROR, "class \"%s\" is a system catalog index", relname); #ifndef NO_SECURITY |