mirror of
https://github.com/postgres/postgres.git
synced 2025-10-21 02:52:47 +03:00
Change reset_extra into a config_generic common field
This is not specific to the GUC parameter type, so it can be part of the generic struct rather than the type-specific struct (like the related "extra" field). This allows for some code simplifications. Reviewed-by: Chao Li <li.evan.chao@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/8fdfb91e-60fb-44fa-8df6-f5dea47353c9@eisentraut.org
This commit is contained in:
@@ -744,29 +744,8 @@ extra_field_used(struct config_generic *gconf, void *extra)
|
|||||||
{
|
{
|
||||||
if (extra == gconf->extra)
|
if (extra == gconf->extra)
|
||||||
return true;
|
return true;
|
||||||
switch (gconf->vartype)
|
if (extra == gconf->reset_extra)
|
||||||
{
|
|
||||||
case PGC_BOOL:
|
|
||||||
if (extra == ((struct config_bool *) gconf)->reset_extra)
|
|
||||||
return true;
|
return true;
|
||||||
break;
|
|
||||||
case PGC_INT:
|
|
||||||
if (extra == ((struct config_int *) gconf)->reset_extra)
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
case PGC_REAL:
|
|
||||||
if (extra == ((struct config_real *) gconf)->reset_extra)
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
case PGC_STRING:
|
|
||||||
if (extra == ((struct config_string *) gconf)->reset_extra)
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
case PGC_ENUM:
|
|
||||||
if (extra == ((struct config_enum *) gconf)->reset_extra)
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
for (GucStack *stack = gconf->stack; stack; stack = stack->prev)
|
for (GucStack *stack = gconf->stack; stack; stack = stack->prev)
|
||||||
{
|
{
|
||||||
if (extra == stack->prior.extra ||
|
if (extra == stack->prior.extra ||
|
||||||
@@ -1635,6 +1614,8 @@ InitializeGUCOptionsFromEnvironment(void)
|
|||||||
static void
|
static void
|
||||||
InitializeOneGUCOption(struct config_generic *gconf)
|
InitializeOneGUCOption(struct config_generic *gconf)
|
||||||
{
|
{
|
||||||
|
void *extra = NULL;
|
||||||
|
|
||||||
gconf->status = 0;
|
gconf->status = 0;
|
||||||
gconf->source = PGC_S_DEFAULT;
|
gconf->source = PGC_S_DEFAULT;
|
||||||
gconf->reset_source = PGC_S_DEFAULT;
|
gconf->reset_source = PGC_S_DEFAULT;
|
||||||
@@ -1654,7 +1635,6 @@ InitializeOneGUCOption(struct config_generic *gconf)
|
|||||||
{
|
{
|
||||||
struct config_bool *conf = (struct config_bool *) gconf;
|
struct config_bool *conf = (struct config_bool *) gconf;
|
||||||
bool newval = conf->boot_val;
|
bool newval = conf->boot_val;
|
||||||
void *extra = NULL;
|
|
||||||
|
|
||||||
if (!call_bool_check_hook(conf, &newval, &extra,
|
if (!call_bool_check_hook(conf, &newval, &extra,
|
||||||
PGC_S_DEFAULT, LOG))
|
PGC_S_DEFAULT, LOG))
|
||||||
@@ -1663,14 +1643,12 @@ InitializeOneGUCOption(struct config_generic *gconf)
|
|||||||
if (conf->assign_hook)
|
if (conf->assign_hook)
|
||||||
conf->assign_hook(newval, extra);
|
conf->assign_hook(newval, extra);
|
||||||
*conf->variable = conf->reset_val = newval;
|
*conf->variable = conf->reset_val = newval;
|
||||||
conf->gen.extra = conf->reset_extra = extra;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PGC_INT:
|
case PGC_INT:
|
||||||
{
|
{
|
||||||
struct config_int *conf = (struct config_int *) gconf;
|
struct config_int *conf = (struct config_int *) gconf;
|
||||||
int newval = conf->boot_val;
|
int newval = conf->boot_val;
|
||||||
void *extra = NULL;
|
|
||||||
|
|
||||||
Assert(newval >= conf->min);
|
Assert(newval >= conf->min);
|
||||||
Assert(newval <= conf->max);
|
Assert(newval <= conf->max);
|
||||||
@@ -1681,14 +1659,12 @@ InitializeOneGUCOption(struct config_generic *gconf)
|
|||||||
if (conf->assign_hook)
|
if (conf->assign_hook)
|
||||||
conf->assign_hook(newval, extra);
|
conf->assign_hook(newval, extra);
|
||||||
*conf->variable = conf->reset_val = newval;
|
*conf->variable = conf->reset_val = newval;
|
||||||
conf->gen.extra = conf->reset_extra = extra;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PGC_REAL:
|
case PGC_REAL:
|
||||||
{
|
{
|
||||||
struct config_real *conf = (struct config_real *) gconf;
|
struct config_real *conf = (struct config_real *) gconf;
|
||||||
double newval = conf->boot_val;
|
double newval = conf->boot_val;
|
||||||
void *extra = NULL;
|
|
||||||
|
|
||||||
Assert(newval >= conf->min);
|
Assert(newval >= conf->min);
|
||||||
Assert(newval <= conf->max);
|
Assert(newval <= conf->max);
|
||||||
@@ -1699,14 +1675,12 @@ InitializeOneGUCOption(struct config_generic *gconf)
|
|||||||
if (conf->assign_hook)
|
if (conf->assign_hook)
|
||||||
conf->assign_hook(newval, extra);
|
conf->assign_hook(newval, extra);
|
||||||
*conf->variable = conf->reset_val = newval;
|
*conf->variable = conf->reset_val = newval;
|
||||||
conf->gen.extra = conf->reset_extra = extra;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PGC_STRING:
|
case PGC_STRING:
|
||||||
{
|
{
|
||||||
struct config_string *conf = (struct config_string *) gconf;
|
struct config_string *conf = (struct config_string *) gconf;
|
||||||
char *newval;
|
char *newval;
|
||||||
void *extra = NULL;
|
|
||||||
|
|
||||||
/* non-NULL boot_val must always get strdup'd */
|
/* non-NULL boot_val must always get strdup'd */
|
||||||
if (conf->boot_val != NULL)
|
if (conf->boot_val != NULL)
|
||||||
@@ -1721,14 +1695,12 @@ InitializeOneGUCOption(struct config_generic *gconf)
|
|||||||
if (conf->assign_hook)
|
if (conf->assign_hook)
|
||||||
conf->assign_hook(newval, extra);
|
conf->assign_hook(newval, extra);
|
||||||
*conf->variable = conf->reset_val = newval;
|
*conf->variable = conf->reset_val = newval;
|
||||||
conf->gen.extra = conf->reset_extra = extra;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PGC_ENUM:
|
case PGC_ENUM:
|
||||||
{
|
{
|
||||||
struct config_enum *conf = (struct config_enum *) gconf;
|
struct config_enum *conf = (struct config_enum *) gconf;
|
||||||
int newval = conf->boot_val;
|
int newval = conf->boot_val;
|
||||||
void *extra = NULL;
|
|
||||||
|
|
||||||
if (!call_enum_check_hook(conf, &newval, &extra,
|
if (!call_enum_check_hook(conf, &newval, &extra,
|
||||||
PGC_S_DEFAULT, LOG))
|
PGC_S_DEFAULT, LOG))
|
||||||
@@ -1737,10 +1709,11 @@ InitializeOneGUCOption(struct config_generic *gconf)
|
|||||||
if (conf->assign_hook)
|
if (conf->assign_hook)
|
||||||
conf->assign_hook(newval, extra);
|
conf->assign_hook(newval, extra);
|
||||||
*conf->variable = conf->reset_val = newval;
|
*conf->variable = conf->reset_val = newval;
|
||||||
conf->gen.extra = conf->reset_extra = extra;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gconf->extra = gconf->reset_extra = extra;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -2028,10 +2001,10 @@ ResetAllOptions(void)
|
|||||||
|
|
||||||
if (conf->assign_hook)
|
if (conf->assign_hook)
|
||||||
conf->assign_hook(conf->reset_val,
|
conf->assign_hook(conf->reset_val,
|
||||||
conf->reset_extra);
|
conf->gen.reset_extra);
|
||||||
*conf->variable = conf->reset_val;
|
*conf->variable = conf->reset_val;
|
||||||
set_extra_field(&conf->gen, &conf->gen.extra,
|
set_extra_field(&conf->gen, &conf->gen.extra,
|
||||||
conf->reset_extra);
|
conf->gen.reset_extra);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PGC_INT:
|
case PGC_INT:
|
||||||
@@ -2040,10 +2013,10 @@ ResetAllOptions(void)
|
|||||||
|
|
||||||
if (conf->assign_hook)
|
if (conf->assign_hook)
|
||||||
conf->assign_hook(conf->reset_val,
|
conf->assign_hook(conf->reset_val,
|
||||||
conf->reset_extra);
|
conf->gen.reset_extra);
|
||||||
*conf->variable = conf->reset_val;
|
*conf->variable = conf->reset_val;
|
||||||
set_extra_field(&conf->gen, &conf->gen.extra,
|
set_extra_field(&conf->gen, &conf->gen.extra,
|
||||||
conf->reset_extra);
|
conf->gen.reset_extra);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PGC_REAL:
|
case PGC_REAL:
|
||||||
@@ -2052,10 +2025,10 @@ ResetAllOptions(void)
|
|||||||
|
|
||||||
if (conf->assign_hook)
|
if (conf->assign_hook)
|
||||||
conf->assign_hook(conf->reset_val,
|
conf->assign_hook(conf->reset_val,
|
||||||
conf->reset_extra);
|
conf->gen.reset_extra);
|
||||||
*conf->variable = conf->reset_val;
|
*conf->variable = conf->reset_val;
|
||||||
set_extra_field(&conf->gen, &conf->gen.extra,
|
set_extra_field(&conf->gen, &conf->gen.extra,
|
||||||
conf->reset_extra);
|
conf->gen.reset_extra);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PGC_STRING:
|
case PGC_STRING:
|
||||||
@@ -2064,10 +2037,10 @@ ResetAllOptions(void)
|
|||||||
|
|
||||||
if (conf->assign_hook)
|
if (conf->assign_hook)
|
||||||
conf->assign_hook(conf->reset_val,
|
conf->assign_hook(conf->reset_val,
|
||||||
conf->reset_extra);
|
conf->gen.reset_extra);
|
||||||
set_string_field(conf, conf->variable, conf->reset_val);
|
set_string_field(conf, conf->variable, conf->reset_val);
|
||||||
set_extra_field(&conf->gen, &conf->gen.extra,
|
set_extra_field(&conf->gen, &conf->gen.extra,
|
||||||
conf->reset_extra);
|
conf->gen.reset_extra);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PGC_ENUM:
|
case PGC_ENUM:
|
||||||
@@ -2076,10 +2049,10 @@ ResetAllOptions(void)
|
|||||||
|
|
||||||
if (conf->assign_hook)
|
if (conf->assign_hook)
|
||||||
conf->assign_hook(conf->reset_val,
|
conf->assign_hook(conf->reset_val,
|
||||||
conf->reset_extra);
|
conf->gen.reset_extra);
|
||||||
*conf->variable = conf->reset_val;
|
*conf->variable = conf->reset_val;
|
||||||
set_extra_field(&conf->gen, &conf->gen.extra,
|
set_extra_field(&conf->gen, &conf->gen.extra,
|
||||||
conf->reset_extra);
|
conf->gen.reset_extra);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3713,7 +3686,7 @@ set_config_with_handle(const char *name, config_handle *handle,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
newval = conf->reset_val;
|
newval = conf->reset_val;
|
||||||
newextra = conf->reset_extra;
|
newextra = conf->gen.reset_extra;
|
||||||
source = conf->gen.reset_source;
|
source = conf->gen.reset_source;
|
||||||
context = conf->gen.reset_scontext;
|
context = conf->gen.reset_scontext;
|
||||||
srole = conf->gen.reset_srole;
|
srole = conf->gen.reset_srole;
|
||||||
@@ -3758,7 +3731,7 @@ set_config_with_handle(const char *name, config_handle *handle,
|
|||||||
if (conf->gen.reset_source <= source)
|
if (conf->gen.reset_source <= source)
|
||||||
{
|
{
|
||||||
conf->reset_val = newval;
|
conf->reset_val = newval;
|
||||||
set_extra_field(&conf->gen, &conf->reset_extra,
|
set_extra_field(&conf->gen, &conf->gen.reset_extra,
|
||||||
newextra);
|
newextra);
|
||||||
conf->gen.reset_source = source;
|
conf->gen.reset_source = source;
|
||||||
conf->gen.reset_scontext = context;
|
conf->gen.reset_scontext = context;
|
||||||
@@ -3809,7 +3782,7 @@ set_config_with_handle(const char *name, config_handle *handle,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
newval = conf->reset_val;
|
newval = conf->reset_val;
|
||||||
newextra = conf->reset_extra;
|
newextra = conf->gen.reset_extra;
|
||||||
source = conf->gen.reset_source;
|
source = conf->gen.reset_source;
|
||||||
context = conf->gen.reset_scontext;
|
context = conf->gen.reset_scontext;
|
||||||
srole = conf->gen.reset_srole;
|
srole = conf->gen.reset_srole;
|
||||||
@@ -3854,7 +3827,7 @@ set_config_with_handle(const char *name, config_handle *handle,
|
|||||||
if (conf->gen.reset_source <= source)
|
if (conf->gen.reset_source <= source)
|
||||||
{
|
{
|
||||||
conf->reset_val = newval;
|
conf->reset_val = newval;
|
||||||
set_extra_field(&conf->gen, &conf->reset_extra,
|
set_extra_field(&conf->gen, &conf->gen.reset_extra,
|
||||||
newextra);
|
newextra);
|
||||||
conf->gen.reset_source = source;
|
conf->gen.reset_source = source;
|
||||||
conf->gen.reset_scontext = context;
|
conf->gen.reset_scontext = context;
|
||||||
@@ -3905,7 +3878,7 @@ set_config_with_handle(const char *name, config_handle *handle,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
newval = conf->reset_val;
|
newval = conf->reset_val;
|
||||||
newextra = conf->reset_extra;
|
newextra = conf->gen.reset_extra;
|
||||||
source = conf->gen.reset_source;
|
source = conf->gen.reset_source;
|
||||||
context = conf->gen.reset_scontext;
|
context = conf->gen.reset_scontext;
|
||||||
srole = conf->gen.reset_srole;
|
srole = conf->gen.reset_srole;
|
||||||
@@ -3950,7 +3923,7 @@ set_config_with_handle(const char *name, config_handle *handle,
|
|||||||
if (conf->gen.reset_source <= source)
|
if (conf->gen.reset_source <= source)
|
||||||
{
|
{
|
||||||
conf->reset_val = newval;
|
conf->reset_val = newval;
|
||||||
set_extra_field(&conf->gen, &conf->reset_extra,
|
set_extra_field(&conf->gen, &conf->gen.reset_extra,
|
||||||
newextra);
|
newextra);
|
||||||
conf->gen.reset_source = source;
|
conf->gen.reset_source = source;
|
||||||
conf->gen.reset_scontext = context;
|
conf->gen.reset_scontext = context;
|
||||||
@@ -4020,7 +3993,7 @@ set_config_with_handle(const char *name, config_handle *handle,
|
|||||||
* guc.c's control
|
* guc.c's control
|
||||||
*/
|
*/
|
||||||
newval = conf->reset_val;
|
newval = conf->reset_val;
|
||||||
newextra = conf->reset_extra;
|
newextra = conf->gen.reset_extra;
|
||||||
source = conf->gen.reset_source;
|
source = conf->gen.reset_source;
|
||||||
context = conf->gen.reset_scontext;
|
context = conf->gen.reset_scontext;
|
||||||
srole = conf->gen.reset_srole;
|
srole = conf->gen.reset_srole;
|
||||||
@@ -4114,7 +4087,7 @@ set_config_with_handle(const char *name, config_handle *handle,
|
|||||||
if (conf->gen.reset_source <= source)
|
if (conf->gen.reset_source <= source)
|
||||||
{
|
{
|
||||||
set_string_field(conf, &conf->reset_val, newval);
|
set_string_field(conf, &conf->reset_val, newval);
|
||||||
set_extra_field(&conf->gen, &conf->reset_extra,
|
set_extra_field(&conf->gen, &conf->gen.reset_extra,
|
||||||
newextra);
|
newextra);
|
||||||
conf->gen.reset_source = source;
|
conf->gen.reset_source = source;
|
||||||
conf->gen.reset_scontext = context;
|
conf->gen.reset_scontext = context;
|
||||||
@@ -4169,7 +4142,7 @@ set_config_with_handle(const char *name, config_handle *handle,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
newval = conf->reset_val;
|
newval = conf->reset_val;
|
||||||
newextra = conf->reset_extra;
|
newextra = conf->gen.reset_extra;
|
||||||
source = conf->gen.reset_source;
|
source = conf->gen.reset_source;
|
||||||
context = conf->gen.reset_scontext;
|
context = conf->gen.reset_scontext;
|
||||||
srole = conf->gen.reset_srole;
|
srole = conf->gen.reset_srole;
|
||||||
@@ -4214,7 +4187,7 @@ set_config_with_handle(const char *name, config_handle *handle,
|
|||||||
if (conf->gen.reset_source <= source)
|
if (conf->gen.reset_source <= source)
|
||||||
{
|
{
|
||||||
conf->reset_val = newval;
|
conf->reset_val = newval;
|
||||||
set_extra_field(&conf->gen, &conf->reset_extra,
|
set_extra_field(&conf->gen, &conf->gen.reset_extra,
|
||||||
newextra);
|
newextra);
|
||||||
conf->gen.reset_source = source;
|
conf->gen.reset_source = source;
|
||||||
conf->gen.reset_scontext = context;
|
conf->gen.reset_scontext = context;
|
||||||
@@ -6245,29 +6218,11 @@ RestoreGUCState(void *gucstate)
|
|||||||
switch (gconf->vartype)
|
switch (gconf->vartype)
|
||||||
{
|
{
|
||||||
case PGC_BOOL:
|
case PGC_BOOL:
|
||||||
{
|
|
||||||
struct config_bool *conf = (struct config_bool *) gconf;
|
|
||||||
|
|
||||||
if (conf->reset_extra && conf->reset_extra != gconf->extra)
|
|
||||||
guc_free(conf->reset_extra);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case PGC_INT:
|
case PGC_INT:
|
||||||
{
|
|
||||||
struct config_int *conf = (struct config_int *) gconf;
|
|
||||||
|
|
||||||
if (conf->reset_extra && conf->reset_extra != gconf->extra)
|
|
||||||
guc_free(conf->reset_extra);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case PGC_REAL:
|
case PGC_REAL:
|
||||||
{
|
case PGC_ENUM:
|
||||||
struct config_real *conf = (struct config_real *) gconf;
|
/* no need to do anything */
|
||||||
|
|
||||||
if (conf->reset_extra && conf->reset_extra != gconf->extra)
|
|
||||||
guc_free(conf->reset_extra);
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case PGC_STRING:
|
case PGC_STRING:
|
||||||
{
|
{
|
||||||
struct config_string *conf = (struct config_string *) gconf;
|
struct config_string *conf = (struct config_string *) gconf;
|
||||||
@@ -6275,19 +6230,11 @@ RestoreGUCState(void *gucstate)
|
|||||||
guc_free(*conf->variable);
|
guc_free(*conf->variable);
|
||||||
if (conf->reset_val && conf->reset_val != *conf->variable)
|
if (conf->reset_val && conf->reset_val != *conf->variable)
|
||||||
guc_free(conf->reset_val);
|
guc_free(conf->reset_val);
|
||||||
if (conf->reset_extra && conf->reset_extra != gconf->extra)
|
|
||||||
guc_free(conf->reset_extra);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case PGC_ENUM:
|
|
||||||
{
|
|
||||||
struct config_enum *conf = (struct config_enum *) gconf;
|
|
||||||
|
|
||||||
if (conf->reset_extra && conf->reset_extra != gconf->extra)
|
|
||||||
guc_free(conf->reset_extra);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (gconf->reset_extra && gconf->reset_extra != gconf->extra)
|
||||||
|
guc_free(gconf->reset_extra);
|
||||||
/* Remove it from any lists it's in. */
|
/* Remove it from any lists it's in. */
|
||||||
RemoveGUCFromLists(gconf);
|
RemoveGUCFromLists(gconf);
|
||||||
/* Now we can reset the struct to PGS_S_DEFAULT state. */
|
/* Now we can reset the struct to PGS_S_DEFAULT state. */
|
||||||
|
@@ -188,6 +188,7 @@ struct config_generic
|
|||||||
Oid reset_srole; /* role that set the reset value */
|
Oid reset_srole; /* role that set the reset value */
|
||||||
GucStack *stack; /* stacked prior values */
|
GucStack *stack; /* stacked prior values */
|
||||||
void *extra; /* "extra" pointer for current actual value */
|
void *extra; /* "extra" pointer for current actual value */
|
||||||
|
void *reset_extra;
|
||||||
dlist_node nondef_link; /* list link for variables that have source
|
dlist_node nondef_link; /* list link for variables that have source
|
||||||
* different from PGC_S_DEFAULT */
|
* different from PGC_S_DEFAULT */
|
||||||
slist_node stack_link; /* list link for variables that have non-NULL
|
slist_node stack_link; /* list link for variables that have non-NULL
|
||||||
@@ -224,7 +225,6 @@ struct config_bool
|
|||||||
GucShowHook show_hook;
|
GucShowHook show_hook;
|
||||||
/* variable fields, initialized at runtime: */
|
/* variable fields, initialized at runtime: */
|
||||||
bool reset_val;
|
bool reset_val;
|
||||||
void *reset_extra;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct config_int
|
struct config_int
|
||||||
@@ -240,7 +240,6 @@ struct config_int
|
|||||||
GucShowHook show_hook;
|
GucShowHook show_hook;
|
||||||
/* variable fields, initialized at runtime: */
|
/* variable fields, initialized at runtime: */
|
||||||
int reset_val;
|
int reset_val;
|
||||||
void *reset_extra;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct config_real
|
struct config_real
|
||||||
@@ -256,7 +255,6 @@ struct config_real
|
|||||||
GucShowHook show_hook;
|
GucShowHook show_hook;
|
||||||
/* variable fields, initialized at runtime: */
|
/* variable fields, initialized at runtime: */
|
||||||
double reset_val;
|
double reset_val;
|
||||||
void *reset_extra;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -280,7 +278,6 @@ struct config_string
|
|||||||
GucShowHook show_hook;
|
GucShowHook show_hook;
|
||||||
/* variable fields, initialized at runtime: */
|
/* variable fields, initialized at runtime: */
|
||||||
char *reset_val;
|
char *reset_val;
|
||||||
void *reset_extra;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct config_enum
|
struct config_enum
|
||||||
@@ -295,7 +292,6 @@ struct config_enum
|
|||||||
GucShowHook show_hook;
|
GucShowHook show_hook;
|
||||||
/* variable fields, initialized at runtime: */
|
/* variable fields, initialized at runtime: */
|
||||||
int reset_val;
|
int reset_val;
|
||||||
void *reset_extra;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* constant tables corresponding to enums above and in guc.h */
|
/* constant tables corresponding to enums above and in guc.h */
|
||||||
|
Reference in New Issue
Block a user