public abstract class AbstractPluginImplementor extends Object implements PluginImplementor
PluginImplementor
that can be used by
plugin implementors which can support only a subset of all provided operations.Constructor and Description |
---|
AbstractPluginImplementor() |
Modifier and Type | Method and Description |
---|---|
boolean |
artificialLimit()
If the plugin doesn't support native limit pushdown,
but the reader can limit the number of rows to read.
|
boolean |
canImplement(org.apache.calcite.rel.core.Aggregate aggregate) |
boolean |
canImplement(DrillLimitRelBase limit) |
boolean |
canImplement(org.apache.calcite.rel.core.Filter filter) |
boolean |
canImplement(org.apache.calcite.rel.core.Join scan) |
boolean |
canImplement(org.apache.calcite.rel.core.Project project) |
boolean |
canImplement(org.apache.calcite.rel.core.Sort sort) |
boolean |
canImplement(org.apache.calcite.rel.core.TableScan scan) |
boolean |
canImplement(org.apache.calcite.rel.core.Union union) |
protected GroupScan |
findGroupScan(org.apache.calcite.rel.RelNode node) |
protected abstract boolean |
hasPluginGroupScan(org.apache.calcite.rel.RelNode node) |
void |
implement(PluginAggregateRel aggregate) |
void |
implement(PluginFilterRel filter) |
void |
implement(PluginJoinRel join) |
void |
implement(PluginLimitRel limit) |
void |
implement(PluginProjectRel project) |
void |
implement(PluginSortRel sort) |
void |
implement(PluginUnionRel union) |
void |
implement(StoragePluginTableScan scan) |
boolean |
splitProject(org.apache.calcite.rel.core.Project project) |
protected abstract Class<? extends StoragePlugin> |
supportedPlugin() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getPhysicalOperator, visitChild
public void implement(PluginAggregateRel aggregate) throws IOException
implement
in interface PluginImplementor
IOException
public void implement(PluginFilterRel filter) throws IOException
implement
in interface PluginImplementor
IOException
public void implement(PluginLimitRel limit) throws IOException
implement
in interface PluginImplementor
IOException
public void implement(PluginProjectRel project) throws IOException
implement
in interface PluginImplementor
IOException
public void implement(PluginSortRel sort) throws IOException
implement
in interface PluginImplementor
IOException
public void implement(PluginUnionRel union) throws IOException
implement
in interface PluginImplementor
IOException
public void implement(PluginJoinRel join) throws IOException
implement
in interface PluginImplementor
IOException
public void implement(StoragePluginTableScan scan) throws IOException
implement
in interface PluginImplementor
IOException
public boolean canImplement(org.apache.calcite.rel.core.Aggregate aggregate)
canImplement
in interface PluginImplementor
public boolean canImplement(org.apache.calcite.rel.core.Filter filter)
canImplement
in interface PluginImplementor
public boolean canImplement(DrillLimitRelBase limit)
canImplement
in interface PluginImplementor
public boolean canImplement(org.apache.calcite.rel.core.Project project)
canImplement
in interface PluginImplementor
public boolean canImplement(org.apache.calcite.rel.core.Sort sort)
canImplement
in interface PluginImplementor
public boolean canImplement(org.apache.calcite.rel.core.Union union)
canImplement
in interface PluginImplementor
public boolean canImplement(org.apache.calcite.rel.core.TableScan scan)
canImplement
in interface PluginImplementor
public boolean canImplement(org.apache.calcite.rel.core.Join scan)
canImplement
in interface PluginImplementor
public boolean splitProject(org.apache.calcite.rel.core.Project project)
splitProject
in interface PluginImplementor
public boolean artificialLimit()
PluginImplementor
artificialLimit
in interface PluginImplementor
protected GroupScan findGroupScan(org.apache.calcite.rel.RelNode node)
protected abstract Class<? extends StoragePlugin> supportedPlugin()
protected abstract boolean hasPluginGroupScan(org.apache.calcite.rel.RelNode node)
Copyright © 1970 The Apache Software Foundation. All rights reserved.