Re: Missing PG_INT32_MIN in numutils.c
От | Tom Lane |
---|---|
Тема | Re: Missing PG_INT32_MIN in numutils.c |
Дата | |
Msg-id | 19966.1460554701@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Missing PG_INT32_MIN in numutils.c (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Missing PG_INT32_MIN in numutils.c
|
Список | pgsql-hackers |
Robert Haas <robertmhaas@gmail.com> writes: > On Wed, Apr 13, 2016 at 3:49 AM, Michael Paquier > <michael.paquier@gmail.com> wrote: >> While going through numutils.c I found the following thing: >> --- a/src/backend/utils/adt/numutils.c >> +++ b/src/backend/utils/adt/numutils.c >> @@ -136,7 +136,7 @@ pg_ltoa(int32 value, char *a) >> * Avoid problems with the most negative integer not being representable >> * as a positive integer. >> */ >> - if (value == (-2147483647 - 1)) >> + if (value == PG_INT32_MIN) >> { >> memcpy(a, "-2147483648", 12); >> return; >> Attached is a patch. The interesting part is that pg_lltoa is not >> missing the check on PG_INT64_MIN. > Committed. I am not very convinced that this is an improvement, because you took what had been two hard-wired constants and replaced them with a symbol and a hard-wired constant. This is more prone to break, not less so. If there were a way to stringify PG_INT32_MIN's value for use in the memcpy (which would then better be strcpy), then converting *both* constants would be an improvement --- but otherwise I think this was best left alone. regards, tom lane
В списке pgsql-hackers по дате отправления: