Skip to content

Commit 7f5fdf0

Browse files
feat: improve error message on malformed struct (#2592)
Change-Id: I16db93c2f2bb0168487c2396b746fbb25caf6a72
1 parent 8d3dca4 commit 7f5fdf0

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/sql/ProtoRowsMergingStateMachine.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,12 @@ static void validateValueAndType(SqlType<?> type, Value value) {
230230
checkExpectedKind(value, Value.KindCase.ARRAY_VALUE, type);
231231
List<Value> fieldValues = value.getArrayValue().getValuesList();
232232
SqlType.Struct structType = (SqlType.Struct) type;
233+
if (fieldValues.size() != structType.getFields().size()) {
234+
throw new IllegalStateException(
235+
String.format(
236+
"Unexpected malformed struct data. Expected %s fields, received: %s",
237+
structType.getFields().size(), fieldValues.size()));
238+
}
233239
for (int i = 0; i < fieldValues.size(); i++) {
234240
validateValueAndType(structType.getType(i), fieldValues.get(i));
235241
}

0 commit comments

Comments
 (0)