Re: quoting psql varible as identifier - Mailing list pgsql-hackers

From Robert Haas
Subject Re: quoting psql varible as identifier
Date
Msg-id 603c8f071001042012o6b692919od83c45e1a5c6eb80@mail.gmail.com
Whole thread Raw
In response to Re: quoting psql varible as identifier  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: quoting psql varible as identifier
List pgsql-hackers
On Mon, Jan 4, 2010 at 2:51 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> 2010/1/4 Tom Lane <tgl@sss.pgh.pa.us>:
>> Pavel Stehule <pavel.stehule@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


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [COMMITTERS] pgsql: Remove too-smart-for-its-own-good optimization of not overwriting
Next
From: Robert Haas
Date:
Subject: Re: PATCH: Add hstore_to_json()