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 USER test=> 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 [EMAIL PROTECTED] | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])