RESET ALL secondary patch:

Here is Tomified version of my 2 pending patches.
Dropped the set_.._real change as it is not needed.
Desc would be:

* use GUC for settings from cmdline

Marko Kreen
This commit is contained in:
Bruce Momjian 2001-06-18 23:42:32 +00:00
parent 0ed7864d68
commit 3709a5ada7
3 changed files with 49 additions and 49 deletions

View File

@ -28,7 +28,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.221 2001/06/16 22:58:12 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.222 2001/06/18 23:42:32 momjian Exp $
* *
* NOTES * NOTES
* *
@ -426,14 +426,14 @@ PostmasterMain(int argc, char *argv[])
#ifndef USE_ASSERT_CHECKING #ifndef USE_ASSERT_CHECKING
postmaster_error("Assert checking is not compiled in."); postmaster_error("Assert checking is not compiled in.");
#else #else
assert_enabled = atoi(optarg); SetConfigOption("debug_assertions", optarg, PGC_POSTMASTER, true);
#endif #endif
break; break;
case 'a': case 'a':
/* Can no longer set authentication method. */ /* Can no longer set authentication method. */
break; break;
case 'B': case 'B':
NBuffers = atoi(optarg); SetConfigOption("shared_buffers", optarg, PGC_POSTMASTER, true);
break; break;
case 'b': case 'b':
/* Can no longer set the backend executable file to use. */ /* Can no longer set the backend executable file to use. */
@ -447,23 +447,23 @@ PostmasterMain(int argc, char *argv[])
* Turn on debugging for the postmaster and the backend * Turn on debugging for the postmaster and the backend
* servers descended from it. * servers descended from it.
*/ */
DebugLvl = atoi(optarg); SetConfigOption("debug_level", optarg, PGC_POSTMASTER, true);
break; break;
case 'F': case 'F':
enableFsync = false; SetConfigOption("enable_fsync", optarg, PGC_POSTMASTER, true);
break; break;
case 'h': case 'h':
VirtualHost = optarg; SetConfigOption("virtual_host", optarg, PGC_POSTMASTER, true);
break; break;
case 'i': case 'i':
NetServer = true; SetConfigOption("tcpip_socket", optarg, PGC_POSTMASTER, true);
break; break;
case 'k': case 'k':
UnixSocketDir = optarg; SetConfigOption("unix_socket_directory", optarg, PGC_POSTMASTER, true);
break; break;
#ifdef USE_SSL #ifdef USE_SSL
case 'l': case 'l':
EnableSSL = true; SetConfigOption("ssl", optarg, PGC_POSTMASTER, true);
break; break;
#endif #endif
case 'm': case 'm':
@ -483,11 +483,7 @@ PostmasterMain(int argc, char *argv[])
* The max number of backends to start. Can't set to less * The max number of backends to start. Can't set to less
* than 1 or more than compiled-in limit. * than 1 or more than compiled-in limit.
*/ */
MaxBackends = atoi(optarg); SetConfigOption("max_connections", optarg, PGC_POSTMASTER, true);
if (MaxBackends < 1)
MaxBackends = 1;
if (MaxBackends > MAXBACKENDS)
MaxBackends = MAXBACKENDS;
break; break;
case 'n': case 'n':
/* Don't reinit shared mem after abnormal exit */ /* Don't reinit shared mem after abnormal exit */
@ -504,7 +500,7 @@ PostmasterMain(int argc, char *argv[])
strcpy(original_extraoptions, optarg); strcpy(original_extraoptions, optarg);
break; break;
case 'p': case 'p':
PostPortNumber = atoi(optarg); SetConfigOption("port", optarg, PGC_POSTMASTER, true);
break; break;
case 'S': case 'S':
@ -514,7 +510,7 @@ PostmasterMain(int argc, char *argv[])
* it's most badly needed on SysV-derived systems like * it's most badly needed on SysV-derived systems like
* SVR4 and HP-UX. * SVR4 and HP-UX.
*/ */
SilentMode = true; SetConfigOption("silent_mode", optarg, PGC_POSTMASTER, true);
break; break;
case 's': case 's':

View File

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.220 2001/06/12 22:54:06 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.221 2001/06/18 23:42:32 momjian Exp $
* *
* NOTES * NOTES
* this is the "main" module of the postgres backend and * this is the "main" module of the postgres backend and
@ -1108,6 +1108,8 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
const char *DBName = NULL; const char *DBName = NULL;
bool secure = true; bool secure = true;
int errs = 0; int errs = 0;
GucContext ctx;
char *tmp;
int firstchar; int firstchar;
StringInfo parser_input; StringInfo parser_input;
@ -1117,6 +1119,9 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
char *potential_DataDir = NULL; char *potential_DataDir = NULL;
/* all options are allowed if not under postmaster */
ctx = IsUnderPostmaster ? PGC_BACKEND : PGC_POSTMASTER;
/* /*
* Catch standard options before doing much else. This even works on * Catch standard options before doing much else. This even works on
* systems without getopt_long. * systems without getopt_long.
@ -1188,7 +1193,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
{ {
case 'A': case 'A':
#ifdef USE_ASSERT_CHECKING #ifdef USE_ASSERT_CHECKING
assert_enabled = atoi(optarg); SetConfigOption("debug_assertions", optarg, ctx, true);
#else #else
fprintf(stderr, "Assert checking is not compiled in\n"); fprintf(stderr, "Assert checking is not compiled in\n");
#endif #endif
@ -1200,7 +1205,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
* specify the size of buffer pool * specify the size of buffer pool
*/ */
if (secure) if (secure)
NBuffers = atoi(optarg); SetConfigOption("shared_buffers", optarg, ctx, true);
break; break;
case 'C': case 'C':
@ -1217,17 +1222,18 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
break; break;
case 'd': /* debug level */ case 'd': /* debug level */
DebugLvl = atoi(optarg); tmp = "true";
SetConfigOption("debug_level", optarg, ctx, true);
if (DebugLvl >= 1); if (DebugLvl >= 1);
Log_connections = true; SetConfigOption("log_connections", tmp, ctx, true);
if (DebugLvl >= 2) if (DebugLvl >= 2)
Debug_print_query = true; SetConfigOption("debug_print_query", tmp, ctx, true);
if (DebugLvl >= 3) if (DebugLvl >= 3)
Debug_print_parse = true; SetConfigOption("debug_print_parse", tmp, ctx, true);
if (DebugLvl >= 4) if (DebugLvl >= 4)
Debug_print_plan = true; SetConfigOption("debug_print_plan", tmp, ctx, true);
if (DebugLvl >= 5) if (DebugLvl >= 5)
Debug_print_rewritten = true; SetConfigOption("debug_print_rewritten", tmp, ctx, true);
break; break;
case 'E': case 'E':
@ -1252,7 +1258,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
* turn off fsync * turn off fsync
*/ */
if (secure) if (secure)
enableFsync = false; SetConfigOption("fsync", "true", ctx, true);
break; break;
case 'f': case 'f':
@ -1260,29 +1266,32 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
/* /*
* f - forbid generation of certain plans * f - forbid generation of certain plans
*/ */
tmp = NULL;
switch (optarg[0]) switch (optarg[0])
{ {
case 's': /* seqscan */ case 's': /* seqscan */
enable_seqscan = false; tmp = "enable_seqscan";
break; break;
case 'i': /* indexscan */ case 'i': /* indexscan */
enable_indexscan = false; tmp = "enable_indexscan";
break; break;
case 't': /* tidscan */ case 't': /* tidscan */
enable_tidscan = false; tmp = "enable_tidscan";
break; break;
case 'n': /* nestloop */ case 'n': /* nestloop */
enable_nestloop = false; tmp = "enable_nestloop";
break; break;
case 'm': /* mergejoin */ case 'm': /* mergejoin */
enable_mergejoin = false; tmp = "enable_mergejoin";
break; break;
case 'h': /* hashjoin */ case 'h': /* hashjoin */
enable_hashjoin = false; tmp = "enable_hashjoin";
break; break;
default: default:
errs++; errs++;
} }
if (tmp)
SetConfigOption(tmp, "false", ctx, true);
break; break;
case 'i': case 'i':
@ -1352,13 +1361,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
/* /*
* S - amount of sort memory to use in 1k bytes * S - amount of sort memory to use in 1k bytes
*/ */
{ SetConfigOption("sort_mem", optarg, ctx, true);
int S;
S = atoi(optarg);
if (S >= 4 * BLCKSZ / 1024)
SortMem = S;
}
break; break;
case 's': case 's':
@ -1366,7 +1369,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
/* /*
* s - report usage statistics (timings) after each query * s - report usage statistics (timings) after each query
*/ */
Show_query_stats = 1; SetConfigOption("show_query_stats", optarg, ctx, true);
break; break;
case 't': case 't':
@ -1380,23 +1383,26 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
* caution: -s can not be used together with -t. * caution: -s can not be used together with -t.
* ---------------- * ----------------
*/ */
tmp = NULL;
switch (optarg[0]) switch (optarg[0])
{ {
case 'p': case 'p':
if (optarg[1] == 'a') if (optarg[1] == 'a')
Show_parser_stats = 1; tmp = "show_parser_stats";
else if (optarg[1] == 'l') else if (optarg[1] == 'l')
Show_planner_stats = 1; tmp = "show_planner_stats";
else else
errs++; errs++;
break; break;
case 'e': case 'e':
Show_executor_stats = 1; tmp = "show_parser_stats";
break; break;
default: default:
errs++; errs++;
break; break;
} }
if (tmp)
SetConfigOption(tmp, "true", ctx, true);
break; break;
case 'v': case 'v':
@ -1460,9 +1466,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
elog(ERROR, "-c %s requires argument", optarg); elog(ERROR, "-c %s requires argument", optarg);
} }
/* all options are allowed if not under postmaster */ SetConfigOption(name, value, ctx, true);
SetConfigOption(name, value,
(IsUnderPostmaster) ? PGC_BACKEND : PGC_POSTMASTER, true);
free(name); free(name);
if (value) if (value)
free(value); free(value);
@ -1709,7 +1713,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
if (!IsUnderPostmaster) if (!IsUnderPostmaster)
{ {
puts("\nPOSTGRES backend interactive interface "); puts("\nPOSTGRES backend interactive interface ");
puts("$Revision: 1.220 $ $Date: 2001/06/12 22:54:06 $\n"); puts("$Revision: 1.221 $ $Date: 2001/06/18 23:42:32 $\n");
} }
/* /*

View File

@ -4,7 +4,7 @@
* Support for grand unified configuration scheme, including SET * Support for grand unified configuration scheme, including SET
* command, configuration file, and command line options. * command, configuration file, and command line options.
* *
* $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.39 2001/06/18 16:14:43 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.40 2001/06/18 23:42:32 momjian Exp $
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* Written by Peter Eisentraut <peter_e@gmx.net>. * Written by Peter Eisentraut <peter_e@gmx.net>.
@ -276,7 +276,7 @@ static struct config_int
DEF_PGPORT, 1, 65535, NULL, NULL}, DEF_PGPORT, 1, 65535, NULL, NULL},
{"sort_mem", PGC_USERSET, &SortMem, {"sort_mem", PGC_USERSET, &SortMem,
512, 1, INT_MAX, NULL, NULL}, 512, 4*BLCKSZ/1024, INT_MAX, NULL, NULL},
{"debug_level", PGC_USERSET, &DebugLvl, {"debug_level", PGC_USERSET, &DebugLvl,
0, 0, 16, NULL, NULL}, 0, 0, 16, NULL, NULL},