This is an automated email from the ASF dual-hosted git repository. dzamo pushed a commit to branch 1.20 in repository https://gitbox.apache.org/repos/asf/drill.git
commit 230ab08dc3324c4cb838a09f067efc5a5f234c0b Author: James Turton <[email protected]> AuthorDate: Sun Jul 31 08:34:14 2022 +0200 DRILL-8273: Complex typed columns cannot be made implicit --- .../java/org/apache/drill/exec/store/excel/ExcelBatchReader.java | 1 - .../drill/exec/physical/resultSet/project/TestTupleProjection.java | 7 +++++++ .../org/apache/drill/exec/record/metadata/DictColumnMetadata.java | 4 +++- .../org/apache/drill/exec/record/metadata/MapColumnMetadata.java | 4 +++- .../drill/exec/record/metadata/RepeatedListColumnMetadata.java | 4 +++- .../apache/drill/exec/record/metadata/VariantColumnMetadata.java | 4 +++- 6 files changed, 19 insertions(+), 5 deletions(-) diff --git a/contrib/format-excel/src/main/java/org/apache/drill/exec/store/excel/ExcelBatchReader.java b/contrib/format-excel/src/main/java/org/apache/drill/exec/store/excel/ExcelBatchReader.java index 9116f3d861..f6be588294 100644 --- a/contrib/format-excel/src/main/java/org/apache/drill/exec/store/excel/ExcelBatchReader.java +++ b/contrib/format-excel/src/main/java/org/apache/drill/exec/store/excel/ExcelBatchReader.java @@ -860,7 +860,6 @@ public class ExcelBatchReader implements ManagedReader<FileSchemaNegotiator> { } } - public static class TimestampCellWriter extends ExcelBatchReader.CellWriter { TimestampCellWriter(ScalarWriter columnWriter) { super(columnWriter); diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/resultSet/project/TestTupleProjection.java b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/resultSet/project/TestTupleProjection.java index 10fc958e53..6aec100dc8 100644 --- a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/resultSet/project/TestTupleProjection.java +++ b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/resultSet/project/TestTupleProjection.java @@ -60,10 +60,13 @@ public class TestTupleProjection extends BaseTest { MetadataUtils.newScalar("a", Types.required(MinorType.INT)); private static final ColumnMetadata UNPROJECTED_SPECIAL_COLUMN = MetadataUtils.newScalar("bar", Types.required(MinorType.INT)); + private static final ColumnMetadata COMPLEX_SPECIAL_COLUMN = + MetadataUtils.newMap("a_map"); static { SPECIAL_COLUMN.setBooleanProperty(ColumnMetadata.EXCLUDE_FROM_WILDCARD, true); UNPROJECTED_SPECIAL_COLUMN.setBooleanProperty(ColumnMetadata.EXCLUDE_FROM_WILDCARD, true); + COMPLEX_SPECIAL_COLUMN.setBooleanProperty(ColumnMetadata.EXCLUDE_FROM_WILDCARD, true); } /** @@ -76,6 +79,7 @@ public class TestTupleProjection extends BaseTest { assertTrue(projSet.isProjected("foo")); assertTrue(projSet.isProjected(NORMAL_COLUMN)); assertFalse(projSet.isProjected(SPECIAL_COLUMN)); + assertFalse(projSet.isProjected(COMPLEX_SPECIAL_COLUMN)); assertTrue(projSet.projections().isEmpty()); assertFalse(projSet.isEmpty()); } @@ -91,6 +95,7 @@ public class TestTupleProjection extends BaseTest { assertNull(projSet.get("foo")); assertTrue(projSet.isProjected(NORMAL_COLUMN)); assertFalse(projSet.isProjected(SPECIAL_COLUMN)); + assertFalse(projSet.isProjected(COMPLEX_SPECIAL_COLUMN)); assertEquals(1, projSet.projections().size()); assertFalse(projSet.isEmpty()); } @@ -107,6 +112,7 @@ public class TestTupleProjection extends BaseTest { assertFalse(projSet.isProjected("foo")); assertFalse(projSet.isProjected(NORMAL_COLUMN)); assertFalse(projSet.isProjected(SPECIAL_COLUMN)); + assertFalse(projSet.isProjected(COMPLEX_SPECIAL_COLUMN)); assertTrue(projSet.projections().isEmpty()); assertTrue(projSet.isEmpty()); } @@ -128,6 +134,7 @@ public class TestTupleProjection extends BaseTest { assertTrue(projSet.isProjected(SPECIAL_COLUMN)); assertFalse(projSet.isProjected(UNPROJECTED_COLUMN)); assertFalse(projSet.isProjected(UNPROJECTED_SPECIAL_COLUMN)); + assertFalse(projSet.isProjected(COMPLEX_SPECIAL_COLUMN)); List<RequestedColumn> cols = projSet.projections(); assertEquals(3, cols.size()); diff --git a/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/DictColumnMetadata.java b/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/DictColumnMetadata.java index 09a268abbf..8b5bd6f95b 100644 --- a/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/DictColumnMetadata.java +++ b/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/DictColumnMetadata.java @@ -72,7 +72,9 @@ public class DictColumnMetadata extends AbstractMapColumnMetadata { @Override public ColumnMetadata cloneEmpty() { - return new DictColumnMetadata(name, mode, new TupleSchema()); + ColumnMetadata colMeta = new DictColumnMetadata(name, mode, new TupleSchema()); + colMeta.setProperties(this.properties()); + return colMeta; } @Override diff --git a/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/MapColumnMetadata.java b/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/MapColumnMetadata.java index 1883451381..3f192cba44 100644 --- a/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/MapColumnMetadata.java +++ b/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/MapColumnMetadata.java @@ -64,7 +64,9 @@ public class MapColumnMetadata extends AbstractMapColumnMetadata { @Override public ColumnMetadata cloneEmpty() { - return new MapColumnMetadata(name, mode, new TupleSchema()); + ColumnMetadata colMeta = new MapColumnMetadata(name, mode, new TupleSchema()); + colMeta.setProperties(this.properties()); + return colMeta; } @Override diff --git a/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/RepeatedListColumnMetadata.java b/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/RepeatedListColumnMetadata.java index 800f83b500..501f62ef63 100644 --- a/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/RepeatedListColumnMetadata.java +++ b/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/RepeatedListColumnMetadata.java @@ -79,7 +79,9 @@ public class RepeatedListColumnMetadata extends AbstractColumnMetadata { @Override public ColumnMetadata cloneEmpty() { - return new RepeatedListColumnMetadata(name, null); + ColumnMetadata colMeta = new RepeatedListColumnMetadata(name, null); + colMeta.setProperties(this.properties()); + return colMeta; } @Override diff --git a/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/VariantColumnMetadata.java b/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/VariantColumnMetadata.java index 731f6062d2..6e3c93fb1c 100644 --- a/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/VariantColumnMetadata.java +++ b/exec/vector/src/main/java/org/apache/drill/exec/record/metadata/VariantColumnMetadata.java @@ -140,7 +140,9 @@ public class VariantColumnMetadata extends AbstractColumnMetadata { @Override public ColumnMetadata cloneEmpty() { - return new VariantColumnMetadata(name, type, mode, new VariantSchema()); + VariantColumnMetadata colMeta = new VariantColumnMetadata(name, type, mode, new VariantSchema()); + colMeta.setProperties(this.properties()); + return colMeta; } @Override
