Re: quoting psql varible as identifier
От | Robert Haas |
---|---|
Тема | Re: quoting psql varible as identifier |
Дата | |
Msg-id | 603c8f071001042012o6b692919od83c45e1a5c6eb80@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: quoting psql varible as identifier (Pavel Stehule <pavel.stehule@gmail.com>) |
Ответы |
Re: quoting psql varible as identifier
|
Список | 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 по дате отправления: