public class SplunkGroupScan extends AbstractGroupScan
INIT_ALLOCATION, initialAllocation, MAX_ALLOCATION, maxAllocation, userName
ALL_COLUMNS
Constructor and Description |
---|
SplunkGroupScan(SplunkGroupScan that)
Copies the group scan during many stages of Calcite operation.
|
SplunkGroupScan(SplunkGroupScan that,
int maxRecords)
Adds a limit to the group scan
|
SplunkGroupScan(SplunkGroupScan that,
List<SchemaPath> columns)
Applies columns.
|
SplunkGroupScan(SplunkGroupScan that,
Map<String,ExprNode.ColRelOpConstNode> filters,
double filterSelectivity)
Adds a filter to the scan.
|
SplunkGroupScan(SplunkPluginConfig config,
List<SchemaPath> columns,
SplunkScanSpec splunkScanSpec,
Map<String,ExprNode.ColRelOpConstNode> filters,
double selectivity,
int maxRecords)
Deserialize a group scan.
|
SplunkGroupScan(SplunkScanSpec scanSpec)
Creates a new group scan from the storage plugin.
|
Modifier and Type | Method and Description |
---|---|
boolean |
allowsFilters() |
void |
applyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints) |
GroupScan |
applyLimit(int maxRecords)
By default, return null to indicate row count based prune is not supported.
|
boolean |
canPushdownProjects(List<SchemaPath> columns)
GroupScan should check the list of columns, and see if it could support all the columns in the list.
|
GroupScan |
clone(List<SchemaPath> columns)
Returns a clone of GroupScan instance, except that the new GroupScan will use the provided list of columns .
|
List<SchemaPath> |
columns() |
SplunkPluginConfig |
config() |
boolean |
equals(Object obj) |
Map<String,ExprNode.ColRelOpConstNode> |
filters() |
String |
getDigest()
Returns a signature of the
GroupScan which should usually be composed of
all its attributes which could describe it uniquely. |
int |
getMaxParallelizationWidth() |
PhysicalOperator |
getNewWithChildren(List<PhysicalOperator> children)
Regenerate with this node with a new set of children.
|
ScanStats |
getScanStats() |
SubScan |
getSpecificScan(int minorFragmentId) |
boolean |
hasFilters() |
int |
hashCode() |
boolean |
hasLimit() |
int |
maxRecords() |
double |
selectivity() |
SplunkScanSpec |
splunkScanSpec() |
boolean |
supportsLimitPushdown()
Default is not to support limit pushdown.
|
String |
toString() |
accept, applyFilter, enforceWidth, getAnalyzeInfoProvider, getColumns, getColumnValueCount, getDistributionAffinity, getFiles, getFilter, getInitialAllocation, getMaxAllocation, getMetadataProvider, getMinParallelizationWidth, getOperatorAffinity, getOperatorType, getPartitionColumns, getScanStats, getScanStats, getSelectionRoot, getTableMetadata, hasFiles, isDistributed, isExecutable, iterator, supportsFilterPushDown, supportsPartitionFilterPushdown, usedMetastore
accept, getCost, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorId
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getCost, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorId
accept
forEach, spliterator
public SplunkGroupScan(SplunkScanSpec scanSpec)
public SplunkGroupScan(SplunkGroupScan that)
public SplunkGroupScan(SplunkGroupScan that, List<SchemaPath> columns)
public SplunkGroupScan(SplunkGroupScan that, Map<String,ExprNode.ColRelOpConstNode> filters, double filterSelectivity)
public SplunkGroupScan(SplunkPluginConfig config, List<SchemaPath> columns, SplunkScanSpec splunkScanSpec, Map<String,ExprNode.ColRelOpConstNode> filters, double selectivity, int maxRecords)
public SplunkGroupScan(SplunkGroupScan that, int maxRecords)
that
- Previous SplunkGroupScanmaxRecords
- the limit pushdownpublic SplunkPluginConfig config()
public List<SchemaPath> columns()
public SplunkScanSpec splunkScanSpec()
public Map<String,ExprNode.ColRelOpConstNode> filters()
public int maxRecords()
public double selectivity()
public void applyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints)
public SubScan getSpecificScan(int minorFragmentId)
public int getMaxParallelizationWidth()
public boolean canPushdownProjects(List<SchemaPath> columns)
GroupScan
canPushdownProjects
in interface GroupScan
canPushdownProjects
in class AbstractGroupScan
public boolean supportsLimitPushdown()
AbstractGroupScan
supportsLimitPushdown
in interface GroupScan
supportsLimitPushdown
in class AbstractGroupScan
public GroupScan applyLimit(int maxRecords)
AbstractGroupScan
applyLimit
in interface GroupScan
applyLimit
in class AbstractGroupScan
maxRecords
- : the number of rows requested from group scan.public String getDigest()
GroupScan
GroupScan
which should usually be composed of
all its attributes which could describe it uniquely.public PhysicalOperator getNewWithChildren(List<PhysicalOperator> children)
PhysicalOperator
public ScanStats getScanStats()
getScanStats
in class AbstractGroupScan
public boolean hasFilters()
public boolean hasLimit()
public boolean allowsFilters()
public GroupScan clone(List<SchemaPath> columns)
GroupScan
clone
in interface GroupScan
clone
in class AbstractGroupScan
Copyright © 1970 The Apache Software Foundation. All rights reserved.