Alvaro Herrera wrote:
> Bruce Momjian wrote:
> > Alvaro Herrera wrote:
> > > Bruce Momjian wrote:
> > > 
> > > > > Ultimately, why not allow:
> > > > > 
> > > > > DELETE h, tn
> > > > > FROM history AS h 
> > > > > INNER JOIN term_node AS tn ON (h.nid = tn.nid) 
> > > > > INNER JOIN term_data AS td ON (td.tid = tn.tid) 
> > > > > WHERE h.uid = 2067 AND td.vid = 2
> > > > > 
> > > > > IMHO this would improve compliance towards other database systems. To 
> > > > > me
> > > > > this seems to be in the reasonable scope of compatibility.
> > > > 
> > > > Which "other database systems"?  Only MySQL?  If it is MySQL-only, we
> > > > are unlikely to add it.
> > > 
> > > The SQL standard does not support this syntax.  They would have you put
> > > the joins in a subselect (which is often not enough because then you
> > > can't use outer joins).
> > 
> > So the problem is that our DELETE ... USING does not allow ANSI join
> > syntax?  Can that be added?
> 
> Not sure about that.  USING is already an extension to the standard, so
> if we extend it a bit more, it can't be a problem, can it?  But this
> doesn't solve Jean Michel's problem, because MySQL does not support
> DELETE USING (or does it?).

Right, but if we support ANSI joins in the USING clause, at least we
would have a _functional_ equivalent, which we don't know because of
missing outer join support.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to