Class DeltaPluginImplementor
java.lang.Object
org.apache.drill.exec.store.plan.AbstractPluginImplementor
org.apache.drill.exec.store.delta.plan.DeltaPluginImplementor
- All Implemented Interfaces:
PluginImplementor
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
If the plugin doesn't support native filter pushdown, but the reader can prune the set of rows to read.boolean
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.Filter filter) boolean
canImplement
(org.apache.calcite.rel.core.Project project) boolean
canImplement
(DrillLimitRelBase limit) protected boolean
hasPluginGroupScan
(org.apache.calcite.rel.RelNode node) void
implement
(PluginFilterRel filter) void
implement
(PluginLimitRel limit) void
implement
(PluginProjectRel project) void
boolean
splitProject
(org.apache.calcite.rel.core.Project project) protected Class<? extends StoragePlugin>
Methods inherited from class org.apache.drill.exec.store.plan.AbstractPluginImplementor
canImplement, canImplement, canImplement, canImplement, canImplement, findGroupScan, implement, implement, implement, implement
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.drill.exec.store.plan.PluginImplementor
visitChild
-
Constructor Details
-
DeltaPluginImplementor
public DeltaPluginImplementor()
-
-
Method Details
-
implement
- Specified by:
implement
in interfacePluginImplementor
- Overrides:
implement
in classAbstractPluginImplementor
-
implement
- Specified by:
implement
in interfacePluginImplementor
- Overrides:
implement
in classAbstractPluginImplementor
- Throws:
IOException
-
implement
- Specified by:
implement
in interfacePluginImplementor
- Overrides:
implement
in classAbstractPluginImplementor
- Throws:
IOException
-
canImplement
public boolean canImplement(org.apache.calcite.rel.core.Filter filter) - Specified by:
canImplement
in interfacePluginImplementor
- Overrides:
canImplement
in classAbstractPluginImplementor
-
implement
- Specified by:
implement
in interfacePluginImplementor
- Overrides:
implement
in classAbstractPluginImplementor
- Throws:
IOException
-
canImplement
- Specified by:
canImplement
in interfacePluginImplementor
- Overrides:
canImplement
in classAbstractPluginImplementor
-
artificialLimit
public boolean artificialLimit()Description copied from interface:PluginImplementor
If the plugin doesn't support native limit pushdown, but the reader can limit the number of rows to read. In this case limit operator on top of the scan should be preserved to ensure returning the correct rows number.- Specified by:
artificialLimit
in interfacePluginImplementor
- Overrides:
artificialLimit
in classAbstractPluginImplementor
-
artificialFilter
public boolean artificialFilter()Description copied from interface:PluginImplementor
If the plugin doesn't support native filter pushdown, but the reader can prune the set of rows to read. In this case filter operator on top of the scan should be preserved to ensure returning the correct subset of rows.- Specified by:
artificialFilter
in interfacePluginImplementor
- Overrides:
artificialFilter
in classAbstractPluginImplementor
-
supportedPlugin
- Specified by:
supportedPlugin
in classAbstractPluginImplementor
-
splitProject
public boolean splitProject(org.apache.calcite.rel.core.Project project) - Specified by:
splitProject
in interfacePluginImplementor
- Overrides:
splitProject
in classAbstractPluginImplementor
-
canImplement
public boolean canImplement(org.apache.calcite.rel.core.Project project) - Specified by:
canImplement
in interfacePluginImplementor
- Overrides:
canImplement
in classAbstractPluginImplementor
-
getPhysicalOperator
-
hasPluginGroupScan
protected boolean hasPluginGroupScan(org.apache.calcite.rel.RelNode node) - Specified by:
hasPluginGroupScan
in classAbstractPluginImplementor
-