diff options
author | Vadim B. Mikheev <vadim4o@yahoo.com> | 1998-02-13 03:26:53 +0000 |
---|---|---|
committer | Vadim B. Mikheev <vadim4o@yahoo.com> | 1998-02-13 03:26:53 +0000 |
commit | 1a105cefbd4769a1ef857f94a71faed6cb76717b (patch) | |
tree | 2c9b0cf10965e5e1d31106451552aad0c7c7e18d /src/backend/executor/nodeHash.c | |
parent | 13637df458b1d5a4f773bd17d3b894d9ff27197b (diff) | |
download | postgresql-1a105cefbd4769a1ef857f94a71faed6cb76717b.tar.gz postgresql-1a105cefbd4769a1ef857f94a71faed6cb76717b.zip |
Support for subselects.
ExecReScan for nodeAgg, nodeHash, nodeHashjoin, nodeNestloop and nodeResult.
Fixed ExecReScan for nodeMaterial.
Get rid of #ifdef INDEXSCAN_PATCH.
Get rid of ExecMarkPos and ExecRestrPos in nodeNestloop.
Diffstat (limited to 'src/backend/executor/nodeHash.c')
-rw-r--r-- | src/backend/executor/nodeHash.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/backend/executor/nodeHash.c b/src/backend/executor/nodeHash.c index 031d718250d..5ebf508c0c0 100644 --- a/src/backend/executor/nodeHash.c +++ b/src/backend/executor/nodeHash.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/nodeHash.c,v 1.18 1998/02/11 19:10:28 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/nodeHash.c,v 1.19 1998/02/13 03:26:46 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -890,3 +890,23 @@ mk_hj_temp(char *tempname) sprintf(tempname, "HJ%d.%d", (int) MyProcPid, hjtmpcnt); hjtmpcnt = (hjtmpcnt + 1) % 1000; } + +void +ExecReScanHash(Hash *node, ExprContext *exprCtxt, Plan *parent) +{ + HashState *hashstate = node->hashstate; + + if (hashstate->hashBatches != NULL) + { + pfree(hashstate->hashBatches); + hashstate->hashBatches = NULL; + } + + /* + * if chgParam of subnode is not null then plan + * will be re-scanned by first ExecProcNode. + */ + if (((Plan*) node)->lefttree->chgParam == NULL) + ExecReScan (((Plan*) node)->lefttree, exprCtxt, (Plan *) node); + +} |