diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2001-11-12 17:18:06 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2001-11-12 17:18:06 +0000 |
commit | 611afd9f4b3536b15912ead6cea5db88ea4fad35 (patch) | |
tree | 3be503e746e9e36b88b4f9b37e28a01fd5c47a70 | |
parent | 0f214edeb137c6edd27b87f21e40f82a7ce2fd1c (diff) | |
download | postgresql-611afd9f4b3536b15912ead6cea5db88ea4fad35.tar.gz postgresql-611afd9f4b3536b15912ead6cea5db88ea4fad35.zip |
Repair crash in EvalPlanQual of query involving nestloop with inner
index scan. Problem was that link to outer tuple wasn't being stored
everyplace it needed to be.
-rw-r--r-- | src/backend/executor/nodeIndexscan.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/backend/executor/nodeIndexscan.c b/src/backend/executor/nodeIndexscan.c index 318ebc6f6c9..5afee29f527 100644 --- a/src/backend/executor/nodeIndexscan.c +++ b/src/backend/executor/nodeIndexscan.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/nodeIndexscan.c,v 1.64 2001/10/28 06:25:43 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/nodeIndexscan.c,v 1.65 2001/11/12 17:18:06 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -339,10 +339,17 @@ ExecIndexReScan(IndexScan *node, ExprContext *exprCtxt, Plan *parent) { /* * If we are being passed an outer tuple, save it for runtime key - * calc + * calc. We also need to link it into the "regular" per-tuple + * econtext, so it can be used during indexqualorig evaluations. */ if (exprCtxt != NULL) + { + ExprContext *stdecontext; + econtext->ecxt_outertuple = exprCtxt->ecxt_outertuple; + stdecontext = node->scan.scanstate->cstate.cs_ExprContext; + stdecontext->ecxt_outertuple = exprCtxt->ecxt_outertuple; + } /* * Reset the runtime-key context so we don't leak memory as each |