On 07/13/2015 10:46 AM, Ryan Pedela wrote:
On Mon, Jul 13, 2015 at 1:30 AM, Shulgin, Oleksandr
<oleksandr.shul...@zalando.de <mailto:oleksandr.shul...@zalando.de>>
wrote:
To reiterate: for my problem, that is escaping numerics that can
potentially overflow[1] under ECMAScript standard, I want to be
able to override the code that outputs the numeric converted to
string. There is no way in current implementation to do that *at
all*, short of copying all the code involved in producing JSON
output and changing it at certain points. One could try
re-parsing JSON instead, but that doesn't actually solve the
issue, because type information is lost forever at that point.
I had the exact same problem with Node.js and client-side Javascript.
That is why I wrote json-bignum [1] for Node.js. There is a bower
version [2] as well. The only caveat is that it is slower than the
native JSON functions, but I am happy to receive PRs to improve
performance.
1. https://github.com/datalanche/json-bignum
2. https://libraries.io/bower/json-bignum
As far as large numbers in JSON, I think Postgres is doing the right
thing and should not be changed. It is Javascript that is stupid here,
and I don't think it is wise to add something to core just because one
client does stupid things with large numbers. In addition, ES7 is
introducing "value types" which will hopefully solve the large number
problem in Javascript.
The random whitespace issue is valid in my opinion and should be fixed.
OK, I think we're getting a consensus here. It's good to know the JS
world is acquiring some sanity in this area.
Let's just fix the whitespace and be done, without all the callback
stuff. That should be a much smaller patch.
cheers
andrew
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers