public class MongoPluginImplementor extends AbstractPluginImplementor
PluginImplementor
for Mongo.
This class tries to convert operators to use MongoCollection.find()
if only simple project and filter expressions are present,
otherwise MongoCollection.aggregate(java.util.List<? extends org.bson.conversions.Bson>)
is used to obtain data from Mongo.Constructor and Description |
---|
MongoPluginImplementor() |
Modifier and Type | Method and Description |
---|---|
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.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) |
GroupScan |
getPhysicalOperator() |
protected boolean |
hasPluginGroupScan(org.apache.calcite.rel.RelNode node) |
void |
implement(PluginAggregateRel aggregate) |
void |
implement(PluginFilterRel filter) |
void |
implement(PluginLimitRel limit) |
void |
implement(PluginProjectRel project) |
void |
implement(PluginSortRel sort) |
void |
implement(PluginUnionRel union) |
void |
implement(StoragePluginTableScan scan) |
protected Class<? extends StoragePlugin> |
supportedPlugin() |
artificialLimit, canImplement, findGroupScan, implement, splitProject
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
visitChild
public void implement(PluginAggregateRel aggregate) throws IOException
implement
in interface PluginImplementor
implement
in class AbstractPluginImplementor
IOException
public void implement(PluginFilterRel filter) throws IOException
implement
in interface PluginImplementor
implement
in class AbstractPluginImplementor
IOException
public void implement(PluginLimitRel limit) throws IOException
implement
in interface PluginImplementor
implement
in class AbstractPluginImplementor
IOException
public void implement(PluginProjectRel project) throws IOException
implement
in interface PluginImplementor
implement
in class AbstractPluginImplementor
IOException
public void implement(PluginSortRel sort) throws IOException
implement
in interface PluginImplementor
implement
in class AbstractPluginImplementor
IOException
public void implement(PluginUnionRel union) throws IOException
implement
in interface PluginImplementor
implement
in class AbstractPluginImplementor
IOException
public void implement(StoragePluginTableScan scan)
implement
in interface PluginImplementor
implement
in class AbstractPluginImplementor
public boolean canImplement(org.apache.calcite.rel.core.Aggregate aggregate)
canImplement
in interface PluginImplementor
canImplement
in class AbstractPluginImplementor
public boolean canImplement(org.apache.calcite.rel.core.Filter filter)
canImplement
in interface PluginImplementor
canImplement
in class AbstractPluginImplementor
public boolean canImplement(DrillLimitRelBase limit)
canImplement
in interface PluginImplementor
canImplement
in class AbstractPluginImplementor
public boolean canImplement(org.apache.calcite.rel.core.Project project)
canImplement
in interface PluginImplementor
canImplement
in class AbstractPluginImplementor
public boolean canImplement(org.apache.calcite.rel.core.Sort sort)
canImplement
in interface PluginImplementor
canImplement
in class AbstractPluginImplementor
public boolean canImplement(org.apache.calcite.rel.core.Union union)
canImplement
in interface PluginImplementor
canImplement
in class AbstractPluginImplementor
public boolean canImplement(org.apache.calcite.rel.core.TableScan scan)
canImplement
in interface PluginImplementor
canImplement
in class AbstractPluginImplementor
protected Class<? extends StoragePlugin> supportedPlugin()
supportedPlugin
in class AbstractPluginImplementor
public GroupScan getPhysicalOperator()
protected boolean hasPluginGroupScan(org.apache.calcite.rel.RelNode node)
hasPluginGroupScan
in class AbstractPluginImplementor
Copyright © 1970 The Apache Software Foundation. All rights reserved.