395 Assert(!(key_scalar && is_null));
399 appendStringInfoString(
result,
"null");
409 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
410 errmsg(
"key value must be scalar, not array, composite, or json")));
421 outputstr = DatumGetBool(val) ?
"true" :
"false";
423 escape_json(
result, outputstr);
425 appendStringInfoString(
result, outputstr);
428 outputstr = OidOutputFunctionCall(outfuncoid, val);
434 if (!key_scalar && IsValidJsonNumber(outputstr, strlen(outputstr)))
435 appendStringInfoString(
result, outputstr);
437 escape_json(
result, outputstr);
442 char buf[MAXDATELEN + 1];
445 appendStringInfo(
result,
"\"%s\"", buf);
450 char buf[MAXDATELEN + 1];
453 appendStringInfo(
result,
"\"%s\"", buf);
458 char buf[MAXDATELEN + 1];
461 appendStringInfo(
result,
"\"%s\"", buf);
466 outputstr = OidOutputFunctionCall(outfuncoid, val);
467 appendStringInfoString(
result, outputstr);
472 jsontext = DatumGetTextPP(OidFunctionCall1(outfuncoid, val));
473 outputstr = text_to_cstring(jsontext);
474 appendStringInfoString(
result, outputstr);
479 outputstr = OidOutputFunctionCall(outfuncoid, val);
480 escape_json(
result, outputstr);
char result[OUT_DOUBLE_BUFFER_SIZE]
static char * postgis_JsonEncodeDateTime(char *buf, Datum value, Oid typid)
static void composite_to_json(Datum composite, StringInfo result, bool use_line_feeds)
static void array_to_json_internal(Datum array, StringInfo result, bool use_line_feeds)