Here is a simplificated example: CREATE OR REPLACE FUNCTION ttt () RETURNS text AS ' return ""; ' LANGUAGE 'plperlu';
CREATE OR REPLACE FUNCTION qqq () RETURNS text as ' DECLARE v_text text; v_text2 text; BEGIN v_text := upper(''до''); -- cyrillic chars v_text2 := ttt(); RETURN v_text || upper(''после''); -- cyrillic chars END; ' LANGUAGE 'plpgsql'; and qqq() returns "ДОпосле". That is upper() doesn't work correctly after plperlu function call. -- Sergey Suleymanov ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])