Re: WIP Join Removal

Heikki Linnakangas <[email protected]> Mon, 01 Sep 2008 22:23:19 +0300
Newsgroups gmane.comp.db.postgresql.devel.patches
Organization EnterpriseDB
Message-ID <[email protected]>
Simon Riggs wrote:
> Patch works, but there's a bit I haven't finished yet - checking unique
> indexes.

Did plan invalidation make it safe to rely on the presence of a unique 
index for planning decisions?

Couldn't we also do join removal for inner joins, when there's a foreign 
key reference that enforces that there's one and only one matching tuple 
in the removed table:

SELECT child.data FROM child, parent WHERE child.fkey = parent.pkey

?


> + 	/*
> + 	 * We can now remove join by pulling up child plan from the keeprel.
> + 	 * This needs to be done considering costs, since its possible for
> + 	 * a nested inner indexscan plan to be cheaper. So it isn't
> + 	 * always desirable to remove the join.

Can you elaborate that a bit? I can't imagine a case where we wouldn't 
want to remove a join, when we know we can.

-- 
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com

-- 
Sent via pgsql-patches mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches