Package org.apache.calcite.rel.core
Class RelFactories
- java.lang.Object
-
- org.apache.calcite.rel.core.RelFactories
-
public class RelFactories extends java.lang.Object
Contains factory interface and default implementation for creating various rel nodes.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
RelFactories.AggregateFactory
Can create aLogicalAggregate
of the appropriate type for this rule's calling convention.private static class
RelFactories.AggregateFactoryImpl
Implementation ofRelFactories.AggregateFactory
that returns a vanillaLogicalAggregate
.static interface
RelFactories.CorrelateFactory
Can create a correlate of the appropriate type for a rule's calling convention.private static class
RelFactories.CorrelateFactoryImpl
Implementation ofRelFactories.CorrelateFactory
that returns a vanillaLogicalCorrelate
.static interface
RelFactories.ExchangeFactory
Can create aExchange
of the appropriate type for a rule's calling convention.private static class
RelFactories.ExchangeFactoryImpl
Implementation ofRelFactories.ExchangeFactory
that returns aExchange
.static interface
RelFactories.FilterFactory
Can create aLogicalFilter
of the appropriate type for this rule's calling convention.private static class
RelFactories.FilterFactoryImpl
Implementation ofRelFactories.FilterFactory
that returns a vanillaLogicalFilter
.static interface
RelFactories.JoinFactory
Can create a join of the appropriate type for a rule's calling convention.private static class
RelFactories.JoinFactoryImpl
Implementation ofRelFactories.JoinFactory
that returns a vanillaLogicalJoin
.static interface
RelFactories.MatchFactory
Can create aMatch
of the appropriate type for a rule's calling convention.private static class
RelFactories.MatchFactoryImpl
Implementation ofRelFactories.MatchFactory
that returns aLogicalMatch
.static interface
RelFactories.ProjectFactory
Can create aLogicalProject
of the appropriate type for this rule's calling convention.private static class
RelFactories.ProjectFactoryImpl
Implementation ofRelFactories.ProjectFactory
that returns a vanillaLogicalProject
.static interface
RelFactories.SemiJoinFactory
Can create a semi-join of the appropriate type for a rule's calling convention.private static class
RelFactories.SemiJoinFactoryImpl
Implementation ofRelFactories.SemiJoinFactory
that returns a vanillaSemiJoin
.static interface
RelFactories.SetOpFactory
Can create aSetOp
for a particular kind of set operation (UNION, EXCEPT, INTERSECT) and of the appropriate type for this rule's calling convention.private static class
RelFactories.SetOpFactoryImpl
Implementation ofRelFactories.SetOpFactory
that returns a vanillaSetOp
for the particular kind of set operation (UNION, EXCEPT, INTERSECT).static interface
RelFactories.SortExchangeFactory
Can create aSortExchange
of the appropriate type for a rule's calling convention.private static class
RelFactories.SortExchangeFactoryImpl
Implementation ofRelFactories.SortExchangeFactory
that returns aSortExchange
.static interface
RelFactories.SortFactory
Can create aSort
of the appropriate type for this rule's calling convention.private static class
RelFactories.SortFactoryImpl
Implementation ofRelFactories.SortFactory
that returns a vanillaSort
.static interface
RelFactories.TableScanFactory
Can create aTableScan
of the appropriate type for a rule's calling convention.private static class
RelFactories.TableScanFactoryImpl
Implementation ofRelFactories.TableScanFactory
that returns aLogicalTableScan
.static interface
RelFactories.ValuesFactory
Can create aValues
of the appropriate type for a rule's calling convention.private static class
RelFactories.ValuesFactoryImpl
Implementation ofRelFactories.ValuesFactory
that returns aLogicalValues
.
-
Field Summary
Fields Modifier and Type Field Description static RelFactories.AggregateFactory
DEFAULT_AGGREGATE_FACTORY
static RelFactories.CorrelateFactory
DEFAULT_CORRELATE_FACTORY
static RelFactories.ExchangeFactory
DEFAULT_EXCHANGE_FACTORY
static RelFactories.FilterFactory
DEFAULT_FILTER_FACTORY
static RelFactories.JoinFactory
DEFAULT_JOIN_FACTORY
static RelFactories.MatchFactory
DEFAULT_MATCH_FACTORY
static RelFactories.ProjectFactory
DEFAULT_PROJECT_FACTORY
static RelFactories.SemiJoinFactory
DEFAULT_SEMI_JOIN_FACTORY
static RelFactories.SetOpFactory
DEFAULT_SET_OP_FACTORY
static RelFactories.SortExchangeFactory
DEFAULT_SORT_EXCHANGE_FACTORY
static RelFactories.SortFactory
DEFAULT_SORT_FACTORY
static RelFactories.TableScanFactory
DEFAULT_TABLE_SCAN_FACTORY
static RelFactories.ValuesFactory
DEFAULT_VALUES_FACTORY
static RelBuilderFactory
LOGICAL_BUILDER
ARelBuilderFactory
that creates aRelBuilder
that will create logical relational expressions for everything.
-
Constructor Summary
Constructors Modifier Constructor Description private
RelFactories()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static RelFactories.TableScanFactory
expandingScanFactory(RelOptTable.ViewExpander viewExpander, RelFactories.TableScanFactory tableScanFactory)
Creates aRelFactories.TableScanFactory
that uses aRelOptTable.ViewExpander
to handleTranslatableTable
instances, and falls back to a default factory for other tables.static RelFactories.TableScanFactory
expandingScanFactory(RelFactories.TableScanFactory tableScanFactory)
Creates aRelFactories.TableScanFactory
that can expandTranslatableTable
instances, but explodes on views.
-
-
-
Field Detail
-
DEFAULT_PROJECT_FACTORY
public static final RelFactories.ProjectFactory DEFAULT_PROJECT_FACTORY
-
DEFAULT_FILTER_FACTORY
public static final RelFactories.FilterFactory DEFAULT_FILTER_FACTORY
-
DEFAULT_JOIN_FACTORY
public static final RelFactories.JoinFactory DEFAULT_JOIN_FACTORY
-
DEFAULT_CORRELATE_FACTORY
public static final RelFactories.CorrelateFactory DEFAULT_CORRELATE_FACTORY
-
DEFAULT_SEMI_JOIN_FACTORY
public static final RelFactories.SemiJoinFactory DEFAULT_SEMI_JOIN_FACTORY
-
DEFAULT_SORT_FACTORY
public static final RelFactories.SortFactory DEFAULT_SORT_FACTORY
-
DEFAULT_EXCHANGE_FACTORY
public static final RelFactories.ExchangeFactory DEFAULT_EXCHANGE_FACTORY
-
DEFAULT_SORT_EXCHANGE_FACTORY
public static final RelFactories.SortExchangeFactory DEFAULT_SORT_EXCHANGE_FACTORY
-
DEFAULT_AGGREGATE_FACTORY
public static final RelFactories.AggregateFactory DEFAULT_AGGREGATE_FACTORY
-
DEFAULT_MATCH_FACTORY
public static final RelFactories.MatchFactory DEFAULT_MATCH_FACTORY
-
DEFAULT_SET_OP_FACTORY
public static final RelFactories.SetOpFactory DEFAULT_SET_OP_FACTORY
-
DEFAULT_VALUES_FACTORY
public static final RelFactories.ValuesFactory DEFAULT_VALUES_FACTORY
-
DEFAULT_TABLE_SCAN_FACTORY
public static final RelFactories.TableScanFactory DEFAULT_TABLE_SCAN_FACTORY
-
LOGICAL_BUILDER
public static final RelBuilderFactory LOGICAL_BUILDER
ARelBuilderFactory
that creates aRelBuilder
that will create logical relational expressions for everything.
-
-
Method Detail
-
expandingScanFactory
@Nonnull public static RelFactories.TableScanFactory expandingScanFactory(@Nonnull RelFactories.TableScanFactory tableScanFactory)
Creates aRelFactories.TableScanFactory
that can expandTranslatableTable
instances, but explodes on views.- Parameters:
tableScanFactory
- Factory for non-translatable tables- Returns:
- Table scan factory
-
expandingScanFactory
@Nonnull public static RelFactories.TableScanFactory expandingScanFactory(@Nonnull RelOptTable.ViewExpander viewExpander, @Nonnull RelFactories.TableScanFactory tableScanFactory)
Creates aRelFactories.TableScanFactory
that uses aRelOptTable.ViewExpander
to handleTranslatableTable
instances, and falls back to a default factory for other tables.- Parameters:
viewExpander
- View expandertableScanFactory
- Factory for non-translatable tables- Returns:
- Table scan factory
-
-