aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/path/allpaths.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2008-03-24 21:53:12 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2008-03-24 21:53:12 +0000
commit6644be6ece53df7b3c71cc65c7c3d406bdf5a95a (patch)
tree58ec2d2a5e9bb5d2ba6c08d6dd7320857579456f /src/backend/optimizer/path/allpaths.c
parent63995f01edcf0101ea2efa751fb999cb6f5d853f (diff)
downloadpostgresql-6644be6ece53df7b3c71cc65c7c3d406bdf5a95a.tar.gz
postgresql-6644be6ece53df7b3c71cc65c7c3d406bdf5a95a.zip
When a relation has been proven empty by constraint exclusion, propagate that
knowledge up through any joins it participates in. We were doing that already in some special cases but not in the general case. Also, defend against zero row estimates for the input relations in cost_mergejoin --- this fix may have eliminated the only scenario in which that can happen, but be safe. Per report from Alex Solovey.
Diffstat (limited to 'src/backend/optimizer/path/allpaths.c')
-rw-r--r--src/backend/optimizer/path/allpaths.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c
index ef0b25bf5e2..91725db98cb 100644
--- a/src/backend/optimizer/path/allpaths.c
+++ b/src/backend/optimizer/path/allpaths.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/optimizer/path/allpaths.c,v 1.168 2008/01/11 04:02:18 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/optimizer/path/allpaths.c,v 1.168.2.1 2008/03/24 21:53:12 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -428,7 +428,7 @@ set_append_rel_pathlist(PlannerInfo *root, RelOptInfo *rel,
* Build a dummy path for a relation that's been excluded by constraints
*
* Rather than inventing a special "dummy" path type, we represent this as an
- * AppendPath with no members.
+ * AppendPath with no members (see also IS_DUMMY_PATH macro).
*/
static void
set_dummy_rel_pathlist(RelOptInfo *rel)