Re: Escaping single quotes with backslash seems not to work

Поиск
Список
Период
Сортировка
От Ron Johnson
Тема Re: Escaping single quotes with backslash seems not to work
Дата
Msg-id CANzqJaDTY0AEB2zxumCbDtZu_pVxcjWpf5FdSeGwShLM3SfVzg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Escaping single quotes with backslash seems not to work  ("David G. Johnston" <david.g.johnston@gmail.com>)
Ответы Re: Escaping single quotes with backslash seems not to work
Список pgsql-general
On Mon, Jun 10, 2024 at 10:56 AM David G. Johnston <david.g.johnston@gmail.com> wrote:
On Monday, June 10, 2024, Ron Johnson <ronljohnsonjr@gmail.com> wrote:
On Mon, Jun 10, 2024 at 10:08 AM David G. Johnston <david.g.johnston@gmail.com> wrote:
On Mon, Jun 10, 2024 at 7:02 AM Ron Johnson <ronljohnsonjr@gmail.com> wrote:
PG 9.6 and PG 14

[quote]
Any other character following a backslash is taken literally. Thus, to include a backslash character, write two backslashes (\\). Also, a single quote can be included in an escape string by writing \', in addition to the normal way of ''.
[/quote]


The link you provided goes to the wrong subsection.  The following subsection, which discusses, String Constants With C-Style Escapes, requires that you write the literal as E'abc\'def'

Note the E prefix on the literal, which is the thing that enables considering backslash as an escape.
 
This hasn't changed from 9.6, has it?

A Java app that uses backslash escapes broke this morning on fields with single quotes, after the weekend migration from PG 9.6.24 to 14.12, and I don't know why.  I'm not a Java programmer, though.


As the caution on that page says the default for standard conforming strings changed in 9.1. But maybe your 9.6 had the old value configured but when you upgraded to 14 you decided to go with the new default.

That was the first thing I checked... It's the same on both the 9.6 and 14 systems:. 

TAP=# show standard_conforming_strings;
 standard_conforming_strings
-----------------------------
 on
(1 row)

TAP=#
TAP=# show backslash_quote;
 backslash_quote
-----------------
 safe_encoding
(1 row)

 

В списке pgsql-general по дате отправления:

Предыдущее
От: "David G. Johnston"
Дата:
Сообщение: Re: Escaping single quotes with backslash seems not to work
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Escaping single quotes with backslash seems not to work