Fix length checking for Unicode identifiers containing escapes (U&"...").

Tom Lane <tgl@sss.pgh.pa.us>

Commit: a8a46d846c13d1ed07ad0a900e37dd318c8096e2
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2014-02-13T19:24:58Z
Releases: 8.4.20
Fix length checking for Unicode identifiers containing escapes (U&"...").

We used the length of the input string, not the de-escaped string, as
the trigger for NAMEDATALEN truncation.  AFAICS this would only result
in sometimes printing a phony truncation warning; but it's just luck
that there was no worse problem, since we were violating the API spec
for truncate_identifier().  Per bug #9204 from Joshua Yanovski.

This has been wrong since the Unicode-identifier support was added,
so back-patch to all supported branches.

Files

PathChange+/−
src/backend/parser/scan.l modified +10 −6