diff options
author | Bruce Momjian <bruce@momjian.us> | 2005-06-26 03:04:37 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2005-06-26 03:04:37 +0000 |
commit | bb3cce4ec9cc157a8dfc80b5b1770c2beac0a57e (patch) | |
tree | 5631b9dda006f8c56f6b1d4f64c72f015adf2468 /src/backend/utils/misc/guc.c | |
parent | c96375a39b28e54e19fa5c9c2e3dd69c44b7618c (diff) | |
download | postgresql-bb3cce4ec9cc157a8dfc80b5b1770c2beac0a57e.tar.gz postgresql-bb3cce4ec9cc157a8dfc80b5b1770c2beac0a57e.zip |
Add E'' syntax so eventually normal strings can treat backslashes
literally.
Add GUC variables:
"escape_string_warning" - warn about backslashes in non-E strings
"escape_string_syntax" - supports E'' syntax?
"standard_compliant_strings" - treats backslashes literally in ''
Update code to use E'' when escapes are used.
Diffstat (limited to 'src/backend/utils/misc/guc.c')
-rw-r--r-- | src/backend/utils/misc/guc.c | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 05ce93cf58f..17386049426 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -10,7 +10,7 @@ * Written by Peter Eisentraut <peter_e@gmx.net>. * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.268 2005/06/17 22:32:47 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.269 2005/06/26 03:03:41 momjian Exp $ * *-------------------------------------------------------------------- */ @@ -189,7 +189,9 @@ static int max_function_args; static int max_index_keys; static int max_identifier_length; static int block_size; -static bool integer_datetimes; +static bool integer_datetimes; +static bool escape_string_syntax; +static bool standard_compliant_strings; /* should be static, but commands/variable.c needs to get at it */ char *session_authorization_string; @@ -873,6 +875,35 @@ static struct config_bool ConfigureNamesBool[] = false, NULL, NULL }, + { + {"escape_string_warning", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS, + gettext_noop("Warn about backslash escapes in ordinary, non-escape-syntax strings."), + NULL + }, + &escape_string_warning, + false, NULL, NULL + }, + + { + {"escape_string_syntax", PGC_INTERNAL, PRESET_OPTIONS, + gettext_noop("Escape string syntax (E'') is supported."), + NULL, + GUC_REPORT | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE + }, + &escape_string_syntax, + true, NULL, NULL + }, + + { + {"standard_compliant_strings", PGC_INTERNAL, PRESET_OPTIONS, + gettext_noop("'' strings treat backslashes literally."), + NULL, + GUC_REPORT | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE + }, + &standard_compliant_strings, + false, NULL, NULL + }, + /* End-of-list marker */ { {NULL, 0, 0, NULL, NULL}, NULL, false, NULL, NULL |