• Robert Haas's avatar
    Teach predtest.c about CHECK clauses to fix partitioning bugs. · b08df9ca
    Robert Haas authored
    In a CHECK clause, a null result means true, whereas in a WHERE clause
    it means false.  predtest.c provided different functions depending on
    which set of semantics applied to the predicate being proved, but had
    no option to control what a null meant in the clauses provided as
    axioms.  Add one.
    
    Use that in the partitioning code when figuring out whether the
    validation scan on a new partition can be skipped.  Rip out the
    old logic that attempted (not very successfully) to compensate
    for the absence of the necessary support in predtest.c.
    
    Ashutosh Bapat and Robert Haas, reviewed by Amit Langote and
    incorporating feedback from Tom Lane.
    
    Discussion: http://postgr.es/m/CAFjFpReT_kq_uwU_B8aWDxR7jNGE=P0iELycdq5oupi=xSQTOw@mail.gmail.com
    b08df9ca
tablecmds.c 415 KB