From: Don Baccus <dhogaza@pacifier.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Peter Eisentraut <peter_e@gmx.net>
Cc: PostgreSQL Development <pgsql-hackers@postgresql.org>
Subject: Re: Join syntax and join orde
Date: Wed, 07 Aug 2002 05:30:00 -0700
Message-ID: <3D5112C8.7070607@pacifier.com> (raw)
References: <Pine.LNX.4.44.0208062222550.927-100000@localhost.localdomain>
<12324.1028692551@sss.pgh.pa.us>
Tom Lane wrote:
> Peter Eisentraut <peter_e@gmx.net> writes:
>
>>Can we make the fact that the "explicit" inner join syntax also controls
>>the join order optional?
>
>
> I'm certainly not wedded to it, but what's the implementation plan,
> and how will you make the control available to them that needs it?
How do you do it now with the non-standard syntax? You can get some
control by use of subselects. In Oracle we use this trick in some cases
because it has the nasty habit of applying PL/SQL functions to all rows
of a relationship *before* qualification.
The problem with the current situtation is that someone who writes a
standard SQL92 query mixing inner and outer joins gets the benefit of
optimizer decisions in Oracle 9i and other commercial databases that
supports the syntax, but not PostgreSQL.
For those of us who write applications designed to work on multiple
RDBMSs this poses something of a problem. In our case not much of a
current one because we still support Oracle 8i which doesn't have SQL92
join syntax, so we're forced to write different outer join queries for
it and PG anyway. But eventually we'll drop Oracle 8i support and look
to share queries, at least for new code.
--
Don Baccus
Portland, OR
http://donb.photo.net, http://birdnotes.net, http://openacs.org
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: dhogaza@pacifier.com, tgl@sss.pgh.pa.us, peter_e@gmx.net
Subject: Re: Join syntax and join orde
In-Reply-To: <3D5112C8.7070607@pacifier.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox