Thread: BUG #10922: row_to_json creates invalid JSON for currecy lower then 1000.
BUG #10922: row_to_json creates invalid JSON for currecy lower then 1000.
From
karel.knezourek@gmail.com
Date:
The following bug has been logged on the website: Bug reference: 10922 Logged by: Karel Knezourek Email address: karel.knezourek@gmail.com PostgreSQL version: 9.4beta1 Operating system: linux Description: select version(); --"PostgreSQL 9.4devel on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4), 64-bit" --"PostgreSQL 9.3.4, compiled by Visual C++ build 1600, 64-bit" -- TEST CASE CREATE TABLE test ( currency money ); INSERT INTO test(currency) SELECT '1.34'::float8::numeric::money; INSERT INTO test(currency) SELECT '1000.34'::float8::numeric::money; SELECT row_to_json(t) FROM (SELECT * FROM TEST) t; --{"currency":1,34 KÄ} NOT OK !!! it is not valid JSON without double quotes --{"currency":"1Â 000,34 KÄ"} OK drop table test;
karel.knezourek@gmail.com writes: > -- TEST CASE > CREATE TABLE test > ( > currency money > ); > INSERT INTO test(currency) SELECT '1.34'::float8::numeric::money; > INSERT INTO test(currency) SELECT '1000.34'::float8::numeric::money; > SELECT row_to_json(t) FROM (SELECT * FROM TEST) t; > --{"currency":1,34 KÄ} NOT OK !!! it is not valid JSON without double quotes > --{"currency":"1Â 000,34 KÄ"} OK Thanks for the report! I can't reproduce this on HEAD. I think it should have been resolved by commit 0ca6bda8e, but that was done a couple of days before we stamped 9.4beta1. Are you sure this is exactly beta1, and not some slightly earlier version? Your version() output looks like it predates beta1 ... regards, tom lane