This is an automated email from the ASF dual-hosted git repository. gparai pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/drill.git
commit 65df1fdeffbec41a8e538bdcbdf42356e5e94015 Author: Volodymyr Vysotskyi <[email protected]> AuthorDate: Fri Sep 6 14:57:41 2019 +0300 DRILL-7369: Schema for MaprDB tables is not used for the case when several fields are queried closes #1852 --- .../org/apache/drill/exec/vector/complex/fn/JsonReaderUtils.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/fn/JsonReaderUtils.java b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/fn/JsonReaderUtils.java index 5895ba5..0485e39 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/fn/JsonReaderUtils.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/fn/JsonReaderUtils.java @@ -74,12 +74,14 @@ public class JsonReaderUtils { TypeProtos.MajorType majorType = allTextMode ? Types.optional(TypeProtos.MinorType.VARCHAR) : Types.optional(TypeProtos.MinorType.INT); + ColumnMetadata metadata = null; if (columnMetadata != null) { - ColumnMetadata metadata = columnMetadata.metadata(fieldPath.getNameSegment().getPath()); + metadata = columnMetadata.metadata(fieldPath.getNameSegment().getPath()); majorType = metadata != null ? metadata.majorType() : majorType; } types.add(majorType); - if (fieldWriter.isEmptyMap()) { + // for the case if metadata is specified, ensures that required fields are created + if (fieldWriter.isEmptyMap() || metadata != null) { emptyStatus.set(fieldIndex, true); } if (fieldIndex == 0 && !allTextMode && schema == null) {
