Thread: pgsql: Properly detect invalid JSON numbers when generating JSON.

pgsql: Properly detect invalid JSON numbers when generating JSON.

From
Andrew Dunstan
Date:
Properly detect invalid JSON numbers when generating JSON.

Instead of looking for characters that aren't valid in JSON numbers, we
simply pass the output string through the JSON number parser, and if it
fails the string is quoted. This means among other things that money and
domains over money will be quoted correctly and generate valid JSON.

Fixes bug #8676 reported by Anderson Cristian da Silva.

Backpatched to 9.2 where JSON generation was introduced.

Branch
------
REL9_3_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/7dfd9f6f54de39b6d2d2ce52a2faf7c00310bc9d

Modified Files
--------------
src/backend/utils/adt/json.c |   38 +++++++++++++++++++++++---------------
1 file changed, 23 insertions(+), 15 deletions(-)