On Wed, Dec 27, 2023 at 7:38 PM Andy Fan <zhihuifan1...@163.com> wrote:
> I also want to add notnullattnums for the UniqueKey stuff as well, by > comparing your implementation with mine, I found you didn't consider > the NOT NULL generated by filter. After apply your patch: > > create table a(a int); > explain (costs off) select * from a where a > 3 and a is null; > QUERY PLAN > ------------------------------------- > Seq Scan on a > Filter: ((a IS NULL) AND (a > 3)) > (2 rows) The detection of self-inconsistent restrictions already exists in planner. # set constraint_exclusion to on; SET # explain (costs off) select * from a where a > 3 and a is null; QUERY PLAN -------------------------- Result One-Time Filter: false (2 rows) Thanks Richard