BUG #4027: backslash escaping not disabled in plpgsql
От | Jonathan Guthrie |
---|---|
Тема | BUG #4027: backslash escaping not disabled in plpgsql |
Дата | |
Msg-id | 200803112126.m2BLQuf0060841@wwwmaster.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #4027: backslash escaping not disabled in plpgsql
|
Список | pgsql-bugs |
The following bug has been logged online: Bug reference: 4027 Logged by: Jonathan Guthrie Email address: jguthrie@brokersys.com 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'.
В списке pgsql-bugs по дате отправления: