]> granicus.if.org Git - postgresql/commit
Don't downcase non-ascii identifier chars in multi-byte encodings.
authorAndrew Dunstan <andrew@dunslane.net>
Sat, 8 Jun 2013 14:21:06 +0000 (10:21 -0400)
committerAndrew Dunstan <andrew@dunslane.net>
Sat, 8 Jun 2013 14:21:06 +0000 (10:21 -0400)
commita56c92f938f81df6b9d59b5bb7edc44008f0e06c
tree82321539ace33b81bd9683592e1d2d452d82c515
parentcd4fe9514f31cb56a471b1f8b2380f4ff5fc2f91
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.
src/backend/parser/scansup.c