Re: BUG #1931: ILIKE and LIKE fails on Turkish locale

Victor Snezhko <snezhko@indorsoft.ru>

From: Victor Snezhko <snezhko@indorsoft.ru>
To: Volkan YAZICI <yazicivo@ttnet.net.tr>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-bugs@postgresql.org
Date: 2006-09-06T08:12:34Z
Lists: pgsql-bugs
Victor Snezhko <snezhko@indorsoft.ru> writes:

> ERROR:  expected dot between identifiers: х
> CONTEXT:  compile of PL/pgSQL function "createoraltertable" near line 2
>
> the following query fails:
>
> CREATE OR REPLACE FUNCTION TestFunction()
> RETURNS int
> AS $$
> BEGIN
>   SELECT х FROM test_table;
>   RETURN 0;
> END;
> $$ LANGUAGE plpgsql;

Hmm, seems like plpgsql is also broken for multibyte encodings. it
contains some single-byte ops, like the following:

	while (*s && isspace((unsigned char) *s))
		s++;
	if (*s++ != '.')
		elog(ERROR, "expected dot between identifiers: %s", sstart);

If we state that there are fixes for multibyte encodings in 8.2, we
should note that plpgsql is still broken. Being unfamiliar with
postgresql multibyte internals, I don't see a simple way to fix it
now. 

-- 
WBR, Victor V. Snezhko
E-mail: snezhko@indorsoft.ru