Re: proposal: function parse_ident
От | Pavel Stehule |
---|---|
Тема | Re: proposal: function parse_ident |
Дата | |
Msg-id | CAFj8pRBB3N2HxkV13ZoeTCkejZWv5SUT5zigvM8zCaOfca8fEw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: proposal: function parse_ident (Teodor Sigaev <teodor@sigaev.ru>) |
Ответы |
Re: proposal: function parse_ident
|
Список | pgsql-hackers |
Hi
2016-03-14 17:39 GMT+01:00 Teodor Sigaev <teodor@sigaev.ru>:
I afraid so I cannot to fix this inconsistency (if this is inconsistency - theOk, agree
binary values are same) - the parameter of function is raw string with processed
escape codes, and I have not any information about original escape sequences.
When you enter octet value, and I show it as hex value, then there should be
difference. Buy I have not information about your input (octet or hex). I have
the original string of SQL identifier inside parser, executor, but I have not
original string of function parameter inside function (not without pretty
complex and long code).Edited a bit + fix some typos and remove unneeded headers, patch attached
I am trying describe it in doc (I am sorry for my less level English) in new
patch. Fixed duplicated oid too.
Sorry, I can't find all corner-cases at once, but:
SELECT parse_ident(E'"c".X XXXXXXXXXX');
ERROR: identifier contains disallowed characters: "\"c"
Error message wrongly points to the reason of error.
I forgot my original plan - show full original string. Now, complete original parameter is used as part of message everywhere. It is more consistent.
I cannot to reuse escape_json - it escape double quotes, and then the paremeter in message looks strange.
I hope so the messages are ok now. Few more regress tests added.
Thank you for your patience.
Regards
Pavel
Вложения
В списке pgsql-hackers по дате отправления: