aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/timestamp.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2024-02-23 15:21:53 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2024-02-23 15:21:53 -0500
commitcbeb455275138e6525912dd480c421864994c9c1 (patch)
tree8fb550db596227379ffa40522149909fcb0548b6 /src/backend/utils/adt/timestamp.c
parentebf52e9b753250a0be07375c8c5f290e87edef2f (diff)
downloadpostgresql-cbeb455275138e6525912dd480c421864994c9c1.tar.gz
postgresql-cbeb455275138e6525912dd480c421864994c9c1.zip
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/18360-a23caf3157f34e62@postgresql.org
Diffstat (limited to 'src/backend/utils/adt/timestamp.c')
0 files changed, 0 insertions, 0 deletions