Skip to content

Commit 7fe7b77

Browse files
author
Nikita Glukhov
committed
Remove JsonValue.val.binary.len field
1 parent a749f88 commit 7fe7b77

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;
@@ -663,7 +662,6 @@ fillJsonbValue(const JsonbContainer *container, int index,
663662
(JsonbContainer *)(base_addr + INTALIGN(offset)),
664663
getJsonbLength(container, index) -
665664
(INTALIGN(offset) - offset));
666-
result->val.binary.len = result->val.binary.data->len;
667665
result->val.binary.uniquified = true;
668666
}
669667
}

src/backend/utils/adt/jsonfuncs.c

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

17041704
initStringInfo(&jtext);
17051705
(void) JsonbToCString(&jtext, v->val.binary.data,
1706-
v->val.binary.len);
1706+
v->val.binary.data->len);
17071707

17081708
return cstring_to_text_with_len(jtext.data, jtext.len);
17091709
}
@@ -3014,7 +3014,7 @@ populate_scalar(ScalarIOData *io, Oid typid, int32 typmod, JsValue *jsv)
30143014
str = JsonbToCString(NULL, JsonValueToContainer(jbv), 0);
30153015
else if (jbv->type == jbvBinary)
30163016
str = JsonbToCString(NULL, jbv->val.binary.data,
3017-
jbv->val.binary.len);
3017+
jbv->val.binary.data->len);
30183018
else
30193019
elog(ERROR, "unrecognized jsonb type: %d", (int) jbv->type);
30203020
}
@@ -3521,7 +3521,7 @@ populate_record_worker(FunctionCallInfo fcinfo, const char *funcname,
35213521
/* fill binary jsonb value pointing to jb */
35223522
jbv.type = jbvBinary;
35233523
jbv.val.binary.data = &jb->root;
3524-
jbv.val.binary.len = jb->root.len;
3524+
jbv.val.binary.uniquified = true;
35253525
}
35263526

35273527
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
@@ -1333,7 +1333,6 @@ jsontFillValue(JsonIterator **pit, JsonValue *res, bool skipNested,
13331333
int len;
13341334

13351335
res->type = jbvBinary;
1336-
res->val.binary.len = 0;
13371336
res->val.binary.data = JsonContainerAlloc();
13381337
res->val.binary.uniquified = false;
13391338

@@ -1355,8 +1354,6 @@ jsontFillValue(JsonIterator **pit, JsonValue *res, bool skipNested,
13551354
: jbvArray,
13561355
-1);
13571356

1358-
res->val.binary.len = res->val.binary.data->len;
1359-
13601357
if (skipNested)
13611358
return false;
13621359

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