From: | Greg Stark <gsstark(at)mit(dot)edu> |
---|---|
To: | Marko Tiikkaja <marko(dot)tiikkaja(at)cs(dot)helsinki(dot)fi> |
Cc: | PostgreSQL development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Writeable CTEs |
Date: | 2010-01-05 17:21:12 |
Message-ID: | 407d949e1001050921s20dbea72nee846c27da29bcaa@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Jan 5, 2010 at 4:42 PM, Marko Tiikkaja
<marko(dot)tiikkaja(at)cs(dot)helsinki(dot)fi> wrote:
> => with t as (delete from foo returning *)
> -> insert into bar
> -> select * from t;
> INSERT 0 2
>
> It correctly reports 2 affected rows (one deleted and one inserted), but is
> this the answer we want? It doesn't seem all that useful to know the total
> amount of affected rows.
My first thought is that the number should correspond to the INSERT.
It didn't INSERT two rows so it seems wrong. More importantly in a
case like
with t as (delete from foo returning *)
select * from t where x=?
applications will almost certainly expect the number to match the
actual number of rows returned and may well misbehave if they don't.
--
greg
From | Date | Subject | |
---|---|---|---|
Next Message | Stefan Kaltenbrunner | 2010-01-05 17:24:39 | Re: [COMMITTERS] pgsql: Get rid of the need for manual maintenance of the initial |
Previous Message | Michael Meskes | 2010-01-05 16:54:12 | Re: ECPG SQLDA support |