On Fri, Jan 29, 2010 at 10:02 PM, Josh Berkus <j...@agliodbs.com> wrote: >> An actual plan here might look like "let's flip it before 9.1alpha1 >> so we can get some alpha testing cycles on it" ... > > "Hey, let's flip it in 9.1 CF 1, so that we can have some alpha testing > cycles on it."
Should we do this? Patch attached. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise Postgres Company
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 1aff181..13a39be 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -5203,11 +5203,8 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' This controls whether ordinary string literals (<literal>'...'</>) treat backslashes literally, as specified in the SQL standard. - The default is currently <literal>off</>, causing - <productname>PostgreSQL</productname> to have its historical - behavior of treating backslashes as escape characters. - The default will change to <literal>on</> in a future release - to improve compatibility with the SQL standard. + Beginning in <productname>PostgreSQL</productname> 9.1, the default is + <literal>on</> (prior releases defaulted to <literal>off</>). Applications can check this parameter to determine how string literals will be processed. The presence of this parameter can also be taken as an indication diff --git a/doc/src/sgml/syntax.sgml b/doc/src/sgml/syntax.sgml index 9f2c73b..45e0e9e 100644 --- a/doc/src/sgml/syntax.sgml +++ b/doc/src/sgml/syntax.sgml @@ -445,16 +445,15 @@ SELECT 'foo' 'bar'; If the configuration parameter <xref linkend="guc-standard-conforming-strings"> is <literal>off</>, then <productname>PostgreSQL</productname> recognizes backslash escapes - in both regular and escape string constants. This is for backward - compatibility with the historical behavior, where backslash escapes - were always recognized. - Although <varname>standard_conforming_strings</> currently defaults to - <literal>off</>, the default will change to <literal>on</> in a future - release for improved standards compliance. Applications are therefore - encouraged to migrate away from using backslash escapes. If you need - to use a backslash escape to represent a special character, write the - string constant with an <literal>E</> to be sure it will be handled the same - way in future releases. + in both regular and escape string constants. However, as of + <productname>PostgreSQL</> 9.1, the default is <literal>on</>, meaning + that backslash escapes are recognized only in escape string constants. + This behavior is more standards-compliant, but might break applications + which rely on the historical behavior, where backslash escapes + were always recognized. As a workaround, you can set this parameter + to <literal>off</>, but it is better to migrate away from using backslash + escapes. If you need to use a backslash escape to represent a special + character, write the string constant with an <literal>E</>. </para> <para> diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l index 903efee..aec94be 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -52,7 +52,7 @@ */ int backslash_quote = BACKSLASH_QUOTE_SAFE_ENCODING; bool escape_string_warning = true; -bool standard_conforming_strings = false; +bool standard_conforming_strings = true; /* * Set the type of YYSTYPE. diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index e839639..83e8517 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -1209,7 +1209,7 @@ static struct config_bool ConfigureNamesBool[] = GUC_REPORT }, &standard_conforming_strings, - false, NULL, NULL + true, NULL, NULL }, { diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index a3b1457..9b06cd4 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -509,7 +509,7 @@ #escape_string_warning = on #lo_compat_privileges = off #sql_inheritance = on -#standard_conforming_strings = off +#standard_conforming_strings = on #synchronize_seqscans = on # - Other Platforms and Clients -
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers