Victor Snezhko <snezhko@indorsoft.ru> writes:
> 2) When I try to create a stored procedure to create table (e.g., for
> creating table only if it doesn't already exist), it fails to
> compile if i use cyrillic letter "È" (unicode id: 0x0445, utf-8
> representation is D1 85) with the following weird error:
> 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;
I tried to duplicate this without success on Fedora Core 5. Either your
ru_RU.utf8 locale works differently from Fedora's, or something else is
wrong. Looking at the code, the only very plausible theory is that
isspace() is doing something different than we expect it to. I wonder
whether you have the database encoding set to something else than what
the postmaster's LC_CTYPE locale expects?
regards, tom lane