• Alvaro Herrera's avatar
    Don't needlessly check the partition contraint twice · 5b0c7e2f
    Alvaro Herrera authored
    Starting with commit f0e44751, ExecConstraints was in charge of
    running the partition constraint; commit 19c47e7c modified that so
    that caller could request to skip that checking depending on some
    conditions, but that commit and 15ce775f together introduced a small
    bug there which caused ExecInsert to request skipping the constraint
    check but have this not be honored -- in effect doing the check twice.
    This could have been fixed in a very small patch, but on further
    analysis of the involved function and its callsites, it turns out to be
    simpler to give the responsibility of checking the partition constraint
    fully to the caller, and return ExecConstraints to its original
    (pre-partitioning) shape where it only checked tuple descriptor-related
    constraints.  Each caller must do partition constraint checking on its
    own schedule, which is more convenient after commit 2f178441 anyway.
    
    Reported-by: David Rowley
    Author: David Rowley, Álvaro Herrera
    Reviewed-by: Amit Langote, Amit Khandekar, Simon Riggs
    Discussion: https://postgr.es/m/CAKJS1f8w8+awsxgea8wt7_UX8qzOQ=Tm1LD+U1fHqBAkXxkW2w@mail.gmail.com
    5b0c7e2f
execReplication.c 16.1 KB