postgresql/src/include/nodes
David Rowley 411137a429 Flush Memoize cache when non-key parameters change, take 2
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
2021-11-24 23:29:14 +13:00
..
bitmapset.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
execnodes.h Flush Memoize cache when non-key parameters change, take 2 2021-11-24 23:29:14 +13:00
extensible.h Allow CustomScan providers to say whether they support projections. 2021-07-06 18:10:20 -04:00
lockoptions.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
makefuncs.h Remove arbitrary 64K-or-so limit on rangetable size. 2021-09-15 14:11:21 -04:00
memnodes.h Add function to log the memory contexts of specified backend process. 2021-04-06 13:44:15 +09:00
nodeFuncs.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
nodes.h Allow publishing the tables of schema. 2021-10-27 07:44:52 +05:30
params.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
parsenodes.h Rename some enums to use TABLE instead of REL. 2021-11-09 08:39:33 +05:30
pathnodes.h Allow Memoize to operate in binary comparison mode 2021-11-24 10:06:59 +13:00
pg_list.h Avoid O(N^2) behavior in SyncPostCheckpoint(). 2021-11-02 11:31:54 -04:00
plannodes.h Flush Memoize cache when non-key parameters change, take 2 2021-11-24 23:29:14 +13:00
primnodes.h Remove arbitrary 64K-or-so limit on rangetable size. 2021-09-15 14:11:21 -04:00
print.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
readfuncs.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
replnodes.h Add replication command READ_REPLICATION_SLOT 2021-10-25 07:40:42 +09:00
subscripting.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
supportnodes.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
tidbitmap.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
value.h Remove Value node struct 2021-09-09 08:36:53 +02:00