Re: locale operation to be invoked, but no collation was derived (in trigger)

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: locale operation to be invoked, but no collation was derived (in trigger)
Дата
Msg-id 17021.1301093210@sss.pgh.pa.us
обсуждение исходный текст
Ответ на locale operation to be invoked, but no collation was derived (in trigger)  (Stefan Huehner <stefan@huehner.org>)
Список pgsql-hackers
Stefan Huehner <stefan@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
goingon 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


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: 9.1 Beta
Следующее
От: Robert Haas
Дата:
Сообщение: Re: WIP: Allow SQL-language functions to reference parameters by parameter name