Re: Help with DELETE statement via ODBC - Mailing list pgsql-odbc

From Steve Lutz
Subject Re: Help with DELETE statement via ODBC
Date
Msg-id D774C5E2898B2A48A2C3BC83218E9E0835223A@kopmail.alacritude.com
Whole thread Raw
In response to Help with DELETE statement via ODBC  (Carlos Abalde <carlos@lfcia.org>)
List pgsql-odbc
If we are going to turn this into a Philosophical discussion, what
happens when a select statement updates zero rows? It doesn't cause an
error, why does a delete?



-----Original Message-----
From: Carlos Abalde [mailto:carlos@lfcia.org]
Sent: Monday, June 07, 2004 4:14 PM
To: pgsql-odbc@postgresql.org
Cc: Håkon Clausen
Subject: Re: [ODBC] Help with DELETE statement via ODBC

Håkon Clausen wrote...

> Hi Carlos,
>
> This is the correct behavior. Deleting 0 rows will give an ODBC error.
> You will have to rewrite your query so that this does not occur.

Hi Håkon,

I'm not an expert on ODBC and maybe this is and philosophical
discussion, buy I think that DELETE querys are very usual in
DB applications, and querys like,

    DELETE FROM table WHERE field = foreign_key

that are very common when you are working with 1-N relations,
need a normal behaviour when 0 rows are deleted.

For example,

    +---------+ 1            N +-----------+
    | Formula |----------------| Parameter |
    +---------+                +-----------+
    for_key               par_key
    for_txt               par_for (foreign key)
    ...               par_nam
                   par_val
                   ...

Represents a formula with several parameters. If we have a
new list of parameters for a existing formula, the best way to update
then is to delete the old parameters and create the new ones.
With the current DELETE behaviour, the normal case of a
formula without parameters must be considered as a special
case!

I think that there is a lot of examples like this in DB aplications.
Moreover, as DBs are highly related with Set Theory, it's an error the
current behaviour, because the empty set is dealed as a special case.

These are the mains reasons I think the current behaviour is erroneus.
However, as I said before, maybe this is a philosophical discussion :).

Best regards,


+---.---.---.---.---.---.---.---.---+---.---.---.---.---.---.---.---+
| Carlos Abalde (carlos@lfcia.org)  | http://www.lfcia.org/~carlos  |
+ LFCIA Lab, Dept. Computer Science | +34.981.167000 ext. 1275      +
| University of A Coruna, Spain     | PGP Key ID = 0x04DF0EAF       |
+-.---.---.---.---.---.---.---.---.-+-.---.---.---.---.---.---.---.-+

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org


pgsql-odbc by date:

Previous
From: Carlos Abalde
Date:
Subject: Re: Help with DELETE statement via ODBC
Next
From: Shachar Shemesh
Date:
Subject: [Fwd: [SECURITY] [DSA 516-1] New odbc-postgresql packages fix denial of service]