отличя версий 7.4 и 8.0? - Mailing list pgsql-ru-general

From Zet
Subject отличя версий 7.4 и 8.0?
Date
Msg-id 19512555875.20051120145500@on.kg
Whole thread Raw
List pgsql-ru-general
Приветствую

Дома установлена версия 8.0 для windows
На сервере, где хостимся - 7.4.3 - linux fedore core 2

Есть таблица tablename, есть триггер BEFORE INSERT
В триггерной функции идет обращение к другой функции передачей ей
такого параметра, как new, т.е. новые введенные значения полей для
обработки

Примерно выглядет так
PERFORM some_func(new);

Функция описана
CREATE FUNCTION some_func(tablename) ...

я выделил часть кода функцию, т.к. там приличный кусок, который
необходим при разных триггерах и при разных условиях

в 8.0 это работает без проблем, но после установки на сервер, выдает
ошибку
ERROR: NEW used in query that is not in a rule CONTEXT: PL/pgSQL
function ...

это отличия версий ПГ?
или в 7.4 я должен что-то декларировать дополнительно и как?

---
затем попробовал кое-что:
попробовал передавать не new, а создал type tablename_fields с полями
с таблицы tablename, и заменил функцию на
CREATE FUNCTION some_func(tablename_fields) ...

f в declare объявил f tablename_fields%rowtype;
и вызываю функцию
f.field1 := new.field1;
f.field2 := new.field2;
...
PERFORM some_func(f);

но теперь ошибка на сервере хостера
ERROR: column "f" does not exist CONTEXT: PL/pgSQL function ...

Подскажите, как передать функции параметры?
Также буду благодарен за ссылку на раздел мануала, где это более
конкретно описано

С уважением, Zet.


pgsql-ru-general by date:

Previous
From: Oleg Bartunov
Date:
Subject: Re: postgresql 8.1 & koi8r bugs
Next
From: "Andrey N. Oktyabrski"
Date:
Subject: То ли в ролях дырка, то ли я не понимаю чего-то