The following bug has been logged on the website:
Bug reference: 17827
Logged by: Hanna Yanchurevich
Email address: hyanchurevich@spotware.com
PostgreSQL version: 13.2
Operating system: Centos 7
Description:
To reproduce this bug you may use following script:
create table tbl (id int);
create table rule_stat (msg text, id int);
create rule rule_tbl as on insert to tbl do insert into rule_stat
values('Rule triggered for ',new.id);
insert into tbl
select 1
except
select id from tbl;
table rule_stat; -- no rows
And using WHERE true clause for target table rule not working too:
insert into tbl
select 2
except
select id from tbl where true;
table rule_stat; -- no rows
But using WHERE false clause for target table rule starts working:
insert into tbl
select 1
except
select id from tbl where false;
table rule_stat; -- new row appears