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  (Robert Haas <robertmhaas@gmail.com>)
Re: extend pgbench expressions with functions  (Robert Haas <robertmhaas@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: Masahiko Sawada
Дата:
Сообщение: Re: Freeze avoidance of very large table.
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: Several problems in tab-completions for SET/RESET