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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanIf the plugin doesn't support native limit pushdown, but the reader can limit the number of rows to read.booleancanImplement(org.apache.calcite.rel.core.Filter filter) booleancanImplement(org.apache.calcite.rel.core.Project project) booleancanImplement(DrillLimitRelBase limit) protected booleanhasPluginGroupScan(org.apache.calcite.rel.RelNode node) voidimplement(PluginFilterRel filter) voidimplement(PluginLimitRel limit) voidimplement(PluginProjectRel project) voidbooleansplitProject(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, implementMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.drill.exec.store.plan.PluginImplementor
visitChild
-
Constructor Details
-
IcebergPluginImplementor
public IcebergPluginImplementor()
-
-
Method Details
-
implement
- Specified by:
implementin interfacePluginImplementor- Overrides:
implementin classAbstractPluginImplementor
-
implement
- Specified by:
implementin interfacePluginImplementor- Overrides:
implementin classAbstractPluginImplementor- Throws:
IOException
-
implement
- Specified by:
implementin interfacePluginImplementor- Overrides:
implementin classAbstractPluginImplementor- Throws:
IOException
-
canImplement
public boolean canImplement(org.apache.calcite.rel.core.Filter filter) - Specified by:
canImplementin interfacePluginImplementor- Overrides:
canImplementin classAbstractPluginImplementor
-
implement
- Specified by:
implementin interfacePluginImplementor- Overrides:
implementin classAbstractPluginImplementor- Throws:
IOException
-
canImplement
- Specified by:
canImplementin interfacePluginImplementor- Overrides:
canImplementin classAbstractPluginImplementor
-
artificialLimit
public boolean artificialLimit()Description copied from interface:PluginImplementorIf 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:
artificialLimitin interfacePluginImplementor- Overrides:
artificialLimitin classAbstractPluginImplementor
-
supportedPlugin
- Specified by:
supportedPluginin classAbstractPluginImplementor
-
splitProject
public boolean splitProject(org.apache.calcite.rel.core.Project project) - Specified by:
splitProjectin interfacePluginImplementor- Overrides:
splitProjectin classAbstractPluginImplementor
-
canImplement
public boolean canImplement(org.apache.calcite.rel.core.Project project) - Specified by:
canImplementin interfacePluginImplementor- Overrides:
canImplementin classAbstractPluginImplementor
-
getPhysicalOperator
-
hasPluginGroupScan
protected boolean hasPluginGroupScan(org.apache.calcite.rel.RelNode node) - Specified by:
hasPluginGroupScanin classAbstractPluginImplementor
-