From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | The Hermit Hacker <scrappy(at)hub(dot)org>, pgsql-sql(at)postgresql(dot)org |
Subject: | Re: [SQL] More efficient DELETE ... ? |
Date: | 2000-01-22 19:37:39 |
Message-ID: | 200001221937.OAA25487@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
> The Hermit Hacker <scrappy(at)hub(dot)org> writes:
> > This looks painful ...
>
> > DELETE FROM webhit_referer_raw
> > WHERE oid IN ( SELECT w.oid
> > FROM webhit_referer_raw w, referrer_data r
> > WHERE stat_date < 'Jan 17 2000 15:05:00'
> > AND w.referrer_url = r.referrer );
>
> I believe you can do
>
> DELETE FROM webhit_referer_raw
> WHERE referrer_url = referrer_data.referrer
> AND referrer_data.stat_date < 'Jan 17 2000 15:05:00';
>
> (I assume stat_date is in referrer_data, otherwise this'd be easy.)
>
> This is an example where Postgres' willingness to create implicit FROM
> clause entries is a win ... AFAIK you couldn't do it in standard SQL,
> since for some reason DELETE doesn't take a FROM clause.
Good point. I had forgotten all about that.
Should I cover that in my book?
What about the NOTICE we were going to add when this happens. You will
see a WARN_FROM define in parser/*.c. I had to disable the message
because the regression tests were failing. They have to be regenerated
after I do this, but I can't do that here. Do people still want the
message? Can someone regenerate the regression output after I am done?
In fact, someone can just remove the #ifdef WARN_FROM defines around the
code and regenerate the regression tests and all will stay in sync.
--
Bruce Momjian | http://www.op.net/~candle
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | gav | 2000-01-22 21:15:52 | how many inserts in one transaction? |
Previous Message | Web Manager | 2000-01-22 18:28:10 | Repost: restore from dump problem - query buffer full |