From f36604722eb5a272483564ac945ec723dae8ddca Mon Sep 17 00:00:00 2001 From: duzhuolin Date: Wed, 26 Jul 2023 00:27:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dsubselect=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E6=9C=AA=E9=87=8A=E6=94=BE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/gausskernel/optimizer/plan/subselect.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gausskernel/optimizer/plan/subselect.cpp b/src/gausskernel/optimizer/plan/subselect.cpp index daae5c0fd..8c69659ae 100644 --- a/src/gausskernel/optimizer/plan/subselect.cpp +++ b/src/gausskernel/optimizer/plan/subselect.cpp @@ -6685,9 +6685,11 @@ static bool safe_pullup_uncorrelated_sublink_where(Node* inout_quals, Query* sub level_up_varnos = pull_varnos((Node*)subQuery->jointree, 1, true); if (!bms_is_empty(level_up_varnos) && bms_is_subset(level_up_varnos, *available_rels)) { + bms_free(level_up_varnos); return false; } - + + bms_free(level_up_varnos); if (!IsA(inout_quals, OpExpr)) { return false; } @@ -6721,9 +6723,11 @@ bool safe_pullup_op_expr_sublink(OpExpr* expr) // sublink should be only one sublinkList = pull_sublink((Node*)expr, 0, false, false); if (sublinkList == NULL || list_length(sublinkList) != 1) { + list_free_ext(sublinkList); return false; } - + + list_free_ext(sublinkList); return true; }