The following bug has been logged online:

Bug reference:      4027
Logged by:          Jonathan Guthrie
Email address:      [EMAIL PROTECTED]
PostgreSQL version: 8.3.0
Operating system:   Debian Gnu/Linux "unstable" 2.6.24
Description:        backslash escaping not disabled in plpgsql
Details: 

I have set the standard_conforming_strings to "on" in my settings, and have
verified it by executing a

select '\';

which works fine and produces the expected:
  ?column? 
----------
 \
(1 row)

However, when I attempt to define this function:

create function foo (out r refcursor) as $bar$
begin
 open r for
   select * from user_data
   where name_first like name escape '\';
end; $bar$ language plpgsql;

it complains about an unterminated string. ("ERROR:  unterminated string") 
However, if I double the backslashes, it compiles just fine, and does not
emit a warning even though escape_string_warning is also set to 'on'.  As
expected, the system does emit a warning when I double the backslashes and
when standard_conforming_strings is set to 'off'.  I also have
backslash_quote set to 'off', but it doesn't seem to change anything in this
case.

I believe that this is incorrect behavior and that the backslash should be
just a character in that string when standard_conforming_strings is set to
'on'.

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to