Re: reducing NUMERIC size for 9.1
От | Tom Lane |
---|---|
Тема | Re: reducing NUMERIC size for 9.1 |
Дата | |
Msg-id | 18977.1280934342@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: reducing NUMERIC size for 9.1 (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: reducing NUMERIC size for 9.1
|
Список | pgsql-hackers |
Robert Haas <robertmhaas@gmail.com> writes: > On Fri, Jul 30, 2010 at 9:55 PM, Robert Haas <robertmhaas@gmail.com> wrote: >> The smallest value for precision which requires 2 numeric_digits is >> always 2; and the required number of numeric_digits increases by 1 >> each time the number of base-10 digits increases by DEC_DIGITS. > And here is a patch implementing that. Looks good to me. One thought --- to make this look more like the typmod-whacking in the numeric() function, perhaps the first line of numeric_maximum_size ought to be if (typemod <= (int32) (VARHDRSZ)) return -1; I think the author of numeric() was concerned that VARHDRSZ might be unsigned, in which case the cast-less comparison would do the Wrong Thing. Reference to c.h shows that it's signed, so no bug, but having the cast in the comparison seems like good conservative programming. Or, if you prefer, you can take out the cast in numeric(). I merely opine that the two bits of code should match. regards, tom lane
В списке pgsql-hackers по дате отправления: