Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
4fcd0d63
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,发现更多精彩内容 >>
提交
4fcd0d63
编写于
4月 27, 1998
作者:
B
Bruce Momjian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
FIx confusion over SORT and SORTCLAUSE in node handling.
上级
1efd2cf7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
109 addition
and
110 deletion
+109
-110
src/backend/nodes/outfuncs.c
src/backend/nodes/outfuncs.c
+62
-62
src/backend/nodes/readfuncs.c
src/backend/nodes/readfuncs.c
+47
-48
未找到文件。
src/backend/nodes/outfuncs.c
浏览文件 @
4fcd0d63
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.3
3 1998/02/26 04:32:12
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.3
4 1998/04/27 02:58:05
momjian Exp $
*
* NOTES
* Every (plan) node in POSTGRES has an associated "out" routine which
...
...
@@ -70,22 +70,22 @@ _outIntList(StringInfo str, List *list)
static
void
_outCreateStmt
(
StringInfo
str
,
CreateStmt
*
node
)
{
appendStringInfo
(
str
,
"
CREATE
"
);
appendStringInfo
(
str
,
"
CREATE
"
);
appendStringInfo
(
str
,
" :relname "
);
appendStringInfo
(
str
,
node
->
relname
);
appendStringInfo
(
str
,
" :columns"
);
appendStringInfo
(
str
,
" :columns
"
);
_outNode
(
str
,
node
->
tableElts
);
appendStringInfo
(
str
,
" :inhRelnames"
);
appendStringInfo
(
str
,
" :inhRelnames
"
);
_outNode
(
str
,
node
->
inhRelnames
);
appendStringInfo
(
str
,
" :constraints"
);
appendStringInfo
(
str
,
" :constraints
"
);
_outNode
(
str
,
node
->
constraints
);
}
static
void
_outIndexStmt
(
StringInfo
str
,
IndexStmt
*
node
)
{
appendStringInfo
(
str
,
"
INDEX
"
);
appendStringInfo
(
str
,
"
INDEX
"
);
appendStringInfo
(
str
,
" :idxname "
);
appendStringInfo
(
str
,
node
->
idxname
);
...
...
@@ -110,7 +110,7 @@ _outIndexStmt(StringInfo str, IndexStmt *node)
static
void
_outColumnDef
(
StringInfo
str
,
ColumnDef
*
node
)
{
appendStringInfo
(
str
,
"
COLUMNDEF
"
);
appendStringInfo
(
str
,
"
COLUMNDEF
"
);
appendStringInfo
(
str
,
" :colname "
);
appendStringInfo
(
str
,
node
->
colname
);
...
...
@@ -120,7 +120,7 @@ _outColumnDef(StringInfo str, ColumnDef *node)
appendStringInfo
(
str
,
(
node
->
is_not_null
?
"true"
:
"false"
));
appendStringInfo
(
str
,
" :defval "
);
appendStringInfo
(
str
,
node
->
defval
);
appendStringInfo
(
str
,
" :constraints"
);
appendStringInfo
(
str
,
" :constraints
"
);
_outNode
(
str
,
node
->
constraints
);
}
...
...
@@ -129,7 +129,7 @@ _outTypeName(StringInfo str, TypeName *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
TYPENAME
"
);
appendStringInfo
(
str
,
"
TYPENAME
"
);
appendStringInfo
(
str
,
" :name "
);
appendStringInfo
(
str
,
node
->
name
);
...
...
@@ -147,7 +147,7 @@ _outTypeName(StringInfo str, TypeName *node)
static
void
_outIndexElem
(
StringInfo
str
,
IndexElem
*
node
)
{
appendStringInfo
(
str
,
"
INDEXELEM
"
);
appendStringInfo
(
str
,
"
INDEXELEM
"
);
appendStringInfo
(
str
,
" :name "
);
appendStringInfo
(
str
,
node
->
name
);
...
...
@@ -155,7 +155,7 @@ _outIndexElem(StringInfo str, IndexElem *node)
_outNode
(
str
,
node
->
args
);
appendStringInfo
(
str
,
" :class "
);
appendStringInfo
(
str
,
node
->
class
);
appendStringInfo
(
str
,
" :tname"
);
appendStringInfo
(
str
,
" :tname
"
);
_outNode
(
str
,
node
->
tname
);
}
...
...
@@ -164,7 +164,7 @@ _outQuery(StringInfo str, Query *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
QUERY
"
);
appendStringInfo
(
str
,
"
QUERY
"
);
appendStringInfo
(
str
,
" :command "
);
sprintf
(
buf
,
" %d "
,
node
->
commandType
);
...
...
@@ -241,7 +241,7 @@ _outSortClause(StringInfo str, SortClause *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
SORTCLAUSE
"
);
appendStringInfo
(
str
,
"
SORTCLAUSE
"
);
appendStringInfo
(
str
,
" :resdom "
);
_outNode
(
str
,
node
->
resdom
);
...
...
@@ -255,7 +255,7 @@ _outGroupClause(StringInfo str, GroupClause *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
GROUPCLAUSE
"
);
appendStringInfo
(
str
,
"
GROUPCLAUSE
"
);
appendStringInfo
(
str
,
" :entry "
);
_outNode
(
str
,
node
->
entry
);
...
...
@@ -304,14 +304,14 @@ _outPlanInfo(StringInfo str, Plan *node)
static
void
_outPlan
(
StringInfo
str
,
Plan
*
node
)
{
appendStringInfo
(
str
,
"
PLAN
"
);
appendStringInfo
(
str
,
"
PLAN
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
}
static
void
_outResult
(
StringInfo
str
,
Result
*
node
)
{
appendStringInfo
(
str
,
"
RESULT
"
);
appendStringInfo
(
str
,
"
RESULT
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
appendStringInfo
(
str
,
" :resconstantqual "
);
...
...
@@ -327,7 +327,7 @@ _outAppend(StringInfo str, Append *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
APPEND
"
);
appendStringInfo
(
str
,
"
APPEND
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
appendStringInfo
(
str
,
" :unionplans "
);
...
...
@@ -350,7 +350,7 @@ _outAppend(StringInfo str, Append *node)
static
void
_outJoin
(
StringInfo
str
,
Join
*
node
)
{
appendStringInfo
(
str
,
"
JOIN
"
);
appendStringInfo
(
str
,
"
JOIN
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
}
...
...
@@ -361,7 +361,7 @@ _outJoin(StringInfo str, Join *node)
static
void
_outNestLoop
(
StringInfo
str
,
NestLoop
*
node
)
{
appendStringInfo
(
str
,
"
NESTLOOP
"
);
appendStringInfo
(
str
,
"
NESTLOOP
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
}
...
...
@@ -373,7 +373,7 @@ _outMergeJoin(StringInfo str, MergeJoin *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
MERGEJOIN
"
);
appendStringInfo
(
str
,
"
MERGEJOIN
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
appendStringInfo
(
str
,
" :mergeclauses "
);
...
...
@@ -397,7 +397,7 @@ _outHashJoin(StringInfo str, HashJoin *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
HASHJOIN
"
);
appendStringInfo
(
str
,
"
HASHJOIN
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
appendStringInfo
(
str
,
" :hashclauses "
);
...
...
@@ -420,7 +420,7 @@ _outSubPlan(StringInfo str, SubPlan *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
SUBPLAN
"
);
appendStringInfo
(
str
,
"
SUBPLAN
"
);
appendStringInfo
(
str
,
" :plan "
);
_outNode
(
str
,
node
->
plan
);
sprintf
(
buf
,
" :planid %u "
,
node
->
plan_id
);
...
...
@@ -443,7 +443,7 @@ _outScan(StringInfo str, Scan *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
SCAN
"
);
appendStringInfo
(
str
,
"
SCAN
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
sprintf
(
buf
,
" :scanrelid %d "
,
node
->
scanrelid
);
...
...
@@ -459,7 +459,7 @@ _outSeqScan(StringInfo str, SeqScan *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
SEQSCAN
"
);
appendStringInfo
(
str
,
"
SEQSCAN
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
sprintf
(
buf
,
" :scanrelid %d "
,
node
->
scanrelid
);
...
...
@@ -476,7 +476,7 @@ _outIndexScan(StringInfo str, IndexScan *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
INDEXSCAN
"
);
appendStringInfo
(
str
,
"
INDEXSCAN
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
sprintf
(
buf
,
" :scanrelid %d "
,
node
->
scan
.
scanrelid
);
...
...
@@ -498,7 +498,7 @@ _outTemp(StringInfo str, Temp *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
TEMP
"
);
appendStringInfo
(
str
,
"
TEMP
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
sprintf
(
buf
,
" :tempid %u "
,
node
->
tempid
);
...
...
@@ -516,7 +516,7 @@ _outSort(StringInfo str, Sort *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
SORT
"
);
appendStringInfo
(
str
,
"
SORT
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
sprintf
(
buf
,
" :tempid %u "
,
node
->
tempid
);
...
...
@@ -530,7 +530,7 @@ static void
_outAgg
(
StringInfo
str
,
Agg
*
node
)
{
appendStringInfo
(
str
,
"
AGG
"
);
appendStringInfo
(
str
,
"
AGG
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
appendStringInfo
(
str
,
" :aggs "
);
...
...
@@ -542,7 +542,7 @@ _outGroup(StringInfo str, Group *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
GRP
"
);
appendStringInfo
(
str
,
"
GRP
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
/* the actual Group fields */
...
...
@@ -561,7 +561,7 @@ _outUnique(StringInfo str, Unique *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
UNIQUE
"
);
appendStringInfo
(
str
,
"
UNIQUE
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
sprintf
(
buf
,
" :tempid %u "
,
node
->
tempid
);
...
...
@@ -580,7 +580,7 @@ _outHash(StringInfo str, Hash *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
HASH
"
);
appendStringInfo
(
str
,
"
HASH
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
appendStringInfo
(
str
,
" :hashkey "
);
...
...
@@ -599,7 +599,7 @@ _outTee(StringInfo str, Tee *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
TEE
"
);
appendStringInfo
(
str
,
"
TEE
"
);
_outPlanInfo
(
str
,
(
Plan
*
)
node
);
sprintf
(
buf
,
" :leftParent %X "
,
(
int
)
(
node
->
leftParent
));
...
...
@@ -628,7 +628,7 @@ _outResdom(StringInfo str, Resdom *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
RESDOM
"
);
appendStringInfo
(
str
,
"
RESDOM
"
);
sprintf
(
buf
,
" :resno %d "
,
node
->
resno
);
appendStringInfo
(
str
,
buf
);
sprintf
(
buf
,
" :restype %u "
,
node
->
restype
);
...
...
@@ -652,7 +652,7 @@ _outFjoin(StringInfo str, Fjoin *node)
char
buf
[
500
];
int
i
;
appendStringInfo
(
str
,
"
FJOIN
"
);
appendStringInfo
(
str
,
"
FJOIN
"
);
appendStringInfo
(
str
,
" :initialized "
);
appendStringInfo
(
str
,
node
->
fj_initialized
?
"true"
:
"false"
);
sprintf
(
buf
,
" :nNodes %d "
,
node
->
fj_nNodes
);
...
...
@@ -680,7 +680,7 @@ _outExpr(StringInfo str, Expr *node)
char
buf
[
500
];
char
*
opstr
=
NULL
;
appendStringInfo
(
str
,
"
EXPR
"
);
appendStringInfo
(
str
,
"
EXPR
"
);
sprintf
(
buf
,
" :typeOid %u "
,
node
->
typeOid
);
appendStringInfo
(
str
,
buf
);
...
...
@@ -721,7 +721,7 @@ _outVar(StringInfo str, Var *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
VAR
"
);
appendStringInfo
(
str
,
"
VAR
"
);
sprintf
(
buf
,
" :varno %d "
,
node
->
varno
);
appendStringInfo
(
str
,
buf
);
sprintf
(
buf
,
" :varattno %d "
,
node
->
varattno
);
...
...
@@ -746,7 +746,7 @@ _outConst(StringInfo str, Const *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
CONST
"
);
appendStringInfo
(
str
,
"
CONST
"
);
sprintf
(
buf
,
" :consttype %u "
,
node
->
consttype
);
appendStringInfo
(
str
,
buf
);
sprintf
(
buf
,
" :constlen %d "
,
node
->
constlen
);
...
...
@@ -774,7 +774,7 @@ _outAggreg(StringInfo str, Aggreg *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
AGGREG
"
);
appendStringInfo
(
str
,
"
AGGREG
"
);
appendStringInfo
(
str
,
" :aggname "
);
appendStringInfo
(
str
,
(
char
*
)
node
->
aggname
);
sprintf
(
buf
,
" :basetype %u "
,
node
->
basetype
);
...
...
@@ -797,7 +797,7 @@ _outSubLink(StringInfo str, SubLink *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
SUBLINK
"
);
appendStringInfo
(
str
,
"
SUBLINK
"
);
sprintf
(
buf
,
" :subLinkType %d "
,
node
->
subLinkType
);
appendStringInfo
(
str
,
buf
);
appendStringInfo
(
str
,
" :useor "
);
...
...
@@ -819,7 +819,7 @@ _outArray(StringInfo str, Array *node)
char
buf
[
500
];
int
i
;
appendStringInfo
(
str
,
"
ARRAY
"
);
appendStringInfo
(
str
,
"
ARRAY
"
);
sprintf
(
buf
,
" :arrayelemtype %u "
,
node
->
arrayelemtype
);
appendStringInfo
(
str
,
buf
);
sprintf
(
buf
,
" :arrayelemlength %d "
,
node
->
arrayelemlength
);
...
...
@@ -852,7 +852,7 @@ _outArrayRef(StringInfo str, ArrayRef *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
ARRAYREF
"
);
appendStringInfo
(
str
,
"
ARRAYREF
"
);
sprintf
(
buf
,
" :refelemtype %u "
,
node
->
refelemtype
);
appendStringInfo
(
str
,
buf
);
sprintf
(
buf
,
" :refattrlength %d "
,
node
->
refattrlength
);
...
...
@@ -883,7 +883,7 @@ _outFunc(StringInfo str, Func *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
FUNC
"
);
appendStringInfo
(
str
,
"
FUNC
"
);
sprintf
(
buf
,
" :funcid %u "
,
node
->
funcid
);
appendStringInfo
(
str
,
buf
);
sprintf
(
buf
,
" :functype %u "
,
node
->
functype
);
...
...
@@ -910,7 +910,7 @@ _outOper(StringInfo str, Oper *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
OPER
"
);
appendStringInfo
(
str
,
"
OPER
"
);
sprintf
(
buf
,
" :opno %u "
,
node
->
opno
);
appendStringInfo
(
str
,
buf
);
sprintf
(
buf
,
" :opid %u "
,
node
->
opid
);
...
...
@@ -928,7 +928,7 @@ _outParam(StringInfo str, Param *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
PARAM
"
);
appendStringInfo
(
str
,
"
PARAM
"
);
sprintf
(
buf
,
" :paramkind %d "
,
node
->
paramkind
);
appendStringInfo
(
str
,
buf
);
sprintf
(
buf
,
" :paramid %d "
,
node
->
paramid
);
...
...
@@ -954,7 +954,7 @@ _outEState(StringInfo str, EState *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
ESTATE
"
);
appendStringInfo
(
str
,
"
ESTATE
"
);
sprintf
(
buf
,
" :direction %d "
,
node
->
es_direction
);
appendStringInfo
(
str
,
buf
);
...
...
@@ -975,7 +975,7 @@ _outRel(StringInfo str, Rel *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
REL
"
);
appendStringInfo
(
str
,
"
REL
"
);
appendStringInfo
(
str
,
" :relids "
);
_outIntList
(
str
,
node
->
relids
);
...
...
@@ -1039,7 +1039,7 @@ _outRel(StringInfo str, Rel *node)
static
void
_outTargetEntry
(
StringInfo
str
,
TargetEntry
*
node
)
{
appendStringInfo
(
str
,
"
TLE
"
);
appendStringInfo
(
str
,
"
TLE
"
);
appendStringInfo
(
str
,
" :resdom "
);
_outNode
(
str
,
node
->
resdom
);
...
...
@@ -1052,7 +1052,7 @@ _outRangeTblEntry(StringInfo str, RangeTblEntry *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
RTE
"
);
appendStringInfo
(
str
,
"
RTE
"
);
appendStringInfo
(
str
,
" :relname "
);
appendStringInfo
(
str
,
node
->
relname
);
...
...
@@ -1082,7 +1082,7 @@ _outPath(StringInfo str, Path *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
PATH
"
);
appendStringInfo
(
str
,
"
PATH
"
);
sprintf
(
buf
,
" :pathtype %d "
,
node
->
pathtype
);
appendStringInfo
(
str
,
buf
);
...
...
@@ -1103,7 +1103,7 @@ _outIndexPath(StringInfo str, IndexPath *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
INDEXPATH
"
);
appendStringInfo
(
str
,
"
INDEXPATH
"
);
sprintf
(
buf
,
" :pathtype %d "
,
node
->
path
.
pathtype
);
appendStringInfo
(
str
,
buf
);
...
...
@@ -1139,7 +1139,7 @@ _outJoinPath(StringInfo str, JoinPath *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
JOINPATH
"
);
appendStringInfo
(
str
,
"
JOINPATH
"
);
sprintf
(
buf
,
" :pathtype %d "
,
node
->
path
.
pathtype
);
appendStringInfo
(
str
,
buf
);
...
...
@@ -1188,7 +1188,7 @@ _outMergePath(StringInfo str, MergePath *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
MERGEPATH
"
);
appendStringInfo
(
str
,
"
MERGEPATH
"
);
sprintf
(
buf
,
" :pathtype %d "
,
node
->
jpath
.
path
.
pathtype
);
appendStringInfo
(
str
,
buf
);
...
...
@@ -1237,7 +1237,7 @@ _outHashPath(StringInfo str, HashPath *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
HASHPATH
"
);
appendStringInfo
(
str
,
"
HASHPATH
"
);
sprintf
(
buf
,
" :pathtype %d "
,
node
->
jpath
.
path
.
pathtype
);
appendStringInfo
(
str
,
buf
);
...
...
@@ -1286,7 +1286,7 @@ _outOrderKey(StringInfo str, OrderKey *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
ORDERKEY
"
);
appendStringInfo
(
str
,
"
ORDERKEY
"
);
sprintf
(
buf
,
" :attribute_number %d "
,
node
->
attribute_number
);
appendStringInfo
(
str
,
buf
);
sprintf
(
buf
,
" :array_index %d "
,
node
->
array_index
);
...
...
@@ -1300,7 +1300,7 @@ _outOrderKey(StringInfo str, OrderKey *node)
static
void
_outJoinKey
(
StringInfo
str
,
JoinKey
*
node
)
{
appendStringInfo
(
str
,
"
JOINKEY
"
);
appendStringInfo
(
str
,
"
JOINKEY
"
);
appendStringInfo
(
str
,
" :outer "
);
_outNode
(
str
,
node
->
outer
);
...
...
@@ -1318,7 +1318,7 @@ _outMergeOrder(StringInfo str, MergeOrder *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
MERGEORDER
"
);
appendStringInfo
(
str
,
"
MERGEORDER
"
);
sprintf
(
buf
,
" :join_operator %d "
,
node
->
join_operator
);
appendStringInfo
(
str
,
buf
);
...
...
@@ -1341,7 +1341,7 @@ _outCInfo(StringInfo str, CInfo *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
CINFO
"
);
appendStringInfo
(
str
,
"
CINFO
"
);
appendStringInfo
(
str
,
" :clause "
);
_outNode
(
str
,
node
->
clause
);
...
...
@@ -1368,7 +1368,7 @@ _outCInfo(StringInfo str, CInfo *node)
static
void
_outJoinMethod
(
StringInfo
str
,
JoinMethod
*
node
)
{
appendStringInfo
(
str
,
"
JOINMETHOD
"
);
appendStringInfo
(
str
,
"
JOINMETHOD
"
);
appendStringInfo
(
str
,
" :jmkeys "
);
_outNode
(
str
,
node
->
jmkeys
);
...
...
@@ -1387,7 +1387,7 @@ _outHInfo(StringInfo str, HInfo *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
HASHINFO
"
);
appendStringInfo
(
str
,
"
HASHINFO
"
);
appendStringInfo
(
str
,
" :hashop "
);
sprintf
(
buf
,
" %u "
,
node
->
hashop
);
...
...
@@ -1407,7 +1407,7 @@ _outHInfo(StringInfo str, HInfo *node)
static
void
_outJInfo
(
StringInfo
str
,
JInfo
*
node
)
{
appendStringInfo
(
str
,
"
JINFO
"
);
appendStringInfo
(
str
,
"
JINFO
"
);
appendStringInfo
(
str
,
" :otherrels "
);
_outIntList
(
str
,
node
->
otherrels
);
...
...
@@ -1492,7 +1492,7 @@ _outDatum(StringInfo str, Datum value, Oid type)
static
void
_outIter
(
StringInfo
str
,
Iter
*
node
)
{
appendStringInfo
(
str
,
"
ITER
"
);
appendStringInfo
(
str
,
"
ITER
"
);
appendStringInfo
(
str
,
" :iterexpr "
);
_outNode
(
str
,
node
->
iterexpr
);
...
...
@@ -1503,7 +1503,7 @@ _outStream(StringInfo str, Stream *node)
{
char
buf
[
500
];
appendStringInfo
(
str
,
"
STREAM
"
);
appendStringInfo
(
str
,
"
STREAM
"
);
sprintf
(
buf
,
" :pathptr @ 0x%x "
,
(
int
)
(
node
->
pathptr
));
appendStringInfo
(
str
,
buf
);
...
...
src/backend/nodes/readfuncs.c
浏览文件 @
4fcd0d63
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.2
8 1998/02/26 04:32:1
7 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.2
9 1998/04/27 02:58:0
7 momjian Exp $
*
* NOTES
* Most of the read functions for plan nodes are tested. (In fact, they
...
...
@@ -1978,188 +1978,187 @@ parsePlanString(void)
token
=
lsptok
(
NULL
,
&
length
);
if
(
!
strncmp
(
token
,
"PLAN"
,
4
))
if
(
!
strncmp
(
token
,
"PLAN"
,
length
))
{
return_value
=
_readPlan
();
}
else
if
(
!
strncmp
(
token
,
"RESULT"
,
6
))
else
if
(
!
strncmp
(
token
,
"RESULT"
,
length
))
{
return_value
=
_readResult
();
}
else
if
(
!
strncmp
(
token
,
"APPEND"
,
6
))
else
if
(
!
strncmp
(
token
,
"APPEND"
,
length
))
{
return_value
=
_readAppend
();
}
else
if
(
!
strncmp
(
token
,
"JOIN"
,
4
))
else
if
(
!
strncmp
(
token
,
"JOIN"
,
length
))
{
return_value
=
_readJoin
();
}
else
if
(
!
strncmp
(
token
,
"NESTLOOP"
,
8
))
else
if
(
!
strncmp
(
token
,
"NESTLOOP"
,
length
))
{
return_value
=
_readNestLoop
();
}
else
if
(
!
strncmp
(
token
,
"MERGEJOIN"
,
9
))
else
if
(
!
strncmp
(
token
,
"MERGEJOIN"
,
length
))
{
return_value
=
_readMergeJoin
();
}
else
if
(
!
strncmp
(
token
,
"HASHJOIN"
,
8
))
else
if
(
!
strncmp
(
token
,
"HASHJOIN"
,
length
))
{
return_value
=
_readHashJoin
();
}
else
if
(
!
strncmp
(
token
,
"SCAN"
,
4
))
else
if
(
!
strncmp
(
token
,
"SCAN"
,
length
))
{
return_value
=
_readScan
();
}
else
if
(
!
strncmp
(
token
,
"SEQSCAN"
,
7
))
else
if
(
!
strncmp
(
token
,
"SEQSCAN"
,
length
))
{
return_value
=
_readSeqScan
();
}
else
if
(
!
strncmp
(
token
,
"INDEXSCAN"
,
9
))
else
if
(
!
strncmp
(
token
,
"INDEXSCAN"
,
length
))
{
return_value
=
_readIndexScan
();
}
else
if
(
!
strncmp
(
token
,
"TEMP"
,
4
))
else
if
(
!
strncmp
(
token
,
"TEMP"
,
length
))
{
return_value
=
_readTemp
();
}
else
if
(
!
strncmp
(
token
,
"SORT"
,
4
))
else
if
(
!
strncmp
(
token
,
"SORT"
,
length
))
{
return_value
=
_readSort
();
}
else
if
(
!
strncmp
(
token
,
"AGGREG"
,
6
))
else
if
(
!
strncmp
(
token
,
"AGGREG"
,
length
))
{
return_value
=
_readAggreg
();
}
else
if
(
!
strncmp
(
token
,
"SUBLINK"
,
6
))
else
if
(
!
strncmp
(
token
,
"SUBLINK"
,
length
))
{
return_value
=
_readSubLink
();
}
else
if
(
!
strncmp
(
token
,
"AGG"
,
3
))
else
if
(
!
strncmp
(
token
,
"AGG"
,
length
))
{
return_value
=
_readAgg
();
}
else
if
(
!
strncmp
(
token
,
"UNIQUE"
,
4
))
else
if
(
!
strncmp
(
token
,
"UNIQUE"
,
length
))
{
return_value
=
_readUnique
();
}
else
if
(
!
strncmp
(
token
,
"HASH"
,
4
))
else
if
(
!
strncmp
(
token
,
"HASH"
,
length
))
{
return_value
=
_readHash
();
}
else
if
(
!
strncmp
(
token
,
"RESDOM"
,
6
))
else
if
(
!
strncmp
(
token
,
"RESDOM"
,
length
))
{
return_value
=
_readResdom
();
}
else
if
(
!
strncmp
(
token
,
"EXPR"
,
4
))
else
if
(
!
strncmp
(
token
,
"EXPR"
,
length
))
{
return_value
=
_readExpr
();
}
else
if
(
!
strncmp
(
token
,
"ARRAYREF"
,
7
))
else
if
(
!
strncmp
(
token
,
"ARRAYREF"
,
length
))
{
/* make sure this strncmp is done before that of ARRAY */
return_value
=
_readArrayRef
();
}
else
if
(
!
strncmp
(
token
,
"ARRAY"
,
5
))
else
if
(
!
strncmp
(
token
,
"ARRAY"
,
length
))
{
return_value
=
_readArray
();
}
else
if
(
!
strncmp
(
token
,
"VAR"
,
3
))
else
if
(
!
strncmp
(
token
,
"VAR"
,
length
))
{
return_value
=
_readVar
();
}
else
if
(
!
strncmp
(
token
,
"CONST"
,
5
))
else
if
(
!
strncmp
(
token
,
"CONST"
,
length
))
{
return_value
=
_readConst
();
}
else
if
(
!
strncmp
(
token
,
"FUNC"
,
4
))
else
if
(
!
strncmp
(
token
,
"FUNC"
,
length
))
{
return_value
=
_readFunc
();
}
else
if
(
!
strncmp
(
token
,
"OPER"
,
4
))
else
if
(
!
strncmp
(
token
,
"OPER"
,
length
))
{
return_value
=
_readOper
();
}
else
if
(
!
strncmp
(
token
,
"PARAM"
,
5
))
else
if
(
!
strncmp
(
token
,
"PARAM"
,
length
))
{
return_value
=
_readParam
();
}
else
if
(
!
strncmp
(
token
,
"ESTATE"
,
6
))
else
if
(
!
strncmp
(
token
,
"ESTATE"
,
length
))
{
return_value
=
_readEState
();
}
else
if
(
!
strncmp
(
token
,
"REL"
,
3
))
else
if
(
!
strncmp
(
token
,
"REL"
,
length
))
{
return_value
=
_readRel
();
}
else
if
(
!
strncmp
(
token
,
"TLE"
,
3
))
else
if
(
!
strncmp
(
token
,
"TLE"
,
length
))
{
return_value
=
_readTargetEntry
();
}
else
if
(
!
strncmp
(
token
,
"RTE"
,
3
))
else
if
(
!
strncmp
(
token
,
"RTE"
,
length
))
{
return_value
=
_readRangeTblEntry
();
}
else
if
(
!
strncmp
(
token
,
"PATH"
,
4
))
else
if
(
!
strncmp
(
token
,
"PATH"
,
length
))
{
return_value
=
_readPath
();
}
else
if
(
!
strncmp
(
token
,
"INDEXPATH"
,
9
))
else
if
(
!
strncmp
(
token
,
"INDEXPATH"
,
length
))
{
return_value
=
_readIndexPath
();
}
else
if
(
!
strncmp
(
token
,
"JOINPATH"
,
8
))
else
if
(
!
strncmp
(
token
,
"JOINPATH"
,
length
))
{
return_value
=
_readJoinPath
();
}
else
if
(
!
strncmp
(
token
,
"MERGEPATH"
,
9
))
else
if
(
!
strncmp
(
token
,
"MERGEPATH"
,
length
))
{
return_value
=
_readMergePath
();
}
else
if
(
!
strncmp
(
token
,
"HASHPATH"
,
8
))
else
if
(
!
strncmp
(
token
,
"HASHPATH"
,
length
))
{
return_value
=
_readHashPath
();
}
else
if
(
!
strncmp
(
token
,
"ORDERKEY"
,
8
))
else
if
(
!
strncmp
(
token
,
"ORDERKEY"
,
length
))
{
return_value
=
_readOrderKey
();
}
else
if
(
!
strncmp
(
token
,
"JOINKEY"
,
7
))
else
if
(
!
strncmp
(
token
,
"JOINKEY"
,
length
))
{
return_value
=
_readJoinKey
();
}
else
if
(
!
strncmp
(
token
,
"MERGEORDER"
,
10
))
else
if
(
!
strncmp
(
token
,
"MERGEORDER"
,
length
))
{
return_value
=
_readMergeOrder
();
}
else
if
(
!
strncmp
(
token
,
"CINFO"
,
5
))
else
if
(
!
strncmp
(
token
,
"CINFO"
,
length
))
{
return_value
=
_readCInfo
();
}
else
if
(
!
strncmp
(
token
,
"JOINMETHOD"
,
10
))
else
if
(
!
strncmp
(
token
,
"JOINMETHOD"
,
length
))
{
return_value
=
_readJoinMethod
();
}
else
if
(
!
strncmp
(
token
,
"JINFO"
,
5
))
else
if
(
!
strncmp
(
token
,
"JINFO"
,
length
))
{
return_value
=
_readJInfo
();
}
else
if
(
!
strncmp
(
token
,
"HINFO"
,
5
))
else
if
(
!
strncmp
(
token
,
"HINFO"
,
length
))
{
return_value
=
_readHInfo
();
}
else
if
(
!
strncmp
(
token
,
"ITER"
,
4
))
else
if
(
!
strncmp
(
token
,
"ITER"
,
length
))
{
return_value
=
_readIter
();
}
else
if
(
!
strncmp
(
token
,
"QUERY"
,
5
))
else
if
(
!
strncmp
(
token
,
"QUERY"
,
length
))
{
return_value
=
_readQuery
();
}
else
if
(
!
strncmp
(
token
,
"SORTCLAUSE"
,
10
))
else
if
(
!
strncmp
(
token
,
"SORTCLAUSE"
,
length
))
{
return_value
=
_readSortClause
();
}
else
if
(
!
strncmp
(
token
,
"GROUPCLAUSE"
,
10
))
else
if
(
!
strncmp
(
token
,
"GROUPCLAUSE"
,
length
))
{
return_value
=
_readGroupClause
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录