diff options
Diffstat (limited to 'src/backend/nodes/outfuncs.c')
| -rw-r--r-- | src/backend/nodes/outfuncs.c | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 4728117be2..13c824389e 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/nodes/outfuncs.c,v 1.333 2008/08/07 19:35:02 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/nodes/outfuncs.c,v 1.334 2008/08/14 18:47:58 tgl Exp $ * * NOTES * Every node type that can appear in stored rules' parsetrees *must* @@ -1267,6 +1267,8 @@ _outUniquePath(StringInfo str, UniquePath *node) WRITE_NODE_FIELD(subpath); WRITE_ENUM_FIELD(umethod, UniquePathMethod); + WRITE_NODE_FIELD(in_operators); + WRITE_NODE_FIELD(uniq_exprs); WRITE_FLOAT_FIELD(rows, "%.0f"); } @@ -1332,8 +1334,7 @@ _outPlannerInfo(StringInfo str, PlannerInfo *node) WRITE_NODE_FIELD(left_join_clauses); WRITE_NODE_FIELD(right_join_clauses); WRITE_NODE_FIELD(full_join_clauses); - WRITE_NODE_FIELD(oj_info_list); - WRITE_NODE_FIELD(in_info_list); + WRITE_NODE_FIELD(join_info_list); WRITE_NODE_FIELD(append_rel_list); WRITE_NODE_FIELD(query_pathkeys); WRITE_NODE_FIELD(group_pathkeys); @@ -1342,7 +1343,6 @@ _outPlannerInfo(StringInfo str, PlannerInfo *node) WRITE_FLOAT_FIELD(total_table_pages, "%.0f"); WRITE_FLOAT_FIELD(tuple_fraction, "%.4f"); WRITE_BOOL_FIELD(hasJoinRTEs); - WRITE_BOOL_FIELD(hasOuterJoins); WRITE_BOOL_FIELD(hasHavingQual); WRITE_BOOL_FIELD(hasPseudoConstantQuals); } @@ -1479,28 +1479,29 @@ _outInnerIndexscanInfo(StringInfo str, InnerIndexscanInfo *node) } static void -_outOuterJoinInfo(StringInfo str, OuterJoinInfo *node) +_outFlattenedSubLink(StringInfo str, FlattenedSubLink *node) +{ + WRITE_NODE_TYPE("FLATTENEDSUBLINK"); + + WRITE_ENUM_FIELD(jointype, JoinType); + WRITE_BITMAPSET_FIELD(lefthand); + WRITE_BITMAPSET_FIELD(righthand); + WRITE_NODE_FIELD(quals); +} + +static void +_outSpecialJoinInfo(StringInfo str, SpecialJoinInfo *node) { - WRITE_NODE_TYPE("OUTERJOININFO"); + WRITE_NODE_TYPE("SPECIALJOININFO"); WRITE_BITMAPSET_FIELD(min_lefthand); WRITE_BITMAPSET_FIELD(min_righthand); WRITE_BITMAPSET_FIELD(syn_lefthand); WRITE_BITMAPSET_FIELD(syn_righthand); - WRITE_BOOL_FIELD(is_full_join); + WRITE_ENUM_FIELD(jointype, JoinType); WRITE_BOOL_FIELD(lhs_strict); WRITE_BOOL_FIELD(delay_upper_joins); -} - -static void -_outInClauseInfo(StringInfo str, InClauseInfo *node) -{ - WRITE_NODE_TYPE("INCLAUSEINFO"); - - WRITE_BITMAPSET_FIELD(lefthand); - WRITE_BITMAPSET_FIELD(righthand); - WRITE_NODE_FIELD(sub_targetlist); - WRITE_NODE_FIELD(in_operators); + WRITE_NODE_FIELD(join_quals); } static void @@ -2352,11 +2353,11 @@ _outNode(StringInfo str, void *obj) case T_InnerIndexscanInfo: _outInnerIndexscanInfo(str, obj); break; - case T_OuterJoinInfo: - _outOuterJoinInfo(str, obj); + case T_FlattenedSubLink: + _outFlattenedSubLink(str, obj); break; - case T_InClauseInfo: - _outInClauseInfo(str, obj); + case T_SpecialJoinInfo: + _outSpecialJoinInfo(str, obj); break; case T_AppendRelInfo: _outAppendRelInfo(str, obj); |
