Class IcebergPluginImplementor
java.lang.Object
org.apache.drill.exec.store.plan.AbstractPluginImplementor
org.apache.drill.exec.store.iceberg.plan.IcebergPluginImplementor
- All Implemented Interfaces:
PluginImplementor
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
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
artificialFilter, 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
-
IcebergPluginImplementor
public IcebergPluginImplementor()
-
-
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
-
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
-