| От | Tom Lane |
|---|---|
| Тема | Re: [HACKERS] T_Float morph to T_Integer after nodeRead |
| Дата | |
| Msg-id | 24661.1483668152@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | [HACKERS] T_Float morph to T_Integer after nodeRead (Kouhei Kaigai <kaigai@ak.jp.nec.com>) |
| Ответы |
Re: [HACKERS] T_Float morph to T_Integer after nodeRead
|
| Список | pgsql-hackers |
Kouhei Kaigai <kaigai@ak.jp.nec.com> writes:
> Simplified description of what I did is:
> fval = makeFloat(psprintf("%.0f", plan_nrows));
> custom_scan->custom_private = list_make1(fval);
So don't do that. The lexer would never produce T_Float for an
integer-looking string, so I think it's out of scope for nodeRead()
to be able to reconstitute such a thing. You could use %.1f, perhaps.
But actually, if you're worried about reconstituting exactly what you
had, aren't you risking precision loss anyway? Maybe something like
psprintf("%.*e", DBL_DIG+3, plan_nrows) would be safer.
regards, tom lane
В списке pgsql-hackers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера