0003-Handle-child-relation-s-ConvertRowtypeExpr-in-find_c.patch
text/x-diff
Filename: 0003-Handle-child-relation-s-ConvertRowtypeExpr-in-find_c.patch
Type: text/x-diff
Part: 3
From 62a6cd22b0c07f8717a4c651e1cadcbc31b16fcd Mon Sep 17 00:00:00 2001
From: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
Date: Mon, 25 Dec 2023 17:40:20 +0300
Subject: [PATCH 3/6] Handle child relation's ConvertRowtypeExpr in
find_computable_ec_member()
---
src/backend/optimizer/path/equivclass.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/backend/optimizer/path/equivclass.c b/src/backend/optimizer/path/equivclass.c
index fae137dd825..80d560f05fa 100644
--- a/src/backend/optimizer/path/equivclass.c
+++ b/src/backend/optimizer/path/equivclass.c
@@ -852,7 +852,8 @@ find_computable_ec_member(PlannerInfo *root,
exprvars = pull_var_clause((Node *) exprs,
PVC_INCLUDE_AGGREGATES |
PVC_INCLUDE_WINDOWFUNCS |
- PVC_INCLUDE_PLACEHOLDERS);
+ PVC_INCLUDE_PLACEHOLDERS |
+ PVC_INCLUDE_CONVERTROWTYPES);
foreach(lc, ec->ec_members)
{
@@ -880,7 +881,8 @@ find_computable_ec_member(PlannerInfo *root,
emvars = pull_var_clause((Node *) em->em_expr,
PVC_INCLUDE_AGGREGATES |
PVC_INCLUDE_WINDOWFUNCS |
- PVC_INCLUDE_PLACEHOLDERS);
+ PVC_INCLUDE_PLACEHOLDERS|
+ PVC_INCLUDE_CONVERTROWTYPES);
foreach(lc2, emvars)
{
if (!list_member(exprvars, lfirst(lc2)))
--
2.43.0