| From: | Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com> |
|---|---|
| To: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
| Cc: | David Steele <david(at)pgmasters(dot)net>, Stephen Frost <sfrost(at)snowman(dot)net>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Daniel Gustafsson <daniel(at)yesql(dot)se>, Marko Tiikkaja <marko(at)joh(dot)to>, Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: [HACKERS] plpgsql - additional extra checks |
| Date: | 2018-03-16 01:46:46 |
| Message-ID: | 457e1f54-57be-9140-ea76-0f0e9f12d78e@2ndquadrant.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 03/04/2018 07:07 PM, Pavel Stehule wrote:
>
> ...
>
> I am sending updated patch with Tomas changes
>
Seems 2cf8c7aa48 broke this patch, as it tweaked a number of regression
tests. Other than that, I think the patch is pretty much ready.
One minor detail is that this bit from exec_stmt_execsql doesn't seem
particularly readable:
errlevel = stmt->strict || stmt->mod_stmt ? ERROR : too_many_rows_level;
use_errhint = !(stmt->strict || stmt->mod_stmt);
I had to think for a while if "||" takes precedence over "?", so I'd
suggest adding some () around the first condition. But that makes it
pretty much just (!use_errhint) so perhaps something like
bool force_error;
force_error = (stmt->strict || stmt->mod_stmt);
errlevel = force_error ? ERROR : too_many_rows_level;
use_errhint = !force_error;
would be better?
Actually, now that I'm looking at this part of the code again, I see the
change from
errmsg("query returned more than one row"),
to
errmsg("SELECT INTO query returned more than one row"),
is probably bogus, because this also deals with stmt->mod_stmt, not just
strict SELECT INTO queries. So let's just revert to the old wording.
regards
--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
| From | Date | Subject | |
|---|---|---|---|
| Next Message | leap | 2018-03-16 01:57:26 | Re:Re: Re: [submit code] I develop a tool for pgsql, how can I submit it |
| Previous Message | Michael Paquier | 2018-03-16 01:25:35 | Re: pg_get_functiondef forgets about most GUC_LIST_INPUT GUCs |