提交 5490fefc 编写于 作者: V Venkatesh Raghavan

Remove CDXLScalarInitPlan related dead code

上级 df4e3cad
......@@ -120,7 +120,7 @@ sync_tools: opt_write_test /opt/releng/apache-ant
-Divyrepo.user=$(IVYREPO_USER) -Divyrepo.passwd="$(IVYREPO_PASSWD)" resolve);
@echo "Resolve finished";
LD_LIBRARY_PATH='' wget -O - https://github.com/greenplum-db/gporca/releases/download/v2.20.0/bin_orca_centos5_release.tar.gz | tar zxf - -C $(BLD_TOP)/ext/$(BLD_ARCH)
LD_LIBRARY_PATH='' wget -O - https://github.com/greenplum-db/gporca/releases/download/v2.22.0/bin_orca_centos5_release.tar.gz | tar zxf - -C $(BLD_TOP)/ext/$(BLD_ARCH)
clean_tools: opt_write_test
@cd releng/make/dependencies; \
......
......@@ -108,7 +108,6 @@ CTranslatorDXLToScalar::PexprFromDXLNodeScalar
{EdxlopScalarCoerceToDomain, &CTranslatorDXLToScalar::PcoerceFromDXLNodeScCoerceToDomain},
{EdxlopScalarCoerceViaIO, &CTranslatorDXLToScalar::PcoerceFromDXLNodeScCoerceViaIO},
{EdxlopScalarArrayCoerceExpr, &CTranslatorDXLToScalar::PcoerceFromDXLNodeScArrayCoerceExpr},
{EdxlopScalarInitPlan, &CTranslatorDXLToScalar::PparamFromDXLNodeScInitPlan},
{EdxlopScalarSubPlan, &CTranslatorDXLToScalar::PsubplanFromDXLNodeScSubPlan},
{EdxlopScalarArray, &CTranslatorDXLToScalar::PexprArray},
{EdxlopScalarArrayRef, &CTranslatorDXLToScalar::PexprArrayRef},
......@@ -577,80 +576,6 @@ CTranslatorDXLToScalar::PfuncexprFromDXLNodeScFuncExpr
return (Expr *)pfuncexpr;
}
//---------------------------------------------------------------------------
// @function:
// CTranslatorDXLToScalar::PparamFromDXLNodeScInitPlan
//
// @doc:
// Translates a DXL scalar InitPlan into a GPDB PARAM node
//
//---------------------------------------------------------------------------
Expr *
CTranslatorDXLToScalar::PparamFromDXLNodeScInitPlan
(
const CDXLNode *pdxlnInitPlan,
CMappingColIdVar *pmapcidvar
)
{
CDXLTranslateContext *pdxltrctxOut = (dynamic_cast<CMappingColIdVarPlStmt*>(pmapcidvar))->PpdxltrctxOut();
Plan *pplan = ((CMappingColIdVarPlStmt*) pmapcidvar)->Pplan();
if(NULL == pplan)
{
GPOS_RAISE
(
gpdxl::ExmaDXL,
ExmiDXL2PlStmtMissingPlanForInitPlanTranslation
);
}
GPOS_ASSERT(NULL != pdxlnInitPlan);
GPOS_ASSERT(EdxlopScalarInitPlan == pdxlnInitPlan->Pdxlop()->Edxlop());
GPOS_ASSERT(1 == pdxlnInitPlan->UlArity());
CDXLNode *pdxlnChild = (*pdxlnInitPlan)[0];
GPOS_ASSERT(EdxloptypePhysical == pdxlnChild->Pdxlop()->Edxloperatortype());
// Step 1: Generate the child plan
// Since an init plan is not a scalar node, we create a new DXLTranslator to handle its translation
CContextDXLToPlStmt *pctxdxltoplstmt = (dynamic_cast<CMappingColIdVarPlStmt*>(pmapcidvar))->Pctxdxltoplstmt();
CTranslatorDXLToPlStmt trdxltoplstmt(m_pmp, m_pmda, pctxdxltoplstmt, m_ulSegments);
DrgPdxltrctx *pdrgpdxltrctxPrevSiblings = GPOS_NEW(m_pmp) DrgPdxltrctx(m_pmp);
Plan *pplanChild = trdxltoplstmt.PplFromDXL(pdxlnChild, pdxltrctxOut, pplan, pdrgpdxltrctxPrevSiblings);
pdrgpdxltrctxPrevSiblings->Release();
// Step 2: Add the generated child to the root plan's subplan list
pctxdxltoplstmt->AddSubplan(pplanChild);
// Step 3: Generate a SubPlan node and insert into the initPlan (which is a list) of the pplan node.
SubPlan *psubplan = MakeNode(SubPlan);
psubplan->plan_id = gpdb::UlListLength(pctxdxltoplstmt->PlPplanSubplan());
psubplan->is_initplan = true;
GPOS_ASSERT(NULL != pplanChild->targetlist && 1 <= gpdb::UlListLength(pplanChild->targetlist));
psubplan->firstColType = gpdb::OidExprType( (Node*) ((TargetEntry*) gpdb::PvListNth(pplanChild->targetlist, 0))->expr);
psubplan->firstColTypmod = -1;
psubplan->subLinkType = EXPR_SUBLINK;
pplan->initPlan = gpdb::PlAppendElement(pplan->initPlan, psubplan);
// Step 4: Create the PARAM node
Param *pparam = MakeNode(Param);
pparam->paramkind = PARAM_EXEC;
pparam->paramid = pctxdxltoplstmt->UlNextParamId();
pparam->paramtype = psubplan->firstColType;
// Step 5: Link Param to the SubPlan node
psubplan->setParam = ListMake1Int(pparam->paramid);
return (Expr *)pparam;
}
//---------------------------------------------------------------------------
// @function:
// CTranslatorDXLToScalar::PsubplanFromDXLNodeScSubPlan
......
......@@ -211,12 +211,6 @@ namespace gpdxl
CMappingColIdVar *pmapcidvar
);
Expr *PparamFromDXLNodeScInitPlan
(
const CDXLNode *pdxlnInitPlan,
CMappingColIdVar *pmapcidvar
);
// return a GPDB subplan from a DXL subplan
Expr *PsubplanFromDXLNodeScSubPlan
(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册