Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit f8d860b

Browse files
author
Nikita Glukhov
committed
Add JsonContainerAlloc() macro
1 parent f9bed84 commit f8d860b

File tree

3 files changed

+5
-2
lines changed

3 files changed

+5
-2
lines changed

src/backend/utils/adt/json_generic.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ JsonValueToContainer(const JsonValue *val)
248248
return val->val.binary.data;
249249
else
250250
{
251-
JsonContainerData *jc = palloc(sizeof(JsonContainerData));
251+
JsonContainerData *jc = JsonContainerAlloc();
252252
jsonvInitContainer(jc, val);
253253
return jc;
254254
}

src/backend/utils/adt/jsonb_util.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@ fillJsonbValue(const JsonbContainer *container, int index,
639639
{
640640
Assert(JBE_ISCONTAINER(entry));
641641
result->type = jbvBinary;
642-
result->val.binary.data = palloc(sizeof(JsonContainerData));
642+
result->val.binary.data = JsonContainerAlloc();
643643
jsonbInitContainer((JsonContainerData *) result->val.binary.data,
644644
/* Remove alignment padding from data pointer and length */
645645
(JsonbContainer *)(base_addr + INTALIGN(offset)),

src/include/utils/json_generic.h

+3
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,9 @@ extern Json *DatumGetJson(Datum val, JsonContainerOps *ops, Json *tmp);
226226
extern void JsonFree(Json *json);
227227
extern Json *JsonCopyTemporary(Json *tmp);
228228

229+
#define JsonContainerAlloc() \
230+
((JsonContainerData *) palloc(sizeof(JsonContainerData)))
231+
229232
extern JsonValue *JsonFindValueInContainer(JsonContainer *json, uint32 flags,
230233
JsonValue *key);
231234

0 commit comments

Comments
 (0)