Re: extend pgbench expressions with functions
| От | Michael Paquier |
|---|---|
| Тема | Re: extend pgbench expressions with functions |
| Дата | |
| Msg-id | CAB7nPqRVfTz_C0mfQK-gbBF8Kc8aA5OLFD_2SpdBYth=rvOQUw@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: extend pgbench expressions with functions (Robert Haas <robertmhaas@gmail.com>) |
| Ответы |
Re: extend pgbench expressions with functions
Re: extend pgbench expressions with functions |
| Список | pgsql-hackers |
On Mon, Feb 1, 2016 at 10:34 PM, Robert Haas <robertmhaas@gmail.com> wrote: > On Sat, Jan 30, 2016 at 7:36 AM, Michael Paquier > <michael.paquier@gmail.com> wrote: >> On Fri, Jan 29, 2016 at 11:21 PM, Fabien COELHO <coelho@cri.ensmp.fr> wrote: >>> + /* overflow check (needed for INT64_MIN) */ >>> + if (lval != 0 && (*retval < 0 == lval < 0)) >>> >>> Why not use "if (lval == INT64_MIN)" instead of this complicated condition? >>> If it is really needed for some reason, I think that a comment could help. >> >> Checking for PG_INT64_MIN only would be fine as well, so let's do so. >> I thought honestly that we had better check if the result and the left >> argument are not of the same sign, but well. > > Committed and back-patched to 9.5. Doesn't apply further back. OK, here are patches for 9.1~9.4. The main differences are that in 9.3/9.4 int64 is used for the division operations, and in 9.2/9.1 that's int32. In the latter case pgbench blows up the same way with that: \set i -2147483648 \set i :i / -1 select :i; In those patches INT32_MIN/INT64_MIN need to be explicitly set as well at the top of pgbench.c. I thing that's fine. -- Michael
Вложения
В списке pgsql-hackers по дате отправления: