Re: [HACKERS] BUG #12989: pg_size_pretty with negative values
От | Adrian.Vondendriesch |
---|---|
Тема | Re: [HACKERS] BUG #12989: pg_size_pretty with negative values |
Дата | |
Msg-id | 563BC7E6.9060101@credativ.de обсуждение исходный текст |
Ответ на | Re: [HACKERS] BUG #12989: pg_size_pretty with negative values (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: [HACKERS] BUG #12989: pg_size_pretty with negative values
|
Список | pgsql-bugs |
New patch attached and rebased on HEAD (8c75ad436f75fc629b61f601ba884c8f9313c9af). Am 03.11.2015 um 04:06 schrieb Robert Haas: > On Sat, Oct 31, 2015 at 2:25 PM, Julien Rouhaud > <julien.rouhaud@dalibo.com> wrote: >> I just reviewed your patch, everything looks fine for me. Maybe some >> minor cosmetic changes could be made to avoid declaring too many vars, >> but I think a committer would have a better idea on this, so I mark >> this patch as ready for committer. > > I don't think we should define Sign(x) as a macro in c.h. c.h is > really only supposed to contain stuff that's pretty generic and > universal, and the fact that we haven't needed it up until now > suggests that Sign(x) isn't. I'd suggest instead defining something > like: > > #define half_rounded(x) (((x) + (x) < 0 ? 0 : 1) / 2) I removed the Sign macro and introduced half_rounded. It's placed it in dbsize.c. Please let me know if that's the wrong place. > > Maybe rename numeric_divide_by_two to numeric_half_rounded. > Generally, let's try to make the numeric and int64 code paths look as > similar as possible. I renamed numeric_divide_by_two. > > Recomputing numeric_absolute(x) multiple times should be avoided. > Compute it once and save the answer. Because "size" is shifted multiple times within pg_size_pretty and pg_size_pretty_numeric the absolute values needs to be recomputed. Please let me know if I oversee something. I changed the status back to "needs review". Regards, - Adrian
Вложения
В списке pgsql-bugs по дате отправления: