Strange behavior of plpgsql.

Поиск
Список
Период
Сортировка
От Alex du Plessis
Тема Strange behavior of plpgsql.
Дата
Msg-id f63442d70911040705t53691bf4of220732e0bd9e33c@mail.gmail.com
обсуждение исходный текст
Ответы Re: Strange behavior of plpgsql.  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-novice
Hello list

I just noticed a strange quirk of plpgsql.  It gave me an error when trying to access a member of a complex field in NEW.  Error reported was: "ERROR:  NEW used in query that is not in a rule".

However, it seems that plsql rather has a problem with the double dot i.e. NEW.amount.direction and could not parse that (or did not have any knowledge of the complex type). 

I found a workaround by first declaring a local variable to the complex type DECLARE amnt tlx_actamount;
and then assigning the complex field to this variable.  It seems plpgsql is quite happy to accept such a consstruct.

As an example :

plpgsql will not accept
NEW.amount.direction ..and give the error listed above

It will however be happy with:

DECLARE amnt tlx_amount;

...
amnt:=NEW.amount;

Hope this sheds some light for a guru

Regards

--
Alex du Plessis

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

Предыдущее
От: Victor Jason
Дата:
Сообщение: the database system is starting up
Следующее
От: CBoone@SperianProtection.com
Дата:
Сообщение: Postgre 8.1.11 and Windows 7 (64-bit)