aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeNestloop.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2003-01-27 20:51:54 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2003-01-27 20:51:54 +0000
commit70fba70430bd42b1a31c6d49646f9d1991eb8e7c (patch)
tree865c11bc1262e1fd48067f9b897abf2a50653ddf /src/backend/executor/nodeNestloop.c
parentb2773d4099d2dbccc4d23165a093581090c49451 (diff)
downloadpostgresql-70fba70430bd42b1a31c6d49646f9d1991eb8e7c.tar.gz
postgresql-70fba70430bd42b1a31c6d49646f9d1991eb8e7c.zip
Upgrade cost estimation for joins, per discussion with Bradley Baetz.
Try to model the effect of rescanning input tuples in mergejoins; account for JOIN_IN short-circuiting where appropriate. Also, recognize that mergejoin and hashjoin clauses may now be more than single operator calls, so we have to charge appropriate execution costs.
Diffstat (limited to 'src/backend/executor/nodeNestloop.c')
-rw-r--r--src/backend/executor/nodeNestloop.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/backend/executor/nodeNestloop.c b/src/backend/executor/nodeNestloop.c
index 1bae9805898..8ccc0392057 100644
--- a/src/backend/executor/nodeNestloop.c
+++ b/src/backend/executor/nodeNestloop.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeNestloop.c,v 1.30 2003/01/20 18:54:46 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeNestloop.c,v 1.31 2003/01/27 20:51:48 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -254,6 +254,10 @@ ExecNestLoop(NestLoopState *node)
return result;
}
}
+
+ /* If we didn't return a tuple, may need to set NeedNewOuter */
+ if (node->js.jointype == JOIN_IN)
+ node->nl_NeedNewOuter = true;
}
/*