Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
5490fefc
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5490fefc
编写于
4月 12, 2017
作者:
V
Venkatesh Raghavan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove CDXLScalarInitPlan related dead code
上级
df4e3cad
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
1 addition
and
82 deletion
+1
-82
gpAux/releng/releng.mk
gpAux/releng/releng.mk
+1
-1
src/backend/gpopt/translate/CTranslatorDXLToScalar.cpp
src/backend/gpopt/translate/CTranslatorDXLToScalar.cpp
+0
-75
src/include/gpopt/translate/CTranslatorDXLToScalar.h
src/include/gpopt/translate/CTranslatorDXLToScalar.h
+0
-6
未找到文件。
gpAux/releng/releng.mk
浏览文件 @
5490fefc
...
...
@@ -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.2
0
.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.2
2
.0/bin_orca_centos5_release.tar.gz |
tar
zxf -
-C
$(BLD_TOP)
/ext/
$(BLD_ARCH)
clean_tools
:
opt_write_test
@
cd
releng/make/dependencies
;
\
...
...
src/backend/gpopt/translate/CTranslatorDXLToScalar.cpp
浏览文件 @
5490fefc
...
...
@@ -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
...
...
src/include/gpopt/translate/CTranslatorDXLToScalar.h
浏览文件 @
5490fefc
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录