Stefan Huehner <ste...@huehner.org> writes: > first i am not sure how the state of the collation work in current git is > supposed to be with all the discussion going on here... but wanted to get out > that bug report:
> create table ad_tab (ad_tab_id varchar(32), name varchar(32)); > create function test_trg() RETURNS TRIGGER LANGUAGE plpgsql AS $function$ > DECLARE > BEGIN > --Check tab name starts with a upper case letter > IF (not (substr(new.Name,1,1) between 'A' and 'Z')) THEN > RAISE EXCEPTION '%', '@TabName1stCharUpper@' ; --OBTG:-20000-- > END IF; > END > ; $function$ > ; > create trigger test_trg after update on test for each row execute procedure > test_trg(); > insert into test values ('1', 'test'); > update test set name = 'test2' where test_id = '1'; > ERROR: locale operation to be invoked, but no collation was derived > CONTEXT: PL/pgSQL function "test_trg" line 4 at IF Fixed, thanks for the test case. (I have a feeling I'd better grep the whole backend for other places that are likewise neglecting to set the collation fields in manually-created expression nodes ...) regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers