Hello I talked with Hitoshi Harada, and fmtId function is safe (minimally for Japanese case). This function working without any errors, so we must not duplicate a code.
Pavel 2010/1/4 Pavel Stehule <pavel.steh...@gmail.com>: > hello > > 2010/1/2 Tom Lane <t...@sss.pgh.pa.us>: >> Pavel Stehule <pavel.steh...@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. >> > > I am looking on psql directory. Now I found, so in this directory is > linked dumputil.c - It could little bit to help us. > > I have one question. If I understand well, the function fmtId isn't > multibyte safe? So why is possible to use it in pg_dump? > > Pavel > >> 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 >> >
variable_escaping.diff
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers