diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2007-02-19 02:23:12 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2007-02-19 02:23:12 +0000 |
commit | b8c326779246d6554a0868270639714cc4989a0e (patch) | |
tree | 886a2bb16966a9c3ef9e29a2a8767a98f46fa0dd /src/backend/nodes/outfuncs.c | |
parent | f1f2b2711a4c91064a5e64def9816c11f1bd4276 (diff) |
Put function expressions and values lists into FunctionScan and ValuesScan
plan nodes, so that the executor does not need to get these items from
the range table at runtime. This will avoid needing to include these
fields in the compact range table I'm expecting to make the executor use.
Diffstat (limited to 'src/backend/nodes/outfuncs.c')
-rw-r--r-- | src/backend/nodes/outfuncs.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index d3f18c1ce73..a173cf59dff 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.297 2007/02/12 17:19:30 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/nodes/outfuncs.c,v 1.298 2007/02/19 02:23:12 tgl Exp $ * * NOTES * Every node type that can appear in stored rules' parsetrees *must* @@ -408,6 +408,11 @@ _outFunctionScan(StringInfo str, FunctionScan *node) WRITE_NODE_TYPE("FUNCTIONSCAN"); _outScanInfo(str, (Scan *) node); + + WRITE_NODE_FIELD(funcexpr); + WRITE_NODE_FIELD(funccolnames); + WRITE_NODE_FIELD(funccoltypes); + WRITE_NODE_FIELD(funccoltypmods); } static void @@ -416,6 +421,8 @@ _outValuesScan(StringInfo str, ValuesScan *node) WRITE_NODE_TYPE("VALUESSCAN"); _outScanInfo(str, (Scan *) node); + + WRITE_NODE_FIELD(values_lists); } static void |