This is an automated email from the ASF dual-hosted git repository. amansinha pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/drill.git
commit 3c2f9ab6c0ed290bed3bc440d72a670bbe512b5a Author: Aman Sinha <asi...@maprtech.com> AuthorDate: Thu Sep 13 03:55:47 2018 -0700 DRILL-6381: (Part 5) Update Javadoc for a few interfaces. --- .../org/apache/drill/exec/physical/base/DbSubScan.java | 4 ++-- .../drill/exec/planner/index/IndexCollection.java | 4 +++- .../drill/exec/planner/index/IndexDefinition.java | 18 ++++++++++++++++-- .../drill/exec/planner/index/IndexDescriptor.java | 15 +++++++++++++++ 4 files changed, 36 insertions(+), 5 deletions(-) diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/DbSubScan.java b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/DbSubScan.java index 874468d..1977257 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/DbSubScan.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/DbSubScan.java @@ -32,8 +32,8 @@ public interface DbSubScan extends SubScan { boolean isRestrictedSubScan(); /** - * For a restricted sub-scan, this method allows associating a (hash)join instance. A subscan within a minor - * fragment must have a corresponding (hash)join batch instance from which it will retrieve its set of + * For a restricted sub-scan, this method allows associating a rowkey join instance. A subscan within a minor + * fragment must have a corresponding rowkey join batch instance from which it will retrieve its set of * rowkeys to perform the restricted scan. * @param batch */ diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexCollection.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexCollection.java index 9b4d170..f5ab173 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexCollection.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexCollection.java @@ -21,7 +21,9 @@ import org.apache.calcite.rex.RexNode; import org.apache.drill.common.expression.SchemaPath; import org.apache.drill.exec.physical.base.IndexGroupScan; -// Interface used to describe an index collection +/** + * Interface used to describe an index collection + */ public interface IndexCollection extends Iterable<IndexDescriptor> { /** * Types of an index collections: NATIVE_SECONDARY_INDEX_COLLECTION, EXTERNAL_SECONDARY_INDEX_COLLECTION diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexDefinition.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexDefinition.java index 995d23c..bfbccc2 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexDefinition.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexDefinition.java @@ -26,7 +26,9 @@ import java.util.Collection; import java.util.List; import java.util.Map; -// Interface used to define an index, +/** + * Top level interface used to define an index. + */ public interface IndexDefinition { /** * Types of an index: PRIMARY_KEY_INDEX, NATIVE_SECONDARY_INDEX, EXTERNAL_SECONDARY_INDEX @@ -87,13 +89,25 @@ public interface IndexDefinition { */ IndexType getIndexType(); - + /** + * Get the list of columns in the index key. + */ List<LogicalExpression> getIndexColumns(); + /** + * Get the list of columns that are in the 'included' or 'covered' fields. + */ List<LogicalExpression> getNonIndexColumns(); + /** + * Get the collation property (physical ordering) of the index. + */ RelCollation getCollation(); + /** + * Get a mapping of the LogicalExpresion/SchemaPath to its field collation + * - e.g Ascending/Descending, Nulls First/Nulls Last + */ Map<LogicalExpression, RelFieldCollation> getCollationMap(); /** diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexDescriptor.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexDescriptor.java index f355285..d43ba81 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexDescriptor.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/index/IndexDescriptor.java @@ -58,11 +58,26 @@ public interface IndexDescriptor extends IndexDefinition { */ boolean supportsFullTextSearch(); + /** + * Get the functional index information associated with this index (Functional indexes are + * indexes involving expressions e.g CAST(a as INT). + */ FunctionalIndexInfo getFunctionalInfo(); + /** + * Get the total cost of index access (I/O, CPU) in the context of the current query + * @param indexProps properties (metrics) of a single index in the context of current query + * @param planner Planner instance + * @param numProjectedFields Number of projected fields + * @param primaryGroupScan Primary table's GroupScan instance + * @return a RelOptCost instance representing the total cost + */ public RelOptCost getCost(IndexProperties indexProps, RelOptPlanner planner, int numProjectedFields, GroupScan primaryGroupScan); + /** + * Get the costing factors associated with the storage/format plugin + */ public PluginCost getPluginCostModel(); }