Re: Refactoring: Use soft error reporting for *_opt_error functions
От | Dean Rasheed |
---|---|
Тема | Re: Refactoring: Use soft error reporting for *_opt_error functions |
Дата | |
Msg-id | CAEZATCUqTBXrPZb6+FK2dGNdO2i1GHVGsPGSKAz=VK9mu2adBg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Refactoring: Use soft error reporting for *_opt_error functions (Michael Paquier <michael@paquier.xyz>) |
Ответы |
Re: Refactoring: Use soft error reporting for *_opt_error functions
|
Список | pgsql-hackers |
On Wed, 3 Sept 2025 at 07:47, Michael Paquier <michael@paquier.xyz> wrote: > > The same error message is repeated twice. How about using some gotos > and one single ereport instead of two? The same can be said for > numeric_div_safe() and numeric_mod_safe(), for the division-by-0 > messages. In numeric_div_safe() and numeric_mod_safe(): - * If "have_error" is provided, check for division by zero here + * If "escontext" is provided, raise division by zero soft error here */ - if (have_error && (arg2.ndigits == 0 || arg2.digits[0] == 0)) - { - *have_error = true; - return NULL; - } + if (escontext && (arg2.ndigits == 0 || arg2.digits[0] == 0)) + ereturn(escontext, NULL, + errcode(ERRCODE_DIVISION_BY_ZERO), + errmsg("division by zero")); This might as well now be made to check for division-by-zero even if escontext is NULL. Regards, Dean
В списке pgsql-hackers по дате отправления: