I afraid so I cannot to fix this inconsistency (if this is inconsistency - the 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).
Ok, agree
I am trying describe it in doc (I am sorry for my less level English) in new patch. Fixed duplicated oid too.
Edited a bit + fix some typos and remove unneeded headers, patch attached
Sorry, I can't find all corner-cases at once, but: SELECT parse_ident(E'"c".X XXXXXXXXXX'); ERROR: identifier contains disallowed characters: "\"c"
I'll check it tomorrow
Thank you
Pavel
Error message wrongly points to the reason of error.