Tom Lane wrote:
> Kevin Brown <kevin@sysexperts.com> writes:
> > Tom Lane wrote:
> >> ... Whether this is a bug or a feature depends on
> >> your point of view --- but there are folks out there who find it to be
> >> a life-saver.
>
> > Since it *does* depend on one's point of view, would it be possible to
> > have control over this implemented in a session-defined variable (with
> > the default in the GUC, of course)?
>
> I have no objection to doing that --- anyone care to contribute code to
> make it happen? (I think the trick would be to fold plain-JOIN jointree
> entries into FROM-list items in planner.c, somewhere near the code that
> hoists sub-SELECTs into the main join tree. But I haven't tried it, and
> have no time to in the near future.)
I'm looking at the code now (the 7.2.3 code in particular, but I
suspect for this purpose the code is likely to be very similar to the
CVS tip), but it's all completely new to me and the developer
documentation isn't very revealing of the internals. The optimizer
code (I've been looking especially at make_jointree_rel() and
make_fromexpr_rel()) looks a bit tricky...it'll take me some time to
completely wrap my brain around it. Any pointers to revealing
documentation would be quite helpful!
--
Kevin Brown kevin@sysexperts.com