Re: BUG #6096: ECPG set precision of double value to 14 digits

Поиск
Список
Период
Сортировка
От Akira Kurosawa
Тема Re: BUG #6096: ECPG set precision of double value to 14 digits
Дата
Msg-id ACCC43B2D53AD9kurosawa-akira@mxc.nes.nec.co.jp
обсуждение исходный текст
Ответ на BUG #6096: ECPG set precision of double value to 14 digits  ("Akira Kurosawa" <kurosawa-akira@mxc.nes.nec.co.jp>)
Ответы Re: BUG #6096: ECPG set precision of double value to 14 digits  (Michael Meskes <meskes@postgresql.org>)
Список pgsql-bugs
Hi,

I built PostgreSQL 8.4.8 with the following patch,
then executed same program.

This result is same as psql's one.

--------------------------------------------------
testdb=# SELECT * FROM double_table;
        c1
-------------------
    12345678901234
   1234567890.1234
  0.12345678901234
   123456789012345
  1234567890.12345
 0.123456789012345
(6 rows)
--------------------------------------------------


*** execute.c.org       2011-04-15 12:17:14.000000000 +0900
--- execute.c   2011-07-16 19:46:05.000000000 +0900
***************
*** 709,720 ****
                                        strcpy(mallocedval, "array [");

                                        for (element = 0; element < asize; element++)
!                                               sprintf(mallocedval + strlen(mallocedval), "%.14g,", ((double *)
var->value)[element]);

                                        strcpy(mallocedval + strlen(mallocedval) - 1, "]");
                                }
                                else
!                                       sprintf(mallocedval, "%.14g", *((double *) var->value));

                                *tobeinserted_p = mallocedval;
                                break;
--- 709,720 ----
                                        strcpy(mallocedval, "array [");

                                        for (element = 0; element < asize; element++)
!                                               sprintf(mallocedval + strlen(mallocedval), "%.15g,", ((double *)
var->value)[element]);

                                        strcpy(mallocedval + strlen(mallocedval) - 1, "]");
                                }
                                else
!                                       sprintf(mallocedval, "%.15g", *((double *) var->value));

                                *tobeinserted_p = mallocedval;
                                break;

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Spurious errors relating to escaped single quotes
Следующее
От: Olivier LEVESQUE
Дата:
Сообщение: Re: BUG #6085: pg_upgrade fails when unix_socket_directory != /tmp