Re: [HACKERS] PoC: Make it possible to disallow WHERE-less UPDATE and DELETE - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: [HACKERS] PoC: Make it possible to disallow WHERE-less UPDATE and DELETE
Date
Msg-id CAFj8pRBva0mfkEGRbdxmmRi_dDXn=Jhq=OpkSNYCo94GNG4gBw@mail.gmail.com
Whole thread Raw
Responses Re: [HACKERS] PoC: Make it possible to disallow WHERE-less UPDATE and DELETE  (Michael Paquier <michael.paquier@gmail.com>)
List pgsql-hackers
Hi

2017-01-10 17:31 GMT+01:00 David Fetter <david@fetter.org>:
On Mon, Jan 09, 2017 at 07:52:11PM -0300, Alvaro Herrera wrote:
> David Fetter wrote:
>
> > +   if (query->commandType == CMD_UPDATE || query->commandType == CMD_DELETE)
> > +   {
> > +           /* Make sure there's something to look at. */
> > +           Assert(query->jointree != NULL);
> > +           if (query->jointree->quals == NULL)
> > +                   ereport(ERROR,
> > +                                   (errcode(ERRCODE_SYNTAX_ERROR),
> > +                                    errmsg("%s requires a WHERE clause when the require_where hook is enabled.",
> > +                                            query->commandType == CMD_UPDATE ? "UPDATE" : "DELETE"),
> > +                                    errhint("To %s all rows, use \"WHERE true\" or similar.",
> > +                                            query->commandType == CMD_UPDATE ? "update" : "delete")));
> > +   }
>
> Per my earlier comment, I think this should use
> ERRCODE_S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED instead.

Fixed.

> I think this should say "the \"require_hook\" extension" rather than
> use the term "hook".

Fixed.

> (There are two or three translatability rules violations in this
> snippet,

Based on the hints in the docs docs around translation, I've
refactored this a bit.

Final review:

1. there are not any problem with patching, compilation.
2. all regress tests passed
3. the documentation and regress tests are good enough
4. the code respects postgres formatting rules

I'll mark this patch as ready for commiter

Regards

Pavel
 

> but since this is an extension and those are not translatable, I
> won't say elaborate further.)

"Not translatable," or "not currently translated?"

Best,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david(dot)fetter(at)gmail(dot)com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


pgsql-hackers by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: [HACKERS] merging some features from plpgsql2 project
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] WARM and indirect indexes