diff options
Diffstat (limited to 'src/backend/executor/execAmi.c')
-rw-r--r-- | src/backend/executor/execAmi.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/backend/executor/execAmi.c b/src/backend/executor/execAmi.c index 68d0d54a53c..3b48a5cf18b 100644 --- a/src/backend/executor/execAmi.c +++ b/src/backend/executor/execAmi.c @@ -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: |