Re: Preventing DELETE and UPDATE without a WHERE clause?

From: "Mark Woodward" <pgsql(at)mohawksoft(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Chris Campbell" <chris(at)bignerdranch(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Preventing DELETE and UPDATE without a WHERE clause?
Date: 2006-06-16 18:52:58
Message-ID: 18021.24.91.171.78.1150483978.squirrel@mail.mohawksoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Chris Campbell <chris(at)bignerdranch(dot)com> writes:
>> I heard an interesting feature request today: preventing the
>> execution of a DELETE or UPDATE query that does not have a WHERE clause.
>
> These syntaxes are required by the SQL spec. Furthermore, it's easy
> to imagine far-more-probable cases in which the system wouldn't detect
> that you'd made a mistake, eg
>
> DELETE FROM tab WHERE key > 1
>
> where you meant to type
>
> DELETE FROM tab WHERE key > 10000000
>
> I suggest counseling your client to learn how to use BEGIN/ROLLBACK.
> This proposal strikes me as falling squarely within the rule about
> "design a system that even a fool can use, and only a fool will want
> to use it".
>
Just a theory, couldn't a trigger be set up that would case the query to
tank if it touches too many rows?

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2006-06-16 19:36:34 Re: [COMMITTERS] pgsql: Add STRICT to PL/pgSQL SELECT INTO, so exceptions are thrown if
Previous Message Bruce Momjian 2006-06-16 18:50:38 Re: Proposal for updatable views