• David Rowley's avatar
    Flush Memoize cache when non-key parameters change, take 2 · c2dc7b9e
    David Rowley authored
    It's possible that a subplan below a Memoize node contains a parameter
    from above the Memoize node.  If this parameter changes then cache entries
    may become out-dated due to the new parameter value.
    
    Previously Memoize was mistakenly not aware of this.  We fix this here by
    flushing the cache whenever a parameter that's not part of the cache
    key changes.
    
    Bug: #17213
    Reported by: Elvis Pranskevichus
    Author: David Rowley
    Discussion: https://postgr.es/m/17213-988ed34b225a2862@postgresql.org
    Backpatch-through: 14, where Memoize was added
    c2dc7b9e
clauses.c 158 KB