From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Bruce Momjian <bruce(at)momjian(dot)us> |
Cc: | Joel Jacobson <joel(at)trustly(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: PL/pgSQL 2 |
Date: | 2014-09-03 15:12:36 |
Message-ID: | CAFj8pRAgpr_ZX49mqMMtpj-EgdQNWxcPnqMb_stMiOtdmmizeA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
2014-09-03 17:05 GMT+02:00 Bruce Momjian <bruce(at)momjian(dot)us>:
> On Wed, Sep 3, 2014 at 07:54:09AM +0200, Pavel Stehule wrote:
> > I am not against to improve a PL/pgSQL. And I repeat, what can be done
> and can
> > be done early:
> >
> > a) ASSERT clause -- with some other modification to allow better static
> analyze
> > of DML statements, and enforces checks in runtime.
> >
> > b) #option or PRAGMA clause with GUC with function scope that enforce
> check on
> > processed rows after any DML statement
>
these two yes
> >
> > c) maybe introduction automatic variable ROW_COUNT as shortcut for GET
> > DIAGNOSTICS rc = ROW_COUNT
>
this is my fresh
some smarty designed asserts can be used for static analyses too.
I am able to analyze plan of DML statements, and I can raise warning if
expected rows is not 1 or if there are not filter over unique index
some
UPDATE ... WHERE id = 1;
ASSERT(PROCESSED_ROW_COUNT = 1);
And I can recheck in plpgsql_check, and it can enforce fast check in runtime
Pavel
>
> All these ideas are being captured somewhere, right? Where?
>
> --
> Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
> EnterpriseDB http://enterprisedb.com
>
> + Everyone has their own god. +
>
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2014-09-03 15:21:04 | Re: RLS Design |
Previous Message | Marko Tiikkaja | 2014-09-03 15:09:19 | Re: PL/pgSQL 2 |