Don't downcase non-ascii identifier chars in multi-byte encodings.

Andrew Dunstan <andrew@dunslane.net>

Commit: d7cb64aeb5a7e40f4ea75e60bba1d606ca06df7f
Author: Andrew Dunstan <andrew@dunslane.net>
Date: 2013-06-08T14:20:54Z
Releases: 9.1.10
Don't downcase non-ascii identifier chars in multi-byte encodings.

Long-standing code has called tolower() on identifier character bytes
with the high bit set. This is clearly an error and produces junk output
when the encoding is multi-byte. This patch therefore restricts this
activity to cases where there is a character with the high bit set AND
the encoding is single-byte.

There have been numerous gripes about this, most recently from Martin
Schäfer.

Backpatch to all live releases.

Files

PathChange+/−
src/backend/parser/scansup.c modified +5 −3