Problem with do_quote_ident()
От | Bruce Momjian |
---|---|
Тема | Problem with do_quote_ident() |
Дата | |
Msg-id | 200203272054.g2RKsdM22367@candle.pha.pa.us обсуждение исходный текст |
Ответы |
Re: Problem with do_quote_ident()
|
Список | pgsql-hackers |
I see in quote.c::do_quote_ident(): *cp2++ = '"';while (len-- > 0){ if (*cp1 == '"') *cp2++ = '"'; if (*cp1 == '\\') *cp2++ = '\\'; *cp2++= *cp1++;}*cp2++ = '"'; I am confused by the backslash handling. In my tests, a backslash in a double-quoted string does not require two backslashes:test=> create user "a\d";CREATE USERtest=> select usename, length(usename)from pg_user; usename | length ----------+-------- a\d | 3 This is because a double-quote in a double-quoted string is entered as "", not \". Is it adding another backslash because it assumes the result will appear in another quoted string? -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
В списке pgsql-hackers по дате отправления: