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_2_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/4825a9e95fbc11f2edcdd9dbaba08f10d257596f

Modified Files
--------------
src/backend/utils/adt/json.c |   36 ++++++++++++++++++++++--------------
1 file changed, 22 insertions(+), 14 deletions(-)