diff options
author | Aman Sinha <asinha@maprtech.com> | 2018-09-13 03:55:47 -0700 |
---|---|---|
committer | Aman Sinha <asinha@maprtech.com> | 2018-10-25 16:08:51 -0700 |
commit | 3c2f9ab6c0ed290bed3bc440d72a670bbe512b5a (patch) | |
tree | 3d438fad0803982a490507cd06fc0f387bb332c0 /exec/java-exec/src/main/java/org/apache/drill/exec/planner | |
parent | 2a9e51f8a68872a77e38ee91be107868f60fd334 (diff) |
DRILL-6381: (Part 5) Update Javadoc for a few interfaces.
Diffstat (limited to 'exec/java-exec/src/main/java/org/apache/drill/exec/planner')
3 files changed, 34 insertions, 3 deletions
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 9b4d170e0..f5ab173e9 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 995d23c57..bfbccc2a7 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 f355285cc..d43ba8121 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(); } |