Adding a rule makes my sequence increment twice

Поиск
Список
Период
Сортировка
От Fran Fabrizio
Тема Adding a rule makes my sequence increment twice
Дата
Msg-id 3C03E485.83A1664E@mmrd.com
обсуждение исходный текст
Ответы Re: Adding a rule makes my sequence increment twice
Список pgsql-general
Hello,

I have a table (table1) with a column called 'id' which has a default
value of nextval('id_seq').  I insert into table1, it increments, all is
happy.  I add a totally unrelated rule (rule1) to this table, one which
just changes the value of a field in another table (table2) (and table2
is in no way connected to the id_seq), and now when I insert into
table1, the sequence gets incremented twice.  I'm wondering if this is a
product of the way that rules rewrite the query or something.  Any
insight?

Unfortunately, I cannot duplicate this behavior using simple test
tables, but I am quite sure that table2 in no way alters the value of
id_seq.  If for instance the value of the sequence before the insert was
10000, I see something like this:

sequence value = 10000
I insert a row into table 1
At the start of the rule1 execution value of sequence is 10001
At the end of the rule1 execution value of sequence is 10001
insert returns
sequence value = 10002

It's got me baffled after exploring it all morning.

Thanks,
Fran


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Supporting PostgreSQL infrastructure
Следующее
От: "Aasmund Midttun Godal"
Дата:
Сообщение: Re: check constriaint for BLOB