create rule with multiple commands
От | andreas@elbrief.de |
---|---|
Тема | create rule with multiple commands |
Дата | |
Msg-id | 1579081610.235f840.27092@debian3 обсуждение исходный текст |
Ответы |
Re: create rule with multiple commands
|
Список | pgsql-bugs |
select version(); begin; create table _a (id serial primary key, value int not null); create table deleted (id serial primary key, tid int not null); create view a as select a.id, a.value from _a a left join deleted s on s.tid = a.id where s.id is null; create rule a_insert as on insert to a do instead insert into _a (value) values (new.value); create rule a_update as on update to a do instead ( | insert into _a (value) values (new.value); | insert into deleted (tid) values (old.id) ); insert into a (value) values (1); update a set value = 2; select * from _a; select * from deleted; rollback; begin; create table _a (id serial primary key, value int not null); create table deleted (id serial primary key, tid int not null); create view a as select a.id, a.value from _a a left join deleted s on s.tid = a.id where s.id is null; create rule a_insert as on insert to a do instead insert into _a (value) values (new.value); create rule a_update as on update to a do instead ( | insert into deleted (tid) values (old.id); | insert into _a (value) values (new.value) ); insert into a (value) values (1); update a set value = 2; select * from _a; select * from deleted; rollback; ############### version ---------------------------------------------------------------------------------------------------------------------------------- PostgreSQL 12.1 (Debian 12.1-1.pgdg90 1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18 deb9u1) 6.3.0 20170516,64-bit (1 Zeile) BEGIN CREATE TABLE CREATE TABLE CREATE VIEW CREATE RULE CREATE RULE INSERT 0 1 UPDATE 0 id | value ---- ------- 1 | 1 2 | 2 (2 Zeilen) id | tid ---- ----- 1 | 1 2 | 2 (2 Zeilen) ROLLBACK BEGIN CREATE TABLE CREATE TABLE CREATE VIEW CREATE RULE CREATE RULE INSERT 0 1 UPDATE 0 id | value ---- ------- 1 | 1 (1 Zeile) id | tid ---- ----- 1 | 1 (1 Zeile) ROLLBACK ############### i expected the same result in both begin ... rollback sequences, but i get different results. i expect 2 rows in _a and one row in deleted, but both results are not that. best regards, Andreas Sakowski
В списке pgsql-bugs по дате отправления: