mirror of
https://github.com/postgres/postgres.git
synced 2025-08-19 23:22:23 +03:00
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.
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/backend/executor/execAmi.c,v 1.91 2007/02/15 03:07:13 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/executor/execAmi.c,v 1.92 2007/02/19 02:23:11 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -444,13 +444,16 @@ ExecMayReturnRawTuples(PlanState *node)
|
||||
case T_IndexScanState:
|
||||
case T_BitmapHeapScanState:
|
||||
case T_TidScanState:
|
||||
case T_SubqueryScanState:
|
||||
case T_FunctionScanState:
|
||||
case T_ValuesScanState:
|
||||
if (node->ps_ProjInfo == NULL)
|
||||
return true;
|
||||
break;
|
||||
|
||||
case T_SubqueryScanState:
|
||||
/* If not projecting, look at input plan */
|
||||
if (node->ps_ProjInfo == NULL)
|
||||
return ExecMayReturnRawTuples(((SubqueryScanState *) node)->subplan);
|
||||
break;
|
||||
|
||||
/* Non-projecting nodes */
|
||||
case T_HashState:
|
||||
case T_MaterialState:
|
||||
|
Reference in New Issue
Block a user