From: | Euler Taveira de Oliveira <eulerto(at)yahoo(dot)com(dot)br> |
---|---|
To: | Neil Conway <neilc(at)samurai(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>, eulerto(at)yahoo(dot)com(dot)br |
Subject: | Re: DELETE ... USING |
Date: | 2005-04-05 02:15:04 |
Message-ID: | 20050405021504.57497.qmail@web54607.mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
Hi Neil,
> > BTW, this patch is lacking ruleutils.c support. Put a DELETE USING
> > into a rule and see whether pg_dump will dump the rule correctly
> ...
>
> Good catch; a revised patch is attached.
>
Greate job. But I'm worried about add_missing_from enabled. See:
euler=# delete from t3 using t1 where b > 500;
DELETE 4
euler=# select * from t3;
x | y
---+---
(0 rows)
In this case, I 'forget' to do the join and it delete all rows from t3.
I know that user needs to pay attention, but ... What about default
add_missing_from to off?
The other case is:
euler=# select * from t1 where t1.a = t3.x;
NOTICE: adding missing FROM-clause entry for table "t3"
NOTICE: adding missing FROM-clause entry for table "t3"
a | b
---+----
5 | 10
(1 row)
euler=# delete from t1 where t1.a = t3.x;
DELETE 1
euler=#
I think we need at least a NOTICE here. Of course it could be extended
to UPDATE too.
BTW, what about regression tests for UPDATE ... FROM?
PS> all examples are extracted from regression database.
Euler Taveira de Oliveira
euler[at]yahoo_com_br
Yahoo! Acesso Grátis - Internet rápida e grátis.
Instale o discador agora! http://br.acesso.yahoo.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Sabino Mullane | 2005-04-05 02:46:18 | Re: [GENERAL] plPHP in core? |
Previous Message | Tom Lane | 2005-04-05 02:06:12 | Re: [HACKERS] plPHP in core? |
From | Date | Subject | |
---|---|---|---|
Next Message | Neil Conway | 2005-04-05 02:49:19 | Re: DELETE ... USING |
Previous Message | Tom Lane | 2005-04-05 02:04:06 | Re: avg(int2) and avg(int8) micro-opt |