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:40:30 -0500
commitf82132f4a15e2a02d984b3ba0ef5b10da1f489bd (patch)
treeaacea4af822def5725b3cfdf17f021c0f82a16c3 /src/include/utils/jsonapi.h
parent76394810f87d3c03f8a135cc6e9801acc6b0ad8d (diff)
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 df057121a11..4ae059bec61 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 */