diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-01-10 21:08:15 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-01-10 21:08:15 +0000 |
commit | e69785debfcca308a5999946bbf4cfefd0ab5e3c (patch) | |
tree | 067093f426b8034288590a71f538650b3c53d485 /src/backend/nodes/outfuncs.c | |
parent | 36ea26793a14d016059de2f1c83a05cf87a8bb92 (diff) | |
download | postgresql-e69785debfcca308a5999946bbf4cfefd0ab5e3c.tar.gz postgresql-e69785debfcca308a5999946bbf4cfefd0ab5e3c.zip |
Further tweaking of parsetree & plantree representation of SubLinks.
Simplify SubLink by storing just a List of operator OIDs, instead of
a list of incomplete OpExprs --- that was a bizarre and bulky choice,
with no redeeming social value since we have to build new OpExprs
anyway when forming the plan tree.
Diffstat (limited to 'src/backend/nodes/outfuncs.c')
-rw-r--r-- | src/backend/nodes/outfuncs.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 204c00ad674..e7d8fa71ed7 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.191 2003/01/09 20:50:50 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.192 2003/01/10 21:08:11 tgl Exp $ * * NOTES * Every node type that can appear in stored rules' parsetrees *must* @@ -658,10 +658,10 @@ _outSubLink(StringInfo str, SubLink *node) WRITE_NODE_TYPE("SUBLINK"); WRITE_ENUM_FIELD(subLinkType, SubLinkType); - WRITE_BOOL_FIELD(operIsEquals); WRITE_BOOL_FIELD(useOr); WRITE_NODE_FIELD(lefthand); - WRITE_NODE_FIELD(oper); + WRITE_NODE_FIELD(operName); + WRITE_INTLIST_FIELD(operOids); WRITE_NODE_FIELD(subselect); } @@ -672,10 +672,13 @@ _outSubPlan(StringInfo str, SubPlan *node) WRITE_ENUM_FIELD(subLinkType, SubLinkType); WRITE_BOOL_FIELD(useOr); - WRITE_NODE_FIELD(oper); + WRITE_NODE_FIELD(exprs); + WRITE_INTLIST_FIELD(paramIds); WRITE_NODE_FIELD(plan); WRITE_INT_FIELD(plan_id); WRITE_NODE_FIELD(rtable); + WRITE_BOOL_FIELD(useHashTable); + WRITE_BOOL_FIELD(unknownEqFalse); WRITE_INTLIST_FIELD(setParam); WRITE_INTLIST_FIELD(parParam); WRITE_NODE_FIELD(args); |