On Mon, Jan 4, 2010 at 2:51 PM, Pavel Stehule <pavel.steh...@gmail.com> wrote:
> 2010/1/4 Tom Lane <t...@sss.pgh.pa.us>:
>> Pavel Stehule <pavel.steh...@gmail.com> writes:
>>> 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?
>>
>> pg_dump is only guaranteed to work correctly in the server encoding.
>> If you force it to use a client_encoding different from the server's,
>> it might or might not work, for reasons far beyond that one --- the
>> big problem usually is data containing characters that have no
>> equivalent in the client encoding.  So I'm not particularly excited
>> about whether fmtId is multibyte safe within pg_dump.  If we were to try
>> to use it in more general contexts, it would probably need more work.
>
> I could agree with this explanation for quote_identifier function, but
> not in 100% for fmtId function. We can change encoding for pg_dump
> (option -E).

But if it's not guaranteed to work, the fact that you can do it is irrelevant.

> I don't have a problem to write second and safe fmtId
> function (with technique used in dumputils don't need to modify
> libpq), although fmtId do exactly what I need. I would to understand
> to behave.

I think you mean that you would need to understand how it should
behave - in which case I agree, but I think  Tom spelled that out
pretty clearly upthread: close PQescapeStringConn and adapt it to be
PQescapeIdentifier.

...Robert

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to