Thread

Commits

  1. Fix rule-detection code for MERGE.

  1. Bug in MERGE's test for tables with rules

    Dean Rasheed <dean.a.rasheed@gmail.com> — 2022-11-23T12:49:44Z

    While playing around with rules and MERGE, I noticed that there is a
    bug in the way that it detects whether the target table has rules ---
    it uses rd_rel->relhasrules, which can be incorrect, since it might be
    set for a table that doesn't currently have rules, but did in the
    recent past.
    
    So it actually needs to examine rd_rules. Technically, I think that it
    would be sufficient to just test whether rd_rules is non-NULL, but I
    think it's more robust and readable to check rd_rules->numLocks, as in
    the attached patch.
    
    Regards,
    Dean
    
  2. Re: Bug in MERGE's test for tables with rules

    Tom Lane <tgl@sss.pgh.pa.us> — 2022-11-23T15:32:47Z

    Dean Rasheed <dean.a.rasheed@gmail.com> writes:
    > While playing around with rules and MERGE, I noticed that there is a
    > bug in the way that it detects whether the target table has rules ---
    > it uses rd_rel->relhasrules, which can be incorrect, since it might be
    > set for a table that doesn't currently have rules, but did in the
    > recent past.
    
    > So it actually needs to examine rd_rules. Technically, I think that it
    > would be sufficient to just test whether rd_rules is non-NULL, but I
    > think it's more robust and readable to check rd_rules->numLocks, as in
    > the attached patch.
    
    +1 for the code change.  Not quite sure the added test case is worth
    the cycles.
    
    			regards, tom lane
    
    
    
    
  3. Re: Bug in MERGE's test for tables with rules

    Dean Rasheed <dean.a.rasheed@gmail.com> — 2022-11-25T13:39:59Z

    On Wed, 23 Nov 2022 at 15:32, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    >
    > Not quite sure the added test case is worth the cycles.
    >
    
    No, probably not, for such a trivial change.
    
    Pushed to HEAD and 15, without the test. Thanks for looking!
    
    Regards,
    Dean