Re: BUG #4620: Unexpected(doc'd) side effects of using serial and rules

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #4620: Unexpected(doc'd) side effects of using serial and rules
Дата
Msg-id 2744.1232296519@sss.pgh.pa.us
обсуждение исходный текст
Ответ на BUG #4620: Unexpected(doc'd) side effects of using serial and rules  ("Simon Keen" <simon.keen@eglimited.co.uk>)
Ответы Re: BUG #4620: Unexpected(doc'd) side effects of using serial and rules  ("Simon Keen" <simon.keen@eglimited.co.uk>)
Список pgsql-bugs
"Simon Keen" <simon.keen@eglimited.co.uk> writes:
> I have used serial columns as primary keys in some tables.  I have a rule
> that on insert to a table inserts in another table.  However, the rule
> appears to cause the seq nextval() to be invoked multiple times thus
> destroying any value in NEW.serial_col.

This is a well-known issue arising from the fact that a rule is really a
macro: multiple references to any expression in the original statement
result in multiple evaluations of that expression.

By and large, the best way to propagate inserted information to other
tables is with a trigger.

            regards, tom lane

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

Предыдущее
От: "Simon Keen"
Дата:
Сообщение: BUG #4620: Unexpected(doc'd) side effects of using serial and rules
Следующее
От: Kev
Дата:
Сообщение: postgres 8.4