Hi,
I will demonstrate what I want with a little example
msym=> create table t (c1 int, c2 int, c3 int);
CREATE TABLE
msym=> insert into t values (1, 1, 10),(2, 1, 10), (3, 2, 20), (4, 2, 20);
INSERT 0 4
msym=> create view v as select c1, c2 from t where c2 = 2 with check option;
CREATE VIEW
msym=> select * from v;
c1 | c2
----+----
3 | 2
4 | 2
(2 lignes)
msym=> update v set c2 = 3 where c1 = 3;
ERROR: new row violates check option for view "v"
DETAIL : Failing row contains (3, 3, 20).
Suppose that view use is exactly to hide value of c3! This example shows a security issue.
Best regards
Michel SALAIS