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
|
Список | 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 по дате отправления: