From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Bruce Momjian <bruce(at)momjian(dot)us> |
Cc: | Jean-Michel Pouré <jm(at)poure(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: DELETE syntax on JOINS |
Date: | 2009-08-24 16:14:56 |
Message-ID: | 20090824161456.GD5962@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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?).
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2009-08-24 16:19:28 | Re: compilation with libeditpreferred is broken |
Previous Message | David Fetter | 2009-08-24 16:12:07 | Bug in date arithmetic |