Re: quoting psql varible as identifier
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Alvaro Herrera <alvherre@commandprompt.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Robert Haas <robertmhaas@gmail.com>
Date: 2010-01-02T18:53:22Z
Lists: pgsql-hackers
Pavel Stehule <pavel.stehule@gmail.com> writes: > here is patch I looked at this patch a bit, and I think the real problem with it is that it's not multibyte safe. You've copied backend code that is allowed to assume it's in a safe encoding (ie, one where multibyte characters can't contain non-high-bit-set bytes). This is not okay on the client side, see SJIS and similar encodings. Where you need to start out is by cloning PQescapeStringConn, which does a similar type of transformation correctly even in unsafe encodings. I think we'd agreed upthread that libpq should provide PQescapeIdentifier functionality anyhow. Once you've actually read that code, you'll realize that it's okay to treat the error result as a warning, which resolves the other point of concern. Just print the message and use the result anyway. regards, tom lane