summaryrefslogtreecommitdiff
path: root/src/include/utils/jsonapi.h
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2014-12-01 11:28:45 -0500
committerAndrew Dunstan <andrew@dunslane.net>2014-12-01 11:28:45 -0500
commite09996ff8dee3f70b0a027cffebccef4388ed5b7 (patch)
tree0ce2c82f697591a5114bc41b8029e3825d402791 /src/include/utils/jsonapi.h
parent4e86f1b16da85ba0a99c592dc7b977b3be80a483 (diff)
downloadpostgresql-e09996ff8dee3f70b0a027cffebccef4388ed5b7.tar.gz
Fix hstore_to_json_loose's detection of valid JSON number values.
We expose a function IsValidJsonNumber that internally calls the lexer for json numbers. That allows us to use the same test everywhere, instead of inventing a broken test for hstore conversions. The new function is also used in datum_to_json, replacing the code that is now moved to the new function. Backpatch to 9.3 where hstore_to_json_loose was introduced.
Diffstat (limited to 'src/include/utils/jsonapi.h')
-rw-r--r--src/include/utils/jsonapi.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/include/utils/jsonapi.h b/src/include/utils/jsonapi.h
index df057121a1..4ae059bec6 100644
--- a/src/include/utils/jsonapi.h
+++ b/src/include/utils/jsonapi.h
@@ -117,4 +117,11 @@ extern JsonLexContext *makeJsonLexContextCstringLen(char *json,
int len,
bool need_escapes);
+/*
+ * Utility function to check if a string is a valid JSON number.
+ *
+ * str agrument does not need to be nul-terminated.
+ */
+extern bool IsValidJsonNumber(const char * str, int len);
+
#endif /* JSONAPI_H */