mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
Turn xmlbinary and xmloption GUC variables into enumsTurn xmlbinary and
xmloption GUC variables into enums..
This commit is contained in:
parent
55f6e5f689
commit
d672ea6ffa
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/xml.c,v 1.71 2008/03/25 22:42:44 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/xml.c,v 1.72 2008/04/04 08:33:15 mha Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -86,8 +86,8 @@
|
||||
|
||||
|
||||
/* GUC variables */
|
||||
XmlBinaryType xmlbinary;
|
||||
XmlOptionType xmloption;
|
||||
int xmlbinary;
|
||||
int xmloption;
|
||||
|
||||
#ifdef USE_LIBXML
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
* Written by Peter Eisentraut <peter_e@gmx.net>.
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.443 2008/04/03 13:25:02 mha Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.444 2008/04/04 08:33:15 mha Exp $
|
||||
*
|
||||
*--------------------------------------------------------------------
|
||||
*/
|
||||
@ -155,8 +155,6 @@ static bool assign_transaction_read_only(bool newval, bool doit, GucSource sourc
|
||||
static const char *assign_canonical_path(const char *newval, bool doit, GucSource source);
|
||||
static const char *assign_backslash_quote(const char *newval, bool doit, GucSource source);
|
||||
static const char *assign_timezone_abbreviations(const char *newval, bool doit, GucSource source);
|
||||
static const char *assign_xmlbinary(const char *newval, bool doit, GucSource source);
|
||||
static const char *assign_xmloption(const char *newval, bool doit, GucSource source);
|
||||
static const char *show_archive_command(void);
|
||||
static bool assign_tcp_keepalives_idle(int newval, bool doit, GucSource source);
|
||||
static bool assign_tcp_keepalives_interval(int newval, bool doit, GucSource source);
|
||||
@ -243,6 +241,17 @@ static const struct config_enum_entry syslog_facility_options[] = {
|
||||
};
|
||||
#endif
|
||||
|
||||
static const struct config_enum_entry xmlbinary_options[] = {
|
||||
{"base64", XMLBINARY_BASE64},
|
||||
{"hex", XMLBINARY_HEX},
|
||||
{NULL, 0}
|
||||
};
|
||||
|
||||
static const struct config_enum_entry xmloption_options[] = {
|
||||
{"content", XMLOPTION_CONTENT},
|
||||
{"document", XMLOPTION_DOCUMENT},
|
||||
{NULL, 0}
|
||||
};
|
||||
|
||||
/*
|
||||
* GUC option variables that are exported from this module
|
||||
@ -316,8 +325,6 @@ static char *timezone_abbreviations_string;
|
||||
static char *XactIsoLevel_string;
|
||||
static char *data_directory;
|
||||
static char *custom_variable_classes;
|
||||
static char *xmlbinary_string;
|
||||
static char *xmloption_string;
|
||||
static int max_function_args;
|
||||
static int max_index_keys;
|
||||
static int max_identifier_length;
|
||||
@ -2382,25 +2389,6 @@ static struct config_string ConfigureNamesString[] =
|
||||
NULL, assign_canonical_path, NULL
|
||||
},
|
||||
|
||||
{
|
||||
{"xmlbinary", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
||||
gettext_noop("Sets how binary values are to be encoded in XML."),
|
||||
gettext_noop("Valid values are BASE64 and HEX.")
|
||||
},
|
||||
&xmlbinary_string,
|
||||
"base64", assign_xmlbinary, NULL
|
||||
},
|
||||
|
||||
{
|
||||
{"xmloption", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
||||
gettext_noop("Sets whether XML data in implicit parsing and serialization "
|
||||
"operations is to be considered as documents or content fragments."),
|
||||
gettext_noop("Valid values are DOCUMENT and CONTENT.")
|
||||
},
|
||||
&xmloption_string,
|
||||
"content", assign_xmloption, NULL
|
||||
},
|
||||
|
||||
{
|
||||
{"default_text_search_config", PGC_USERSET, CLIENT_CONN_LOCALE,
|
||||
gettext_noop("Sets default text search configuration."),
|
||||
@ -2524,6 +2512,25 @@ static struct config_enum ConfigureNamesEnum[] =
|
||||
assign_session_replication_role, NULL
|
||||
},
|
||||
|
||||
{
|
||||
{"xmlbinary", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
||||
gettext_noop("Sets how binary values are to be encoded in XML."),
|
||||
gettext_noop("Valid values are BASE64 and HEX.")
|
||||
},
|
||||
&xmlbinary,
|
||||
XMLBINARY_BASE64, xmlbinary_options, NULL, NULL
|
||||
},
|
||||
|
||||
{
|
||||
{"xmloption", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
||||
gettext_noop("Sets whether XML data in implicit parsing and serialization "
|
||||
"operations is to be considered as documents or content fragments."),
|
||||
gettext_noop("Valid values are DOCUMENT and CONTENT.")
|
||||
},
|
||||
&xmloption,
|
||||
XMLOPTION_CONTENT, xmloption_options, NULL, NULL
|
||||
},
|
||||
|
||||
|
||||
/* End-of-list marker */
|
||||
{
|
||||
@ -7172,42 +7179,6 @@ pg_timezone_abbrev_initialize(void)
|
||||
}
|
||||
}
|
||||
|
||||
static const char *
|
||||
assign_xmlbinary(const char *newval, bool doit, GucSource source)
|
||||
{
|
||||
XmlBinaryType xb;
|
||||
|
||||
if (pg_strcasecmp(newval, "base64") == 0)
|
||||
xb = XMLBINARY_BASE64;
|
||||
else if (pg_strcasecmp(newval, "hex") == 0)
|
||||
xb = XMLBINARY_HEX;
|
||||
else
|
||||
return NULL; /* reject */
|
||||
|
||||
if (doit)
|
||||
xmlbinary = xb;
|
||||
|
||||
return newval;
|
||||
}
|
||||
|
||||
static const char *
|
||||
assign_xmloption(const char *newval, bool doit, GucSource source)
|
||||
{
|
||||
XmlOptionType xo;
|
||||
|
||||
if (pg_strcasecmp(newval, "document") == 0)
|
||||
xo = XMLOPTION_DOCUMENT;
|
||||
else if (pg_strcasecmp(newval, "content") == 0)
|
||||
xo = XMLOPTION_CONTENT;
|
||||
else
|
||||
return NULL; /* reject */
|
||||
|
||||
if (doit)
|
||||
xmloption = xo;
|
||||
|
||||
return newval;
|
||||
}
|
||||
|
||||
static const char *
|
||||
show_archive_command(void)
|
||||
{
|
||||
|
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/utils/xml.h,v 1.23 2008/01/15 18:57:00 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/include/utils/xml.h,v 1.24 2008/04/04 08:33:15 mha Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -83,8 +83,8 @@ typedef enum
|
||||
XMLBINARY_HEX
|
||||
} XmlBinaryType;
|
||||
|
||||
extern XmlBinaryType xmlbinary;
|
||||
extern int xmlbinary; /* XmlBinaryType, but int for guc enum */
|
||||
|
||||
extern XmlOptionType xmloption;
|
||||
extern int xmloption; /* XmlOptionType, but int for guc enum */
|
||||
|
||||
#endif /* XML_H */
|
||||
|
Loading…
Reference in New Issue
Block a user