hi.
The attached patch did what the $subject says.
demo:
begin;
create role alice login;
grant all on schema public to alice;
drop table if exists tts;
create table tts(a int);
grant insert on tts to alice;
ALTER TABLE tts ENABLE ROW LEVEL SECURITY;
CREATE POLICY p1 ON tts FOR ALL USING (a = 1 or a = 2 or a = 3);
commit;
SET ROLE alice;
insert into tts values (4); --error
old ERROR message:
ERROR: new row violates row-level security policy for table "tts"
new ERROR message:
ERROR: new row violates row-level security policy "p1" for table "tts"
There are fewer than 10 lines of C code changes, but turns out that in the
regression tests, there are many cases where only one permissive policy exists
for INSERT or UPDATE.
So the patch is not smaller.