Skip to content

Commit bff7b2c

Browse files
committed
fix incorrect type check for Map types
1 parent 76b784f commit bff7b2c

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

src/main/java/org/elasticsearch/hadoop/hive/HiveValueWriter.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -127,14 +127,11 @@ else if (data instanceof LazyBinaryPrimitive) {
127127
MapTypeInfo mapType = (MapTypeInfo) type;
128128
Map<?, ?> mapContent = null;
129129

130-
if (data instanceof LazyMap) {
131-
mapContent = ((LazyMap) data).getMap();
132-
}
133-
else if (data instanceof LazyBinaryMap) {
134-
mapContent = ((LazyBinaryMap) data).getMap();
130+
if (data instanceof Map) {
131+
mapContent = (Map<?, ?>) data;
135132
}
136133
else {
137-
mapContent = (Map<?, ?>) data;
134+
mapContent = (data instanceof LazyMap ? ((LazyMap) data).getMap() : ((LazyBinaryMap) data).getMap());
138135
}
139136

140137
generator.writeBeginObject();
@@ -160,11 +157,11 @@ else if (data instanceof LazyBinaryMap) {
160157
// handle the list
161158
if (data instanceof LazyStruct || data instanceof LazyBinaryStruct || data instanceof List) {
162159
List<?> content = null;
163-
if (content instanceof List) {
160+
if (data instanceof List) {
164161
content = (List<?>) data;
165162
}
166163
else {
167-
content = (data instanceof LazyStruct ? ((LazyStruct) data).getFieldsAsList() : ((LazyBinaryStruct)data).getFieldsAsList());
164+
content = (data instanceof LazyStruct ? ((LazyStruct) data).getFieldsAsList() : ((LazyBinaryStruct) data).getFieldsAsList());
168165
}
169166
for (int structIndex = 0; structIndex < info.size(); structIndex++) {
170167
generator.writeFieldName(names.get(structIndex));

0 commit comments

Comments
 (0)