This is an automated email from the ASF dual-hosted git repository. amansinha pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/drill.git.
from 61e8b46 DRILL-6715: Update descriptions for System Options table new 0abcbe3 DRILL-6381: (Part 1) Secondary Index framework new a4f62e9 DRILL-6381: (Part 2) MapRDB plugin update to 6.0.1 new 12f57f0 DRILL-6381: (Part 3) Planner and Execution implementation to support Secondary Indexes new 2a9e51f DRILL-6381: (Part 4) Enhance MapR-DB plugin to support querying secondary indexes new 3c2f9ab DRILL-6381: (Part 5) Update Javadoc for a few interfaces. new 5fa9c80 DRILL-6381: Address code review comments. new 387bc4f DRILL-6381: Address review comments (part 2): fix formatting issues and add javadoc. new 7571d52 DRILL-6381: Address code review comments (part 3). The 8 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: contrib/format-maprdb/pom.xml | 89 ++ .../planner/index/MapRDBFunctionalIndexInfo.java | 168 ++ .../exec/planner/index/MapRDBIndexDescriptor.java | 222 +++ .../exec/planner/index/MapRDBIndexDiscover.java | 376 +++++ .../drill/exec/planner/index/MapRDBStatistics.java | 1006 ++++++++++++ .../planner/index/MapRDBStatisticsPayload.java | 44 +- .../drill/exec/store/mapr/PluginConstants.java | 93 ++ .../drill/exec/store/mapr/PluginErrorHandler.java | 50 + .../drill/exec/store/mapr/db/MapRDBCost.java | 104 ++ .../exec/store/mapr/db/MapRDBFormatMatcher.java | 46 +- .../exec/store/mapr/db/MapRDBFormatPlugin.java | 69 +- .../store/mapr/db/MapRDBFormatPluginConfig.java | 4 + .../drill/exec/store/mapr/db/MapRDBGroupScan.java | 83 +- .../store/mapr/db/MapRDBPushFilterIntoScan.java | 20 +- .../store/mapr/db/MapRDBPushLimitIntoScan.java | 203 +++ .../store/mapr/db/MapRDBPushProjectIntoScan.java | 142 ++ ....java => MapRDBRestrictedScanBatchCreator.java} | 41 +- .../exec/store/mapr/db/MapRDBScanBatchCreator.java | 6 +- .../drill/exec/store/mapr/db/MapRDBSubScan.java | 23 +- .../exec/store/mapr/db/MapRDBSubScanSpec.java | 54 +- .../drill/exec/store/mapr/db/MapRDBTableCache.java | 232 +++ .../store/mapr/db/RestrictedMapRDBSubScan.java | 80 + .../store/mapr/db/RestrictedMapRDBSubScanSpec.java | 191 +++ .../store/mapr/db/binary/BinaryTableGroupScan.java | 34 +- .../store/mapr/db/json/AllTextValueWriter.java | 80 + .../mapr/db/json/CompareFunctionsProcessor.java | 15 +- .../mapr/db/json/DocumentReaderVectorWriter.java | 42 + .../exec/store/mapr/db/json/FieldPathHelper.java | 75 + .../mapr/db/json/FieldTransferVectorWriter.java | 49 + .../store/mapr/db/json/IdOnlyVectorWriter.java | 65 + .../store/mapr/db/json/JsonConditionBuilder.java | 59 +- .../exec/store/mapr/db/json/JsonScanSpec.java | 93 +- .../exec/store/mapr/db/json/JsonSubScanSpec.java | 69 +- .../store/mapr/db/json/JsonTableGroupScan.java | 676 +++++++- .../db/json/JsonTableRangePartitionFunction.java | 237 +++ .../store/mapr/db/json/MaprDBJsonRecordReader.java | 538 +++---- .../mapr/db/json/NumbersAsDoubleValueWriter.java | 51 + .../store/mapr/db/json/OjaiFunctionsProcessor.java | 214 +++ .../exec/store/mapr/db/json/OjaiValueWriter.java | 194 +++ .../db/json/ProjectionPassthroughVectorWriter.java | 83 + .../mapr/db/json/RestrictedJsonRecordReader.java | 248 +++ .../mapr/db/json/RestrictedJsonTableGroupScan.java | 184 +++ .../store/mapr/db/json/RowCountVectorWriter.java | 29 +- .../exec/udf/mapr/db/ConditionPlaceholder.java | 54 + .../drill/exec/udf/mapr/db/DecodeFieldPath.java | 65 + .../drill/exec/udf/mapr/db/MatchesPlaceholder.java | 53 + .../exec/udf/mapr/db/NotMatchesPlaceholder.java | 53 + .../exec/udf/mapr/db/NotTypeOfPlaceholder.java | 53 + .../drill/exec/udf/mapr/db/SizeOfPlaceholder.java | 54 + .../drill/exec/udf/mapr/db/TypeOfPlaceholder.java | 53 + .../src/main/resources/drill-module.conf | 20 +- .../mapr/drill/maprdb/tests/MaprDBTestsSuite.java | 63 +- .../maprdb/tests/index/IndexHintPlanTest.java | 166 ++ .../drill/maprdb/tests/index/IndexPlanTest.java | 1690 ++++++++++++++++++++ .../drill/maprdb/tests/index/LargeTableGen.java | 172 ++ .../maprdb/tests/index/LargeTableGenBase.java | 185 +++ .../drill/maprdb/tests/index/StatisticsTest.java | 108 ++ .../drill/maprdb/tests/index/TableIndexCmd.java | 123 ++ .../mapr/drill/maprdb/tests/json/BaseJsonTest.java | 13 + .../maprdb/tests/json/TestEncodedFieldPaths.java | 128 ++ .../maprdb/tests/json/TestFieldPathHelper.java | 52 + .../drill/maprdb/tests/json/TestScanRanges.java | 158 ++ .../drill/maprdb/tests/json/TestSimpleJson.java | 216 ++- .../{ => com/mapr/drill}/json/business.json | 0 .../mapr/drill/json/encoded_fields_userdata.json | 5 + .../resources/{hbase-site.xml => core-site.xml} | 5 + contrib/native/client/src/protobuf/BitData.pb.cc | 55 +- contrib/native/client/src/protobuf/BitData.pb.h | 36 +- .../native/client/src/protobuf/UserBitShared.pb.cc | 57 +- .../native/client/src/protobuf/UserBitShared.pb.h | 7 +- .../exec/store/hbase/HBasePushFilterIntoScan.java | 2 +- ...ertHiveMapRDBJsonScanToDrillMapRDBJsonScan.java | 2 +- .../store/kafka/KafkaPushDownFilterIntoScan.java | 3 +- .../store/mongo/MongoPushDownFilterForScan.java | 5 +- .../java/org/apache/drill/exec/ExecConstants.java | 2 + .../exec/physical/base/AbstractDbGroupScan.java | 95 ++ .../base/AbstractDbSubScan.java} | 26 +- .../exec/physical/base/AbstractGroupScan.java | 6 + .../physical/base/AbstractPhysicalVisitor.java | 18 + .../drill/exec/physical/base/DbGroupScan.java | 129 ++ .../apache/drill/exec/physical/base/DbSubScan.java | 41 +- .../apache/drill/exec/physical/base/GroupScan.java | 3 + .../drill/exec/physical/base/IndexGroupScan.java | 75 + .../drill/exec/physical/base/PhysicalVisitor.java | 6 + .../drill/exec/physical/config/HashJoinPOP.java | 62 +- .../exec/physical/config/HashPartitionSender.java | 20 +- .../physical/config/RangePartitionExchange.java | 60 + ...{RangeSender.java => RangePartitionSender.java} | 52 +- .../drill/exec/physical/config/RowKeyJoinPOP.java | 96 ++ .../apache/drill/exec/physical/impl/ScanBatch.java | 145 +- .../exec/physical/impl/common/HashPartition.java | 15 +- .../drill/exec/physical/impl/common/HashTable.java | 3 + .../exec/physical/impl/common/HashTableConfig.java | 45 +- .../physical/impl/common/HashTableTemplate.java | 23 + .../exec/physical/impl/join/HashJoinBatch.java | 100 +- .../physical/impl/join/HashJoinBatchCreator.java | 11 +- .../exec/physical/impl/join/HashJoinHelper.java | 11 +- .../physical/impl/join/HashJoinProbeTemplate.java | 27 +- .../drill/exec/physical/impl/join/RowKeyJoin.java | 79 + .../exec/physical/impl/join/RowKeyJoinBatch.java | 290 ++++ ...tchCreator.java => RowKeyJoinBatchCreator.java} | 18 +- .../impl/mergereceiver/MergingRecordBatch.java | 5 +- .../physical/impl/partitionsender/Partitioner.java | 5 + .../RangePartitionRecordBatch.java | 193 +++ .../RangePartitionSenderCreator.java | 46 + .../apache/drill/exec/planner/PlannerPhase.java | 34 +- .../exec/planner/common/DrillJoinRelBase.java | 4 + .../drill/exec/planner/common/DrillRelOptUtil.java | 154 ++ .../exec/planner/common/DrillScanRelBase.java | 39 +- .../drill/exec/planner/common/JoinControl.java | 53 + .../drill/exec/planner/common/OrderedRel.java | 53 + .../cost/DrillDefaultRelMetadataProvider.java | 1 + .../exec/planner/cost/DrillRelMdSelectivity.java | 90 ++ .../apache/drill/exec/planner/cost/PluginCost.java | 79 + .../drill/exec/planner/fragment/Materializer.java | 37 +- .../planner/index/AbstractIndexCollection.java | 96 ++ .../planner/index/AbstractIndexDescriptor.java | 80 + .../planner/index/AbstractIndexStatistics.java | 51 + .../CollationContext.java} | 26 +- .../exec/planner/index/DrillIndexCollection.java | 75 + .../exec/planner/index/DrillIndexDefinition.java | 278 ++++ .../exec/planner/index/DrillIndexDescriptor.java | 122 ++ .../apache/drill/exec/planner/index/ExprToRex.java | 107 ++ .../planner/index/FindFiltersForCollation.java | 199 +++ .../exec/planner/index/FunctionalIndexHelper.java | 215 +++ .../exec/planner/index/FunctionalIndexInfo.java | 85 + .../drill/exec/planner/index/IndexCallContext.java | 76 + .../drill/exec/planner/index/IndexCollection.java | 101 ++ .../exec/planner/index/IndexConditionInfo.java | 258 +++ .../drill/exec/planner/index/IndexDefinition.java | 119 ++ .../drill/exec/planner/index/IndexDescriptor.java | 90 ++ .../IndexDiscover.java} | 16 +- .../exec/planner/index/IndexDiscoverBase.java | 110 ++ .../exec/planner/index/IndexDiscoverFactory.java | 75 + .../IndexDiscoverable.java} | 28 +- .../drill/exec/planner/index/IndexGroup.java | 59 + .../planner/index/IndexLogicalPlanCallContext.java | 178 +++ .../index/IndexPhysicalPlanCallContext.java | 193 +++ .../drill/exec/planner/index/IndexPlanUtils.java | 872 ++++++++++ .../drill/exec/planner/index/IndexProperties.java | 69 + .../drill/exec/planner/index/IndexSelector.java | 766 +++++++++ .../IndexStatistics.java} | 27 +- .../exec/planner/index/IndexableExprMarker.java | 262 +++ .../InvalidIndexDefinitionException.java} | 20 +- .../drill/exec/planner/index/PathInExpr.java | 147 ++ .../drill/exec/planner/index/RexSeparator.java | 116 ++ .../drill/exec/planner/index/RexToExpression.java | 165 ++ .../drill/exec/planner/index/SimpleRexRemap.java | 300 ++++ .../drill/exec/planner/index/Statistics.java | 65 + .../StatisticsPayload.java} | 19 +- .../generators/AbstractIndexPlanGenerator.java | 274 ++++ .../generators/CoveringIndexPlanGenerator.java | 208 +++ .../generators/CoveringPlanNoFilterGenerator.java | 125 ++ .../generators/IndexIntersectPlanGenerator.java | 350 ++++ .../generators/NonCoveringIndexPlanGenerator.java | 336 ++++ .../planner/index/rules/AbstractMatchFunction.java | 58 + .../planner/index/rules/DbScanSortRemovalRule.java | 239 +++ .../index/rules/DbScanToIndexScanPrule.java | 533 ++++++ .../rules/MatchFunction.java} | 20 +- .../planner/logical/DrillMergeProjectRule.java | 32 + .../drill/exec/planner/logical/DrillOptiq.java | 43 +- .../logical/DrillPushProjectIntoScanRule.java | 171 +- .../drill/exec/planner/logical/DrillScanRel.java | 37 +- .../drill/exec/planner/logical/DrillSortRel.java | 17 +- .../drill/exec/planner/logical/DrillTable.java | 4 + .../physical/AbstractRangePartitionFunction.java | 44 +- .../planner/physical/BroadcastExchangePrel.java | 7 +- .../planner/physical/ConvertCountToDirectScan.java | 6 +- .../{ScanPrel.java => DirectScanPrel.java} | 146 +- .../exec/planner/physical/DirectScanPrule.java | 10 +- .../planner/physical/DrillDistributionTrait.java | 31 +- .../physical/DrillDistributionTraitDef.java | 11 +- .../drill/exec/planner/physical/FilterPrel.java | 2 +- .../drill/exec/planner/physical/HashJoinPrel.java | 26 +- ...seRule.java => LimitExchangeTransposeRule.java} | 63 +- .../exec/planner/physical/PartitionFunction.java | 56 + .../exec/planner/physical/PlannerSettings.java | 70 + .../drill/exec/planner/physical/PrelFactories.java | 52 + .../drill/exec/planner/physical/PrelUtil.java | 1 + .../physical/RangePartitionExchangePrel.java | 130 ++ .../exec/planner/physical/RowKeyJoinPrel.java | 120 ++ .../drill/exec/planner/physical/ScanPrel.java | 50 +- .../drill/exec/planner/physical/ScanPrule.java | 2 +- .../drill/exec/planner/physical/SortPrel.java | 28 +- .../drill/exec/planner/physical/SortPrule.java | 16 +- .../exec/planner/physical/SubsetTransformer.java | 13 + .../drill/exec/planner/physical/TopNPrel.java | 31 +- .../visitor/ExcessiveExchangeIdentifier.java | 28 + .../physical/visitor/SwapHashJoinVisitor.java | 3 +- .../drill/exec/record/AbstractRecordBatch.java | 2 +- .../exec/server/options/SystemOptionManager.java | 19 +- .../drill/exec/store/AbstractRecordReader.java | 5 + .../org/apache/drill/exec/store/RecordReader.java | 8 + .../drill/exec/store/dfs/FileSystemConfig.java | 8 +- .../InfoSchemaPushFilterIntoRecordGenerator.java | 2 +- .../exec/store/parquet/ParquetPushDownFilter.java | 2 +- .../drill/exec/util/EncodedSchemaPathSet.java | 291 ++++ .../java-exec/src/main/resources/drill-module.conf | 16 + .../physical/impl/common/HashPartitionTest.java | 2 +- .../java/org/apache/drill/test/BaseTestQuery.java | 12 +- .../drill/common/expression/CastExpression.java | 23 + .../apache/drill/common/expression/SchemaPath.java | 3 + .../drill/common/logical/StoragePluginConfig.java | 9 +- pom.xml | 4 +- .../org/apache/drill/exec/proto/UserBitShared.java | 75 +- .../drill/exec/proto/beans/CoreOperatorType.java | 8 +- protocol/src/main/protobuf/UserBitShared.proto | 3 +- 207 files changed, 20202 insertions(+), 1436 deletions(-) create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/planner/index/MapRDBFunctionalIndexInfo.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/planner/index/MapRDBIndexDescriptor.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/planner/index/MapRDBIndexDiscover.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/planner/index/MapRDBStatistics.java copy exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/HashJoinBatchCreator.java => contrib/format-maprdb/src/main/java/org/apache/drill/exec/planner/index/MapRDBStatisticsPayload.java (50%) create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/PluginConstants.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/PluginErrorHandler.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/MapRDBCost.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/MapRDBPushLimitIntoScan.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/MapRDBPushProjectIntoScan.java copy contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/{MapRDBScanBatchCreator.java => MapRDBRestrictedScanBatchCreator.java} (51%) create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/MapRDBTableCache.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/RestrictedMapRDBSubScan.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/RestrictedMapRDBSubScanSpec.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/AllTextValueWriter.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/DocumentReaderVectorWriter.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/FieldPathHelper.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/FieldTransferVectorWriter.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/IdOnlyVectorWriter.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/JsonTableRangePartitionFunction.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/NumbersAsDoubleValueWriter.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/OjaiFunctionsProcessor.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/OjaiValueWriter.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/ProjectionPassthroughVectorWriter.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/RestrictedJsonRecordReader.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/RestrictedJsonTableGroupScan.java copy exec/java-exec/src/main/java/org/apache/drill/exec/planner/cost/DrillDefaultRelMetadataProvider.java => contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/RowCountVectorWriter.java (53%) create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/ConditionPlaceholder.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/DecodeFieldPath.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/MatchesPlaceholder.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/NotMatchesPlaceholder.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/NotTypeOfPlaceholder.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/SizeOfPlaceholder.java create mode 100644 contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/TypeOfPlaceholder.java create mode 100644 contrib/format-maprdb/src/test/java/com/mapr/drill/maprdb/tests/index/IndexHintPlanTest.java create mode 100644 contrib/format-maprdb/src/test/java/com/mapr/drill/maprdb/tests/index/IndexPlanTest.java create mode 100644 contrib/format-maprdb/src/test/java/com/mapr/drill/maprdb/tests/index/LargeTableGen.java create mode 100644 contrib/format-maprdb/src/test/java/com/mapr/drill/maprdb/tests/index/LargeTableGenBase.java create mode 100644 contrib/format-maprdb/src/test/java/com/mapr/drill/maprdb/tests/index/StatisticsTest.java create mode 100644 contrib/format-maprdb/src/test/java/com/mapr/drill/maprdb/tests/index/TableIndexCmd.java create mode 100644 contrib/format-maprdb/src/test/java/com/mapr/drill/maprdb/tests/json/TestEncodedFieldPaths.java create mode 100644 contrib/format-maprdb/src/test/java/com/mapr/drill/maprdb/tests/json/TestFieldPathHelper.java create mode 100644 contrib/format-maprdb/src/test/java/com/mapr/drill/maprdb/tests/json/TestScanRanges.java rename contrib/format-maprdb/src/test/resources/{ => com/mapr/drill}/json/business.json (100%) create mode 100644 contrib/format-maprdb/src/test/resources/com/mapr/drill/json/encoded_fields_userdata.json rename contrib/format-maprdb/src/test/resources/{hbase-site.xml => core-site.xml} (90%) create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/AbstractDbGroupScan.java copy exec/java-exec/src/main/java/org/apache/drill/exec/{planner/cost/DrillDefaultRelMetadataProvider.java => physical/base/AbstractDbSubScan.java} (56%) create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/DbGroupScan.java copy logical/src/main/java/org/apache/drill/common/logical/StoragePluginConfig.java => exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/DbSubScan.java (52%) create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/IndexGroupScan.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/physical/config/RangePartitionExchange.java rename exec/java-exec/src/main/java/org/apache/drill/exec/physical/config/{RangeSender.java => RangePartitionSender.java} (50%) create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/physical/config/RowKeyJoinPOP.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/RowKeyJoin.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/RowKeyJoinBatch.java copy exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/{HashJoinBatchCreator.java => RowKeyJoinBatchCreator.java} (63%) create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/rangepartitioner/RangePartitionRecordBatch.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/rangepartitioner/RangePartitionSenderCreator.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/common/JoinControl.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/common/OrderedRel.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/cost/DrillRelMdSelectivity.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/cost/PluginCost.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/AbstractIndexCollection.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/AbstractIndexDescriptor.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/AbstractIndexStatistics.java copy exec/java-exec/src/main/java/org/apache/drill/exec/planner/{cost/DrillDefaultRelMetadataProvider.java => index/CollationContext.java} (56%) create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/DrillIndexCollection.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/DrillIndexDefinition.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/DrillIndexDescriptor.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/ExprToRex.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/FindFiltersForCollation.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/FunctionalIndexHelper.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/FunctionalIndexInfo.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexCallContext.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexCollection.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexConditionInfo.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexDefinition.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexDescriptor.java copy exec/java-exec/src/main/java/org/apache/drill/exec/planner/{cost/DrillDefaultRelMetadataProvider.java => index/IndexDiscover.java} (55%) create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexDiscoverBase.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexDiscoverFactory.java copy exec/java-exec/src/main/java/org/apache/drill/exec/planner/{cost/DrillDefaultRelMetadataProvider.java => index/IndexDiscoverable.java} (55%) create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexGroup.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexLogicalPlanCallContext.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexPhysicalPlanCallContext.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexPlanUtils.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexProperties.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexSelector.java copy exec/java-exec/src/main/java/org/apache/drill/exec/planner/{cost/DrillDefaultRelMetadataProvider.java => index/IndexStatistics.java} (55%) create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexableExprMarker.java copy exec/java-exec/src/main/java/org/apache/drill/exec/planner/{cost/DrillDefaultRelMetadataProvider.java => index/InvalidIndexDefinitionException.java} (56%) create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/PathInExpr.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/RexSeparator.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/RexToExpression.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/SimpleRexRemap.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/Statistics.java copy exec/java-exec/src/main/java/org/apache/drill/exec/planner/{cost/DrillDefaultRelMetadataProvider.java => index/StatisticsPayload.java} (55%) create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/generators/AbstractIndexPlanGenerator.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/generators/CoveringIndexPlanGenerator.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/generators/CoveringPlanNoFilterGenerator.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/generators/IndexIntersectPlanGenerator.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/generators/NonCoveringIndexPlanGenerator.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/rules/AbstractMatchFunction.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/rules/DbScanSortRemovalRule.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/rules/DbScanToIndexScanPrule.java copy exec/java-exec/src/main/java/org/apache/drill/exec/planner/{cost/DrillDefaultRelMetadataProvider.java => index/rules/MatchFunction.java} (55%) copy logical/src/main/java/org/apache/drill/common/logical/StoragePluginConfig.java => exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/AbstractRangePartitionFunction.java (55%) copy exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/{ScanPrel.java => DirectScanPrel.java} (62%) rename exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/{LimitUnionExchangeTransposeRule.java => LimitExchangeTransposeRule.java} (51%) create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PartitionFunction.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelFactories.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/RangePartitionExchangePrel.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/RowKeyJoinPrel.java create mode 100644 exec/java-exec/src/main/java/org/apache/drill/exec/util/EncodedSchemaPathSet.java