Skip to content
Snippets Groups Projects
Commit 9be7ea08 authored by Tom Lane's avatar Tom Lane
Browse files

Remove unneeded indxqual field in IndexScanState, and the useless work

spent initializing it during indexscan startup.
parent 303f4649
No related branches found
No related tags found
No related merge requests found
......@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/executor/nodeIndexscan.c,v 1.91 2004/02/03 17:34:02 tgl Exp $
* $PostgreSQL: pgsql/src/backend/executor/nodeIndexscan.c,v 1.92 2004/02/28 19:46:05 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -669,6 +669,12 @@ ExecInitIndexScan(IndexScan *node, EState *estate)
/*
* initialize child expressions
*
* Note: we don't initialize all of the indxqual expression, only the
* sub-parts corresponding to runtime keys (see below). The indxqualorig
* expression is always initialized even though it will only be used in
* some uncommon cases --- would be nice to improve that. (Problem is
* that any SubPlans present in the expression must be found now...)
*/
indexstate->ss.ps.targetlist = (List *)
ExecInitExpr((Expr *) node->scan.plan.targetlist,
......@@ -676,9 +682,6 @@ ExecInitIndexScan(IndexScan *node, EState *estate)
indexstate->ss.ps.qual = (List *)
ExecInitExpr((Expr *) node->scan.plan.qual,
(PlanState *) indexstate);
indexstate->indxqual = (List *)
ExecInitExpr((Expr *) node->indxqual,
(PlanState *) indexstate);
indexstate->indxqualorig = (List *)
ExecInitExpr((Expr *) node->indxqualorig,
(PlanState *) indexstate);
......
......@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/include/nodes/execnodes.h,v 1.111 2004/01/22 02:23:21 tgl Exp $
* $PostgreSQL: pgsql/src/include/nodes/execnodes.h,v 1.112 2004/02/28 19:46:06 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -765,8 +765,10 @@ typedef ScanState SeqScanState;
/* ----------------
* IndexScanState information
*
* indxqualorig execution state for indxqualorig expressions
* NumIndices number of indices in this scan
* IndexPtr current index in use
* MarkIndexPtr IndexPtr for marked scan point
* ScanKeys Skey structures to scan index rels
* NumScanKeys array of no of keys in each Skey struct
* RuntimeKeyInfo array of array of exprstates for Skeys
......@@ -783,7 +785,6 @@ typedef ScanState SeqScanState;
typedef struct IndexScanState
{
ScanState ss; /* its first field is NodeTag */
List *indxqual;
List *indxqualorig;
int iss_NumIndices;
int iss_IndexPtr;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment