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

Commit 8e9a0cf

Browse files
author
Nikita Glukhov
committed
Add context to JsonValueFlatten()
1 parent 6f2db95 commit 8e9a0cf

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

src/backend/utils/adt/jsonb_util.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ JsonContainerFlatten(JsonContainer *jc, JsonValueEncoder encoder,
165165
*/
166166
void *
167167
JsonValueFlatten(const JsonValue *val, JsonValueEncoder encoder,
168-
JsonContainerOps *ops)
168+
JsonContainerOps *ops, void *cxt)
169169
{
170170
if (val->type == jbvBinary)
171171
return JsonContainerFlatten(val->val.binary.data, encoder, ops, val);
@@ -180,7 +180,7 @@ JsonValueFlatten(const JsonValue *val, JsonValueEncoder encoder,
180180
Assert(val->type == jbvObject || val->type == jbvArray);
181181
}
182182

183-
return JsonEncode(val, encoder, NULL);
183+
return JsonEncode(val, encoder, cxt);
184184
}
185185

186186
/*

src/include/utils/json_generic.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ typedef JsonContainer JsonbContainer;
9292
PointerGetDatum(JsonFlatten(json, JsonbEncode, &jsonbContainerOps))
9393

9494
#define JsonValueToJsonbDatum(jv) \
95-
PointerGetDatum(JsonValueFlatten(jv, JsonbEncode, &jsonbContainerOps))
95+
PointerGetDatum(JsonValueFlatten(jv, JsonbEncode, &jsonbContainerOps, NULL))
9696

9797
#define JsonbPGetDatum(json) JsonFlattenToJsonbDatum(json)
9898

@@ -294,7 +294,7 @@ extern void *JsonContainerFlatten(JsonContainer *jc, JsonValueEncoder encoder,
294294
JsonContainerOps *ops, const JsonValue *binary);
295295

296296
extern void *JsonValueFlatten(const JsonValue *val, JsonValueEncoder encoder,
297-
JsonContainerOps *ops);
297+
JsonContainerOps *ops, void *cxt);
298298
extern void *JsonEncode(const JsonbValue *val, JsonValueEncoder encoder, void *cxt);
299299

300300
static inline void *
@@ -306,7 +306,7 @@ JsonFlatten(Json *json, JsonValueEncoder encoder, JsonContainerOps *ops)
306306
extern void JsonbEncode(StringInfo, const JsonValue *, void *cxt);
307307

308308
#define JsonValueToJsonb(val) \
309-
JsonValueFlatten(val, JsonbEncode, &jsonbContainerOps)
309+
JsonValueFlatten(val, JsonbEncode, &jsonbContainerOps, NULL)
310310

311311
extern int lengthCompareJsonbStringValue(const void *a, const void *b);
312312
extern int lengthCompareJsonbString(const char *val1, int len1,

0 commit comments

Comments
 (0)