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

Prevent core dump when ExecMarkPos is called before any tuples have been

retrieved.  This cannot happen in ordinary execution, but it can happen
under EvalPlanQual().
parent 49077e87
No related branches found
No related tags found
No related merge requests found
......@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/nodeIndexscan.c,v 1.75 2002/12/15 16:17:46 tgl Exp $
* $Header: /cvsroot/pgsql/src/backend/executor/nodeIndexscan.c,v 1.76 2002/12/18 00:14:24 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -470,10 +470,13 @@ ExecIndexMarkPos(IndexScanState *node)
int indexPtr;
indexPtr = node->iss_MarkIndexPtr = node->iss_IndexPtr;
indexScanDescs = node->iss_ScanDescs;
scanDesc = indexScanDescs[indexPtr];
if (indexPtr >= 0 && indexPtr < node->iss_NumIndices)
{
indexScanDescs = node->iss_ScanDescs;
scanDesc = indexScanDescs[indexPtr];
index_markpos(scanDesc);
index_markpos(scanDesc);
}
}
/* ----------------------------------------------------------------
......@@ -482,8 +485,6 @@ ExecIndexMarkPos(IndexScanState *node)
* old comments
* Restores scan position by restoring the current index.
* Returns nothing.
*
* XXX Assumes previously marked scan position belongs to current index
* ----------------------------------------------------------------
*/
void
......@@ -494,10 +495,13 @@ ExecIndexRestrPos(IndexScanState *node)
int indexPtr;
indexPtr = node->iss_IndexPtr = node->iss_MarkIndexPtr;
indexScanDescs = node->iss_ScanDescs;
scanDesc = indexScanDescs[indexPtr];
if (indexPtr >= 0 && indexPtr < node->iss_NumIndices)
{
indexScanDescs = node->iss_ScanDescs;
scanDesc = indexScanDescs[indexPtr];
index_restrpos(scanDesc);
index_restrpos(scanDesc);
}
}
/* ----------------------------------------------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment