Skip to content

Commit 10fc88c

Browse files
author
Nikita Glukhov
committed
Remove JsonValue.val.binary.len field
1 parent 7d45e77 commit 10fc88c

File tree

7 files changed

+7
-16
lines changed

7 files changed

+7
-16
lines changed

src/backend/utils/adt/json_generic.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,6 @@ JsonValueWrapInBinary(const JsonValue *val, JsonValue *bin)
160160

161161
bin->type = jbvBinary;
162162
bin->val.binary.data = jc;
163-
bin->val.binary.len = jc->len;
164163
bin->val.binary.uniquified = JsonValueIsUniquified(val);
165164

166165
return bin;
@@ -407,7 +406,6 @@ jsonvArrayIteratorNext(JsonIterator **it, JsonValue *res, bool skipNested)
407406
{
408407
Assert(res->type == jbvArray || res->type == jbvObject);
409408
res->val.binary.data = JsonValueToContainer(val);
410-
res->val.binary.len = 0;
411409
res->val.binary.uniquified = JsonValueIsUniquified(val);
412410
res->type = jbvBinary;
413411
}
@@ -460,7 +458,6 @@ jsonvObjectIteratorNext(JsonIterator **it, JsonValue *res, bool skipNested)
460458
{
461459
Assert(res->type == jbvArray || res->type == jbvObject);
462460
res->val.binary.data = JsonValueToContainer(&pair->value);
463-
res->val.binary.len = 0;
464461
res->val.binary.uniquified =
465462
JsonValueIsUniquified(&pair->value);
466463
res->type = jbvBinary;
@@ -721,7 +718,6 @@ JsonToJsonValue(Json *json, JsonValue *jv)
721718

722719
jv->type = jbvBinary;
723720
jv->val.binary.data = &json->root;
724-
jv->val.binary.len = json->root.len;
725721
jv->val.binary.uniquified = json->root.ops != &jsontContainerOps;
726722

727723
return jv;

src/backend/utils/adt/jsonb.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,8 @@ JsonbToCStringWorker(StringInfo out, JsonbContainer *in, int estimated_len,
608608
{
609609
first = false;
610610
if (v.type == jbvBinary)
611-
JsonbToCString(out, v.val.binary.data, v.val.binary.len);
611+
JsonbToCString(out, v.val.binary.data,
612+
v.val.binary.data->len);
612613
else
613614
jsonb_put_escaped_value(out, &v);
614615
}
@@ -634,7 +635,8 @@ JsonbToCStringWorker(StringInfo out, JsonbContainer *in, int estimated_len,
634635
add_indent(out, use_indent, level);
635636

636637
if (v.type == jbvBinary)
637-
JsonbToCString(out, v.val.binary.data, v.val.binary.len);
638+
JsonbToCString(out, v.val.binary.data,
639+
v.val.binary.data->len);
638640
else
639641
jsonb_put_escaped_value(out, &v);
640642
break;

src/backend/utils/adt/jsonb_util.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ JsonContainerFlatten(JsonContainer *jc, JsonValueEncoder encoder,
139139
{
140140
jbv.type = jbvBinary;
141141
jbv.val.binary.data = jc;
142-
jbv.val.binary.len = jc->len;
143142
jbv.val.binary.uniquified = JsonContainerIsUniquified(jc);
144143

145144
binary = &jbv;
@@ -662,7 +661,6 @@ fillJsonbValue(const JsonbContainer *container, int index,
662661
(JsonbContainer *)(base_addr + INTALIGN(offset)),
663662
getJsonbLength(container, index) -
664663
(INTALIGN(offset) - offset));
665-
result->val.binary.len = result->val.binary.data->len;
666664
result->val.binary.uniquified = true;
667665
}
668666
}

src/backend/utils/adt/jsonfuncs.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1845,7 +1845,7 @@ JsonbValueAsText(JsonbValue *v)
18451845

18461846
initStringInfo(&jtext);
18471847
(void) JsonbToCString(&jtext, v->val.binary.data,
1848-
v->val.binary.len);
1848+
v->val.binary.data->len);
18491849

18501850
return cstring_to_text_with_len(jtext.data, jtext.len);
18511851
}
@@ -3156,7 +3156,7 @@ populate_scalar(ScalarIOData *io, Oid typid, int32 typmod, JsValue *jsv)
31563156
str = JsonbToCString(NULL, JsonValueToContainer(jbv), 0);
31573157
else if (jbv->type == jbvBinary)
31583158
str = JsonbToCString(NULL, jbv->val.binary.data,
3159-
jbv->val.binary.len);
3159+
jbv->val.binary.data->len);
31603160
else
31613161
elog(ERROR, "unrecognized jsonb type: %d", (int) jbv->type);
31623162
}
@@ -3663,7 +3663,7 @@ populate_record_worker(FunctionCallInfo fcinfo, const char *funcname,
36633663
/* fill binary jsonb value pointing to jb */
36643664
jbv.type = jbvBinary;
36653665
jbv.val.binary.data = &jb->root;
3666-
jbv.val.binary.len = jb->root.len;
3666+
jbv.val.binary.uniquified = true;
36673667
}
36683668

36693669
rettuple = populate_composite(&cache->c.io.composite, cache->argtype,

src/backend/utils/adt/jsonpath_exec.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2625,7 +2625,6 @@ JsonbInitBinary(JsonbValue *jbv, Jsonb *jb)
26252625
{
26262626
jbv->type = jbvBinary;
26272627
jbv->val.binary.data = &jb->root;
2628-
jbv->val.binary.len = VARSIZE_ANY_EXHDR(jb);
26292628

26302629
return jbv;
26312630
}

src/common/jsonapi.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1335,7 +1335,6 @@ jsontFillValue(JsonIterator **pit, JsonValue *res, bool skipNested,
13351335
int len;
13361336

13371337
res->type = jbvBinary;
1338-
res->val.binary.len = 0;
13391338
res->val.binary.data = JsonContainerAlloc();
13401339
res->val.binary.uniquified = false;
13411340

@@ -1357,8 +1356,6 @@ jsontFillValue(JsonIterator **pit, JsonValue *res, bool skipNested,
13571356
: jbvArray,
13581357
-1);
13591358

1360-
res->val.binary.len = res->val.binary.data->len;
1361-
13621359
if (skipNested)
13631360
return false;
13641361

src/include/utils/jsonb.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,6 @@ struct JsonbValue
307307

308308
struct
309309
{
310-
int len; /* FIXME remove */
311310
bool uniquified;
312311
const struct JsonContainerData *data;
313312
} binary; /* Array or object, in on-disk format */

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