Skip to content

Commit 7fbd9a1

Browse files
Fix recursive multimap bug
1 parent 13a4ea8 commit 7fbd9a1

File tree

15 files changed

+90
-39
lines changed

15 files changed

+90
-39
lines changed

examples/jsonl/internal/jsonstef/jsonobject.go

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/profile/internal/profile/labels.go

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

go/otel/oteltef/attributes.go

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

go/otel/oteltef/envelopeattributes.go

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

go/otel/oteltef/keyvaluelist.go

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

java/src/main/java/com/example/oteltef/Attributes.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -135,21 +135,16 @@ public void append(StringValue k, AnyValue v) {
135135
elems[elemsLen-1] = elem;
136136
}
137137

138+
138139
// setKey sets the key of the element at index i.
139140
public void setKey(int i, StringValue k) {
140141
if (!Types.StringEqual(elems[i].key, k)) {
141142
elems[i].key = k;
142143
modifiedElems.markKeyModified(i);
143144
}
144145
}
145-
146-
// setValue sets the value of the element at index i.
147-
public void setValue(int i, AnyValue v) {
148-
if (!elems[i].value.equals(v)) {
149-
elems[i].value = v;
150-
modifiedElems.markValModified(i);
151-
}
152-
}
146+
147+
153148

154149
// byteSize returns approximate memory usage in bytes. Used to calculate
155150
// memory used by dictionaries.

java/src/main/java/com/example/oteltef/AttributesEncoder.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,13 @@ private void encodeFull(Attributes list) throws IOException {
112112

113113
public void collectColumns(WriteColumnSet columnSet) {
114114
columnSet.setBytes(buf);
115+
int colIdx = 0;
115116
if (!isKeyRecursive) {
116-
keyEncoder.collectColumns(columnSet.at(0));
117+
keyEncoder.collectColumns(columnSet.at(colIdx));
118+
colIdx++;
117119
}
118120
if (!isValueRecursive) {
119-
valueEncoder.collectColumns(columnSet.at(1));
121+
valueEncoder.collectColumns(columnSet.at(colIdx));
120122
}
121123
}
122124
}

java/src/main/java/com/example/oteltef/EnvelopeAttributes.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,21 +131,24 @@ public void append(StringValue k, BytesValue v) {
131131
elems[elemsLen-1] = elem;
132132
}
133133

134+
134135
// setKey sets the key of the element at index i.
135136
public void setKey(int i, StringValue k) {
136137
if (!Types.StringEqual(elems[i].key, k)) {
137138
elems[i].key = k;
138139
modifiedElems.markKeyModified(i);
139140
}
140141
}
141-
142+
143+
142144
// setValue sets the value of the element at index i.
143145
public void setValue(int i, BytesValue v) {
144146
if (!Types.BytesEqual(elems[i].value, v)) {
145147
elems[i].value = v;
146148
modifiedElems.markValModified(i);
147149
}
148150
}
151+
149152

150153
// byteSize returns approximate memory usage in bytes. Used to calculate
151154
// memory used by dictionaries.

java/src/main/java/com/example/oteltef/EnvelopeAttributesEncoder.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,11 +106,13 @@ private void encodeFull(EnvelopeAttributes list) throws IOException {
106106

107107
public void collectColumns(WriteColumnSet columnSet) {
108108
columnSet.setBytes(buf);
109+
int colIdx = 0;
109110
if (!isKeyRecursive) {
110-
keyEncoder.collectColumns(columnSet.at(0));
111+
keyEncoder.collectColumns(columnSet.at(colIdx));
112+
colIdx++;
111113
}
112114
if (!isValueRecursive) {
113-
valueEncoder.collectColumns(columnSet.at(1));
115+
valueEncoder.collectColumns(columnSet.at(colIdx));
114116
}
115117
}
116118
}

java/src/main/java/com/example/oteltef/KeyValueList.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -135,21 +135,16 @@ public void append(StringValue k, AnyValue v) {
135135
elems[elemsLen-1] = elem;
136136
}
137137

138+
138139
// setKey sets the key of the element at index i.
139140
public void setKey(int i, StringValue k) {
140141
if (!Types.StringEqual(elems[i].key, k)) {
141142
elems[i].key = k;
142143
modifiedElems.markKeyModified(i);
143144
}
144145
}
145-
146-
// setValue sets the value of the element at index i.
147-
public void setValue(int i, AnyValue v) {
148-
if (!elems[i].value.equals(v)) {
149-
elems[i].value = v;
150-
modifiedElems.markValModified(i);
151-
}
152-
}
146+
147+
153148

154149
// byteSize returns approximate memory usage in bytes. Used to calculate
155150
// memory used by dictionaries.

0 commit comments

Comments
 (0)