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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 3 additions & 0 deletions
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy