Interface DbGroupScan
- All Superinterfaces:
FragmentLeaf,GraphValue<PhysicalOperator>,GroupScan,HasAffinity,Iterable<PhysicalOperator>,Leaf,PhysicalOperator,Scan
- All Known Implementing Classes:
AbstractDbGroupScan
A DbGroupScan operator represents the scan associated with a database. The underlying
database may support secondary indexes, so there are interface methods for indexes.
-
Field Summary
Fields inherited from interface org.apache.drill.exec.physical.base.GroupScan
ALL_COLUMNS -
Method Summary
Modifier and TypeMethodDescriptionReturns a list of columns scanned by this group scanGet the format plugin cost model.getRangePartitionFunction(List<FieldReference> refList) Get a partition function instance for range based partitioninggetRestrictedScan(List<SchemaPath> columns) If this DbGroupScan supports restricted scan, create a restricted scan from this DbGroupScan.doublegetRowCount(org.apache.calcite.rex.RexNode condition, org.apache.calcite.rel.RelNode scanRel) Get the row count after applying theRexNodeconditiongetSecondaryIndexCollection(org.apache.calcite.rel.RelNode scan) Get the index collection associated with this table if anyGet the statistics for thisDbGroupScanbooleanbooleanbooleanWhether this DbGroupScan is itself a restricted scanvoidsetCostFactor(double sel) voidsetRowCount(org.apache.calcite.rex.RexNode condition, double count, double capRowCount) Set the artificial row count after applying theRexNodeconditionbooleanWhether this DbGroupScan supports creating a restricted (skip) scanbooleanMethods inherited from interface org.apache.drill.common.graph.GraphValue
acceptMethods inherited from interface org.apache.drill.exec.physical.base.GroupScan
applyAssignments, applyFilter, applyLimit, canPushdownProjects, clone, enforceWidth, getAnalyzeInfoProvider, getColumnValueCount, getDigest, getFiles, getFilter, getMaxParallelizationWidth, getMetadataProvider, getMinParallelizationWidth, getPartitionColumns, getScanStats, getScanStats, getSelectionRoot, getSpecificScan, getTableMetadata, hasFiles, isDistributed, supportsFilterPushDown, supportsLimitPushdown, supportsPartitionFilterPushdown, usedMetastoreMethods inherited from interface org.apache.drill.exec.physical.base.HasAffinity
getDistributionAffinity, getOperatorAffinityMethods inherited from interface java.lang.Iterable
forEach, iterator, spliteratorMethods inherited from interface org.apache.drill.exec.physical.base.PhysicalOperator
accept, getCost, getInitialAllocation, getMaxAllocation, getNewWithChildren, getOperatorId, getOperatorType, getSVMode, getUserName, isBufferedOperator, isExecutable, setCost, setMaxAllocation, setOperatorId
-
Method Details
-
supportsSecondaryIndex
boolean supportsSecondaryIndex() -
getSecondaryIndexCollection
Get the index collection associated with this table if any -
setRowCount
void setRowCount(org.apache.calcite.rex.RexNode condition, double count, double capRowCount) Set the artificial row count after applying theRexNodecondition- Parameters:
condition- row expressioncount- right index row countcapRowCount- row count limit
-
getRowCount
double getRowCount(org.apache.calcite.rex.RexNode condition, org.apache.calcite.rel.RelNode scanRel) Get the row count after applying theRexNodecondition- Parameters:
condition- filter to applyscanRel- the current scan rel- Returns:
- row count post filtering
-
getStatistics
Statistics getStatistics()Get the statistics for thisDbGroupScan- Returns:
- the
Statisticsfor this Scan
-
getColumns
List<SchemaPath> getColumns()Description copied from interface:GroupScanReturns a list of columns scanned by this group scan- Specified by:
getColumnsin interfaceGroupScan
-
setCostFactor
void setCostFactor(double sel) -
isIndexScan
boolean isIndexScan() -
supportsRestrictedScan
boolean supportsRestrictedScan()Whether this DbGroupScan supports creating a restricted (skip) scan- Returns:
- true if restricted scan is supported, false otherwise
-
isRestrictedScan
boolean isRestrictedScan()Whether this DbGroupScan is itself a restricted scan- Returns:
- true if this DbGroupScan is itself a restricted scan, false otherwise
-
getRestrictedScan
If this DbGroupScan supports restricted scan, create a restricted scan from this DbGroupScan.- Parameters:
columns- list of column paths- Returns:
- a non-null DbGroupScan if restricted scan is supported, null otherwise
-
getRowKeyName
String getRowKeyName() -
getIndexHint
String getIndexHint() -
getRowKeyPath
SchemaPath getRowKeyPath() -
getRangePartitionFunction
Get a partition function instance for range based partitioning- Parameters:
refList- a list of FieldReference exprs that are participating in the range partitioning- Returns:
- instance of a partitioning function
-
getPluginCostModel
PluginCost getPluginCostModel()Get the format plugin cost model. The cost model will provide cost factors such as seq. scan cost, random scan cost, block size- Returns:
- a PluginCost cost model
-
isFilterPushedDown
boolean isFilterPushedDown()
-