• Tom Lane's avatar
    Propagate CTE property flags when copying a CTE list into a rule. · ed290896
    Tom Lane authored
    rewriteRuleAction() neglected this step, although it was careful to
    propagate other similar flags such as hasSubLinks or hasRowSecurity.
    Omitting to transfer hasRecursive is just cosmetic at the moment,
    but omitting hasModifyingCTE is a live bug, since the executor
    certainly looks at that.
    
    The proposed test case only fails back to v10, but since the executor
    examines hasModifyingCTE in 9.x as well, I suspect that a test case
    could be devised that fails in older branches.  Given the nearness
    of the release deadline, though, I'm not going to spend time looking
    for a better test.
    
    Report and patch by Greg Nancarrow, cosmetic changes by me
    
    Discussion: https://postgr.es/m/CAJcOf-fAdj=nDKMsRhQzndm-O13NY4dL6xGcEvdX5Xvbbi0V7g@mail.gmail.com
    ed290896
with.sql 32.7 KB