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

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

Commit: 148052d2593becc429425050c8259b05afea0f91
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2014-02-13T19:24:55Z
Releases: 9.0.16
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