I wrote:
> ... I think we need convert_ident to
> use a plpgsql_isspace() that accepts these and only these as spaces.
> Any high-bit-set byte is part of an identifier according to scan.l's
> rules, and convert_ident must have the same behavior regardless of locale.
> There may be related risks in and around the other flex scanners
> ... will look.
I've committed a fix along these lines. ecpg had the identical bug, but
I couldn't find any other places where we seemed to be assuming that
<ctype.h> macros would match the behavior of our flex scanners.
regards, tom lane