Re: [Bug Fix]ECPG: cancellation of significant digits on ECPG

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [Bug Fix]ECPG: cancellation of significant digits on ECPG
Дата
Msg-id 30390.1542157777@sss.pgh.pa.us
обсуждение исходный текст
Ответ на RE: [Bug Fix]ECPG: cancellation of significant digits on ECPG  ("Higuchi, Daisuke" <higuchi.daisuke@jp.fujitsu.com>)
Ответы Re: [Bug Fix]ECPG: cancellation of significant digits on ECPG  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
"Higuchi, Daisuke" <higuchi.daisuke@jp.fujitsu.com> writes:
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
>> So I think that we ought to unconditionally make the sqlda value's digit
>> buffer look just like the one we're copying, even when ndigits = 0,
>> which just requires removing the tests on ndigits.

> I agree with you. Seeing this thread[1], 'if (ndigits = 0)' was introduced only to avoid memcpy() crash. I do not
knowthis solution was best or not, but no crash occurs in the current version. So, I also think 'if (ndigits = 0)'
shouldbe removed. 

Hmmm ... looking at PGTYPESnumeric_from_asc, it seems like the current
behavior is different from what was described in that old thread; the only
case where a digit buffer wouldn't be created is a NaN.  But maybe a crash
could occur for NaN.  Perhaps we should use "if (num->sign !=
NUMERIC_NAN)" as a guard?

            regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Amit Langote
Дата:
Сообщение: Re: move PartitionBoundInfo creation code
Следующее
От: Haribabu Kommi
Дата:
Сообщение: Re: New function pg_stat_statements_reset_query() to reset statisticsof a specific query