index 492796eb8384ab5a0806afdba3ccf5d569c68459..4cf01300d8b7c1ae039175aed9ff384f1f3c86a9 100644 (file)
@@ -979,12 +979,6 @@ json_unique_check_init(JsonUniqueCheckState *cxt)
HASH_ELEM | HASH_CONTEXT | HASH_FUNCTION | HASH_COMPARE);
}
-static void
-json_unique_check_free(JsonUniqueCheckState *cxt)
-{
- hash_destroy(*cxt);
-}
-
static bool
json_unique_check_key(JsonUniqueCheckState *cxt, const char *key, int object_id)
{
}
static void
-json_unique_builder_free(JsonUniqueBuilderState *cxt)
+json_unique_builder_clean(JsonUniqueBuilderState *cxt)
{
- json_unique_check_free(&cxt->check);
-
if (cxt->skipped_keys.data)
- pfree(cxt->skipped_keys.data);
+ resetStringInfo(&cxt->skipped_keys);
}
/* On-demand initialization of skipped_keys StringInfo structure */
if (state == NULL)
PG_RETURN_NULL();
- json_unique_builder_free(&state->unique_check);
+ json_unique_builder_clean(&state->unique_check);
/* Else return state with appropriate object terminator added */
PG_RETURN_TEXT_P(catenate_stringinfo_string(state->str, " }"));
@@ -1333,7 +1325,7 @@ json_build_object_worker(int nargs, Datum *args, bool *nulls, Oid *types,
appendStringInfoChar(result, '}');
if (unique_keys)
- json_unique_builder_free(&unique_check);
+ json_unique_builder_clean(&unique_check);
return PointerGetDatum(cstring_to_text_with_len(result->data, result->len));
}