This is an automated email from the ASF dual-hosted git repository.
arina pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/drill.git.
from 56d0a2e DRILL-7121: Use the NDV guess (same as before) when
statistics is disabled
new 5f5b3ca DRILL-7138: Implement command to describe schema for table
new d89d5fc DRILL-7011: Support schema in scan framework
new a61eddc DRILL-6989: Upgrade to SqlLine 1.7
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../drill/common/exceptions/UserException.java | 37 +-
distribution/src/resources/sqlline | 2 +-
distribution/src/resources/sqlline.bat | 2 +-
.../src/main/codegen/includes/parserImpls.ftl | 39 +-
.../exec/cache/VectorAccessibleSerializable.java | 4 -
.../apache/drill/exec/cache/VectorSerializer.java | 1 -
.../drill/exec/client/DrillSqlLineApplication.java | 32 +-
.../drill/exec/client/LoggingResultsListener.java | 1 -
.../apache/drill/exec/compile/ClassBuilder.java | 1 -
.../drill/exec/compile/ClassTransformer.java | 1 -
.../expr/fn/FunctionImplementationRegistry.java | 2 -
.../exec/physical/impl/MergingReceiverCreator.java | 1 -
.../apache/drill/exec/physical/impl/ScanBatch.java | 2 +-
.../physical/impl/TopN/PriorityQueueTemplate.java | 5 +-
.../drill/exec/physical/impl/TopN/TopNBatch.java | 7 -
.../exec/physical/impl/WriterRecordBatch.java | 2 -
.../exec/physical/impl/aggregate/HashAggBatch.java | 5 +-
.../physical/impl/aggregate/HashAggTemplate.java | 4 +-
.../physical/impl/aggregate/StreamingAggBatch.java | 3 -
.../physical/impl/common/ChainedHashTable.java | 1 -
.../physical/impl/common/HashTableTemplate.java | 8 +-
.../physical/impl/flatten/FlattenRecordBatch.java | 4 -
.../impl/mergereceiver/MergingRecordBatch.java | 3 -
.../OrderedPartitionRecordBatch.java | 5 -
.../OrderedPartitionSenderCreator.java | 1 -
.../impl/partitionsender/PartitionerTemplate.java | 1 -
.../impl/scan/columns/ColumnsArrayManager.java | 8 +-
.../impl/scan/columns/ColumnsArrayParser.java | 4 +-
.../impl/scan/columns/ColumnsScanFramework.java | 74 +-
.../impl/scan/columns/ColumnsSchemaNegotiator.java | 5 +-
.../scan/columns/ResolvedColumnsArrayColumn.java | 5 -
.../scan/columns/UnresolvedColumnsArrayColumn.java | 8 +-
.../impl/scan/file/BaseFileScanFramework.java | 176 ---
.../impl/scan/file/FileMetadataColumn.java | 7 +-
.../impl/scan/file/FileMetadataColumnsParser.java | 4 +-
.../impl/scan/file/FileMetadataManager.java | 135 +-
.../physical/impl/scan/file/FileScanFramework.java | 189 ++-
.../physical/impl/scan/file/MetadataColumn.java | 8 +-
.../physical/impl/scan/file/PartitionColumn.java | 5 -
...sicScanFramework.java => BasicScanFactory.java} | 34 +-
.../impl/scan/framework/ManagedReader.java | 2 +-
...canFramework.java => ManagedScanFramework.java} | 127 +-
.../impl/scan/framework/SchemaNegotiatorImpl.java | 23 +-
.../impl/scan/framework/ShimBatchReader.java | 22 +-
...edColumn.java => AbstractUnresolvedColumn.java} | 39 +-
.../impl/scan/project/ColumnProjection.java | 29 -
.../scan/project/ExplicitSchemaProjection.java | 23 +-
.../impl/scan/project/MetadataManager.java | 4 +-
.../impl/scan/project/NoOpMetadataManager.java | 4 +-
.../impl/scan/project/NullColumnBuilder.java | 96 +-
.../impl/scan/project/NullColumnLoader.java | 47 +-
...lProjection.java => ReaderLevelProjection.java} | 20 +-
.../scan/project/ReaderSchemaOrchestrator.java | 66 +-
.../physical/impl/scan/project/ResolvedColumn.java | 15 +-
.../impl/scan/project/ResolvedMapColumn.java | 5 -
.../impl/scan/project/ResolvedNullColumn.java | 28 +-
.../impl/scan/project/ResolvedTableColumn.java | 17 +-
.../physical/impl/scan/project/ResolvedTuple.java | 5 +-
.../impl/scan/project/ScanLevelProjection.java | 203 ++-
.../impl/scan/project/ScanSchemaOrchestrator.java | 262 ++--
.../physical/impl/scan/project/SchemaSmoother.java | 10 +-
.../impl/scan/project/SmoothingProjection.java | 20 +-
...hemaProjection.java => WildcardProjection.java} | 11 +-
.../scan/project/WildcardSchemaProjection.java | 81 +-
.../physical/impl/sort/SortRecordBatchBuilder.java | 2 -
.../drill/exec/physical/impl/spill/SpillSet.java | 4 +-
.../physical/impl/svremover/GenericSV4Copier.java | 1 -
.../physical/impl/union/UnionAllRecordBatch.java | 2 +-
.../physical/impl/unnest/UnnestRecordBatch.java | 4 +-
.../UnorderedReceiverCreator.java | 1 -
.../physical/impl/validate/BatchValidator.java | 4 +-
.../physical/impl/xsort/ExternalSortBatch.java | 8 +-
.../exec/physical/impl/xsort/MSortTemplate.java | 2 -
.../impl/xsort/managed/BufferedBatches.java | 3 -
.../impl/xsort/managed/ExternalSortBatch.java | 1 -
.../physical/impl/xsort/managed/MSortTemplate.java | 2 -
.../xsort/managed/PriorityQueueCopierTemplate.java | 1 -
.../xsort/managed/PriorityQueueCopierWrapper.java | 1 -
.../exec/physical/rowSet/impl/BuildFromSchema.java | 1 -
.../rowSet/impl/DefaultSchemaTransformer.java | 4 +
.../physical/rowSet/impl/SchemaTransformer.java | 2 +
.../rowSet/impl/SchemaTransformerImpl.java | 5 +-
.../exec/physical/rowSet/impl/TupleState.java | 19 +-
.../rowSet/project/RequestedColumnImpl.java | 14 +-
.../drill/exec/planner/sql/DrillSqlWorker.java | 7 +
.../exec/planner/sql/handlers/SchemaHandler.java | 95 +-
.../sql/parser/CompoundIdentifierConverter.java | 1 +
.../drill/exec/planner/sql/parser/SqlSchema.java | 64 +-
.../drill/exec/record/HyperVectorWrapper.java | 1 -
.../drill/exec/record/RecordBatchLoader.java | 1 -
.../apache/drill/exec/record/RecordBatchSizer.java | 7 +-
.../org/apache/drill/exec/record/SchemaUtil.java | 3 -
.../drill/exec/record/SimpleVectorWrapper.java | 1 -
.../apache/drill/exec/record/WritableBatch.java | 4 -
.../record/metadata/AbstractColumnMetadata.java | 4 +-
.../exec/record/metadata/MapColumnMetadata.java | 1 -
.../record/metadata/PrimitiveColumnMetadata.java | 39 +-
.../drill/exec/record/metadata/SchemaBuilder.java | 10 +
.../drill/exec/record/metadata/TupleSchema.java | 4 +
.../record/metadata/schema/PathSchemaProvider.java | 4 +-
.../org/apache/drill/exec/server/Drillbit.java | 3 -
.../apache/drill/exec/server/RemoteServiceSet.java | 1 -
.../drill/exec/server/rest/DrillRestServer.java | 2 -
.../apache/drill/exec/server/rest/DrillRoot.java | 8 -
.../drill/exec/server/rest/StatusResources.java | 2 -
.../drill/exec/server/rest/StorageResources.java | 1 -
.../apache/drill/exec/server/rest/WebServer.java | 2 -
.../exec/server/rest/profile/ProfileResources.java | 3 -
.../exec/store/dfs/DrillFSDataInputStream.java | 1 -
.../exec/store/dfs/FileSystemSchemaFactory.java | 1 -
.../exec/store/dfs/easy/EasyFormatPlugin.java | 27 +-
.../exec/store/easy/text/TextFormatPlugin.java | 69 +-
.../easy/text/compliant/RepeatedVarCharOutput.java | 3 -
.../columnreaders/FixedWidthRepeatedReader.java | 1 -
.../columnreaders/ParquetColumnMetadata.java | 1 -
.../store/parquet2/DrillParquetGroupConverter.java | 2 -
.../drill/exec/store/sys/FunctionsIterator.java | 1 -
.../drill/exec/util/StoragePluginTestUtils.java | 1 -
.../drill/exec/vector/complex/fn/JsonReader.java | 4 -
.../drill/exec/vector/complex/fn/VectorOutput.java | 4 -
.../vector/complex/impl/VectorContainerWriter.java | 1 -
.../drill/exec/work/foreman/FragmentsRunner.java | 1 -
.../drill/exec/work/foreman/QueryManager.java | 2 -
.../work/foreman/rm/DistributedQueryQueue.java | 1 -
.../work/foreman/rm/DynamicResourceManager.java | 1 -
.../work/foreman/rm/ResourceManagerBuilder.java | 1 -
.../drill/exec/work/fragment/FragmentExecutor.java | 5 +-
.../apache/drill/exec/work/user/PlanSplitter.java | 1 -
.../src/main/resources/drill-sqlline.conf | 4 +-
.../test/java/org/apache/drill/PlanningBase.java | 1 -
.../java/org/apache/drill/TestSchemaCommands.java | 114 +-
.../apache/drill/exec/cache/TestWriteToDisk.java | 1 -
.../exec/fn/interp/ExpressionInterpreterTest.java | 3 -
.../exec/physical/impl/TestConvertFunctions.java | 2 -
.../exec/physical/impl/TestSimpleFunctions.java | 1 -
.../impl/mergereceiver/TestMergingReceiver.java | 7 -
.../impl/scan/BaseScanOperatorExecTest.java | 180 +++
.../exec/physical/impl/scan/ScanTestUtils.java | 74 +-
.../exec/physical/impl/scan/TestColumnsArray.java | 38 +-
.../impl/scan/TestColumnsArrayFramework.java | 96 +-
.../physical/impl/scan/TestColumnsArrayParser.java | 33 +-
.../impl/scan/TestFileMetadataColumnParser.java | 197 ++-
.../impl/scan/TestFileMetadataProjection.java | 50 +-
.../physical/impl/scan/TestFileScanFramework.java | 166 +-
.../physical/impl/scan/TestScanOperExecBasics.java | 398 +++++
.../impl/scan/TestScanOperExecEarlySchema.java | 260 ++++
.../impl/scan/TestScanOperExecLateSchema.java | 402 +++++
.../impl/scan/TestScanOperExecOuputSchema.java | 253 +++
.../impl/scan/TestScanOperExecOverflow.java | 195 +++
.../impl/scan/TestScanOperExecSmoothing.java | 257 ++++
.../physical/impl/scan/TestScanOperatorExec.java | 1603 --------------------
.../impl/scan/TestScanOrchestratorEarlySchema.java | 94 +-
.../impl/scan/TestScanOrchestratorLateSchema.java | 11 +-
.../impl/scan/TestScanOrchestratorMetadata.java | 83 +-
.../impl/scan/project/TestNullColumnLoader.java | 221 ++-
...jection.java => TestReaderLevelProjection.java} | 166 +-
.../impl/scan/project/TestRowBatchMerger.java | 12 +-
.../impl/scan/project/TestScanLevelProjection.java | 90 +-
.../impl/scan/project/TestSchemaSmoothing.java | 72 +-
.../physical/impl/writer/TestParquetWriter.java | 1 -
.../impl/xsort/TestSimpleExternalSort.java | 13 +-
.../impl/xsort/managed/SortTestUtilities.java | 9 +-
.../physical/impl/xsort/managed/TestCopier.java | 31 +-
.../impl/xsort/managed/TestShortArrays.java | 1 -
.../physical/impl/xsort/managed/TestSortImpl.java | 13 +-
.../physical/impl/xsort/managed/TestSorter.java | 13 +-
.../exec/physical/unit/MiniPlanUnitTestBase.java | 1 -
.../metadata/schema/parser/TestSchemaParser.java | 4 +-
.../apache/drill/exec/record/vector/TestLoad.java | 3 -
.../drill/exec/record/vector/TestValueVector.java | 6 +-
.../drill/exec/rpc/data/TestBitBitKerberos.java | 1 -
.../drill/exec/server/TestDrillbitResilience.java | 2 -
.../store/easy/text/compliant/BaseCsvTest.java | 13 +
.../easy/text/compliant/TestCsvWithSchema.java | 793 ++++++++++
.../easy/text/compliant/TestPartitionRace.java | 13 +-
.../columnreaders/TestBatchSizingMemoryUtil.java | 1 -
.../java/org/apache/drill/test/BaseTestQuery.java | 1 -
.../java/org/apache/drill/test/ClusterFixture.java | 4 -
.../drill/test/ClusterMockStorageFixture.java | 1 -
.../drill/test/LegacyOperatorTestBuilder.java | 2 +-
.../org/apache/drill/test/OperatorFixture.java | 2 -
.../org/apache/drill/test/OperatorTestBuilder.java | 2 +-
.../java/org/apache/drill/test/QueryBuilder.java | 1 -
.../java/org/apache/drill/test/QueryTestUtil.java | 3 -
.../apache/drill/test/rowSet/HyperRowSetImpl.java | 1 -
.../apache/drill/test/rowSet/RowSetComparison.java | 5 +-
.../test/rowSet/test/TestColumnConverter.java | 274 +++-
.../drill/test/rowSet/test/TestFillEmpties.java | 3 +
.../test/rowSet/test/TestIndirectReaders.java | 2 -
.../test/rowSet/test/TestScalarAccessors.java | 346 +++--
.../test/rowSet/test/TestVariantAccessors.java | 2 -
.../org/apache/drill/vector/TestFillEmpties.java | 4 -
.../org/apache/drill/vector/TestToNullable.java | 6 +-
.../main/codegen/templates/ColumnAccessors.java | 183 ++-
.../drill/exec/record/MaterializedField.java | 70 +-
.../exec/record/metadata/AbstractPropertied.java | 12 +-
.../drill/exec/record/metadata/ColumnMetadata.java | 3 +-
.../drill/exec/record/metadata/ProjectionType.java | 60 +-
.../drill/exec/record/metadata/Propertied.java | 2 +
.../drill/exec/record/metadata/TupleMetadata.java | 2 +
.../drill/exec/vector/accessor/ScalarReader.java | 25 +
.../drill/exec/vector/accessor/ScalarWriter.java | 15 +
.../drill/exec/vector/accessor/ValueType.java | 21 +
...gToLong.java => AbstractConvertFromString.java} | 27 +-
.../accessor/convert/AbstractWriteConverter.java | 2 +-
.../ConvertBooleanToString.java} | 29 +-
...tStringToTime.java => ConvertDateToString.java} | 38 +-
...ringToLong.java => ConvertDecimalToString.java} | 29 +-
...tringToLong.java => ConvertDoubleToString.java} | 27 +-
.../ConvertIntToString.java} | 31 +-
...ingToLong.java => ConvertIntervalToString.java} | 30 +-
.../ConvertLongToString.java} | 31 +-
...ringToLong.java => ConvertStringToBoolean.java} | 13 +-
.../accessor/convert/ConvertStringToDate.java | 17 +-
...tringToInt.java => ConvertStringToDecimal.java} | 15 +-
.../accessor/convert/ConvertStringToDouble.java | 4 +-
.../accessor/convert/ConvertStringToInt.java | 4 +-
.../accessor/convert/ConvertStringToInterval.java | 4 +-
.../accessor/convert/ConvertStringToLong.java | 4 +-
.../accessor/convert/ConvertStringToTime.java | 16 +-
.../accessor/convert/ConvertStringToTimeStamp.java | 15 +-
...imeStamp.java => ConvertTimeStampToString.java} | 37 +-
...tStringToTime.java => ConvertTimeToString.java} | 38 +-
.../accessor/convert/StandardConversions.java | 104 +-
.../exec/vector/accessor/convert/package-info.java | 23 +-
.../accessor/reader/AbstractScalarReader.java | 33 +-
.../accessor/writer/AbstractScalarWriter.java | 2 +
.../accessor/writer/NullableScalarWriter.java | 11 +
.../accessor/writer/OffsetVectorWriterImpl.java | 6 +
.../accessor/writer/dummy/DummyScalarWriter.java | 3 +
pom.xml | 2 +-
231 files changed, 6532 insertions(+), 3589 deletions(-)
delete mode 100644
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/scan/file/BaseFileScanFramework.java
rename
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/scan/framework/{BasicScanFramework.java
=> BasicScanFactory.java} (56%)
rename
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/scan/framework/{AbstractScanFramework.java
=> ManagedScanFramework.java} (63%)
rename
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/scan/project/{UnresolvedColumn.java
=> AbstractUnresolvedColumn.java} (67%)
rename
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/scan/project/{SchemaLevelProjection.java
=> ReaderLevelProjection.java} (87%)
copy
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/scan/project/{WildcardSchemaProjection.java
=> WildcardProjection.java} (86%)
create mode 100644
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/scan/BaseScanOperatorExecTest.java
create mode 100644
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/scan/TestScanOperExecBasics.java
create mode 100644
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/scan/TestScanOperExecEarlySchema.java
create mode 100644
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/scan/TestScanOperExecLateSchema.java
create mode 100644
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/scan/TestScanOperExecOuputSchema.java
create mode 100644
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/scan/TestScanOperExecOverflow.java
create mode 100644
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/scan/TestScanOperExecSmoothing.java
delete mode 100644
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/scan/TestScanOperatorExec.java
rename
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/scan/project/{TestSchemaLevelProjection.java
=> TestReaderLevelProjection.java} (75%)
create mode 100644
exec/java-exec/src/test/java/org/apache/drill/exec/store/easy/text/compliant/TestCsvWithSchema.java
copy
exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/convert/{ConvertStringToLong.java
=> AbstractConvertFromString.java} (64%)
copy
exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/{writer/OffsetVectorWriter.java
=> convert/ConvertBooleanToString.java} (65%)
copy
exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/convert/{ConvertStringToTime.java
=> ConvertDateToString.java} (61%)
copy
exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/convert/{ConvertStringToLong.java
=> ConvertDecimalToString.java} (63%)
copy
exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/convert/{ConvertStringToLong.java
=> ConvertDoubleToString.java} (63%)
copy
exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/{writer/OffsetVectorWriter.java
=> convert/ConvertIntToString.java} (64%)
copy
exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/convert/{ConvertStringToLong.java
=> ConvertIntervalToString.java} (65%)
copy
exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/{writer/OffsetVectorWriter.java
=> convert/ConvertLongToString.java} (63%)
copy
exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/convert/{ConvertStringToLong.java
=> ConvertStringToBoolean.java} (76%)
copy
exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/convert/{ConvertStringToInt.java
=> ConvertStringToDecimal.java} (75%)
copy
exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/convert/{ConvertStringToTimeStamp.java
=> ConvertTimeStampToString.java} (61%)
copy
exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/convert/{ConvertStringToTime.java
=> ConvertTimeToString.java} (61%)