diff options
| author | Tom Lane | 2024-02-23 20:21:53 +0000 |
|---|---|---|
| committer | Tom Lane | 2024-02-23 20:21:53 +0000 |
| commit | a6b2a51e16d7ae7b1982c9d8dfa61a637a832209 (patch) | |
| tree | 7e1eb89e8316cd342836ea8aacf3ec81be22965f /configure | |
| parent | d360e3cc60e37d6d41ee78acf7bd5cb313b978c1 (diff) | |
Avoid dangling-pointer problem with partitionwise joins under GEQO.
build_child_join_sjinfo creates a derived SpecialJoinInfo in
the short-lived GEQO context, but afterwards the semi_rhs_exprs
from that may be used in a UniquePath for a child base relation.
This breaks the expectation that all base-relation-level structures
are in the planning-lifespan context, leading to use of a dangling
pointer with probable ensuing crash later on in create_unique_plan.
To fix, copy the expression trees when making a UniquePath.
Per bug #18360 from Alexander Lakhin. This has been broken since
partitionwise joins were added, so back-patch to all supported
branches.
Discussion: https://postgr.es/m/[email protected]
Diffstat (limited to 'configure')
0 files changed, 0 insertions, 0 deletions
