| Package | Description |
|---|---|
| org.apache.calcite.adapter.enumerable |
Query optimizer rules for Java calling convention.
|
| org.apache.calcite.adapter.jdbc |
Query provider based on a JDBC data source.
|
| org.apache.calcite.interpreter |
Provides an implementation of relational expressions using an interpreter.
|
| org.apache.calcite.materialize |
Management of materialized query results.
|
| org.apache.calcite.plan |
Defines interfaces for constructing rule-based optimizers of
relational expressions.
|
| org.apache.calcite.prepare |
Preparation of queries (parsing, planning and implementation).
|
| org.apache.calcite.profile |
Utilities to analyze data sets.
|
| org.apache.calcite.rel |
Defines relational expressions.
|
| org.apache.calcite.rel.core |
Defines core relational expressions.
|
| org.apache.calcite.rel.logical |
Defines logical relational expressions.
|
| org.apache.calcite.rel.metadata |
Defines metadata interfaces and utilities for relational
expressions.
|
| org.apache.calcite.rel.mutable |
Defines mutable relational expressions.
|
| org.apache.calcite.rel.rules |
Provides a core set of planner rules.
|
| org.apache.calcite.schema |
Schema SPI.
|
| org.apache.calcite.sql.validate |
SQL validation.
|
| org.apache.calcite.sql2rel |
Translates a SQL parse tree to relational expression.
|
| org.apache.calcite.tools |
Provides utility classes.
|
| org.apache.calcite.util |
Provides utility classes.
|
| org.apache.calcite.util.mapping |
Support for algebraic maps.
|
| Modifier and Type | Method and Description |
|---|---|
List<ImmutableBitSet> |
AggContext.groupSets()
Returns the grouping sets we are aggregating on.
|
List<ImmutableBitSet> |
EnumerableAggregate.AggContextImpl.groupSets() |
| Modifier and Type | Method and Description |
|---|---|
EnumerableAggregate |
EnumerableAggregate.copy(RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
EnumerableCorrelate |
EnumerableCorrelate.copy(RelTraitSet traitSet,
RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
SemiJoinType joinType) |
| Modifier and Type | Method and Description |
|---|---|
EnumerableAggregate |
EnumerableAggregate.copy(RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
| Constructor and Description |
|---|
EnumerableAggregate(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode child,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
EnumerableCorrelate(RelOptCluster cluster,
RelTraitSet traits,
RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
SemiJoinType joinType) |
| Constructor and Description |
|---|
EnumerableAggregate(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode child,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
| Modifier and Type | Method and Description |
|---|---|
JdbcRules.JdbcAggregate |
JdbcRules.JdbcAggregate.copy(RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
| Modifier and Type | Method and Description |
|---|---|
JdbcRules.JdbcAggregate |
JdbcRules.JdbcAggregate.copy(RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
| Constructor and Description |
|---|
JdbcAggregate(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
| Constructor and Description |
|---|
JdbcAggregate(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
| Modifier and Type | Field and Description |
|---|---|
private ImmutableBitSet |
AggregateNode.Grouping.grouping |
private ImmutableBitSet |
AggregateNode.unionGroups |
| Modifier and Type | Method and Description |
|---|---|
Bindables.BindableAggregate |
Bindables.BindableAggregate.copy(RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
| Modifier and Type | Method and Description |
|---|---|
Bindables.BindableAggregate |
Bindables.BindableAggregate.copy(RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
| Constructor and Description |
|---|
BindableAggregate(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
Grouping(ImmutableBitSet grouping) |
| Constructor and Description |
|---|
BindableAggregate(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
| Modifier and Type | Field and Description |
|---|---|
ImmutableBitSet |
Lattice.Tile.bitSet |
ImmutableBitSet |
TileKey.dimensions |
| Modifier and Type | Method and Description |
|---|---|
ImmutableBitSet |
Lattice.Measure.argBitSet()
Returns the set of distinct argument ordinals.
|
ImmutableBitSet |
Lattice.Tile.bitSet() |
(package private) static ImmutableBitSet |
Lattice.Column.toBitSet(List<Lattice.Column> columns)
Converts a list of columns to a bit set of their ordinals.
|
| Modifier and Type | Method and Description |
|---|---|
String |
Lattice.countSql(ImmutableBitSet groupSet)
Returns a SQL query that counts the number of distinct values of the
attributes given in
groupSet. |
Pair<CalciteSchema.TableEntry,TileKey> |
MaterializationService.defineTile(Lattice lattice,
ImmutableBitSet groupSet,
List<Lattice.Measure> measureList,
CalciteSchema schema,
boolean create,
boolean exact)
Defines a tile.
|
Pair<CalciteSchema.TableEntry,TileKey> |
MaterializationService.defineTile(Lattice lattice,
ImmutableBitSet groupSet,
List<Lattice.Measure> measureList,
CalciteSchema schema,
boolean create,
boolean exact,
String suggestedTableName,
MaterializationService.TableFactory tableFactory) |
String |
Lattice.sql(ImmutableBitSet groupSet,
boolean group,
List<Lattice.Measure> aggCallList)
Generates a SQL query to populate a tile of the lattice specified by a
given set of columns and measures, optionally grouping.
|
String |
Lattice.sql(ImmutableBitSet groupSet,
List<Lattice.Measure> aggCallList)
Generates a SQL query to populate a tile of the lattice specified by a
given set of columns and measures.
|
| Constructor and Description |
|---|
TileKey(Lattice lattice,
ImmutableBitSet dimensions,
com.google.common.collect.ImmutableList<Lattice.Measure> measures)
Creates a TileKey.
|
| Modifier and Type | Method and Description |
|---|---|
static ImmutableBitSet |
RelOptUtil.InputFinder.bits(List<RexNode> exprs,
RexNode expr)
Returns a bit set describing the inputs used by a collection of
project expressions and an optional condition.
|
static ImmutableBitSet |
RelOptUtil.InputFinder.bits(RexNode node)
Returns a bit set describing the inputs used by an expression.
|
static ImmutableBitSet |
RelOptUtil.correlationColumns(CorrelationId id,
RelNode rel)
Finds which columns of a correlation variable are used within a
relational expression.
|
| Modifier and Type | Method and Description |
|---|---|
Pair<CalciteSchema.TableEntry,TileKey> |
RelOptLattice.getAggregate(RelOptPlanner planner,
ImmutableBitSet groupSet,
List<Lattice.Measure> measureList)
Retrieves a materialized table that will satisfy an aggregate query on
the star table.
|
boolean |
RelOptTable.isKey(ImmutableBitSet columns)
Returns whether the given columns are a key or a superset of a unique key
of this table.
|
boolean |
RelOptAbstractTable.isKey(ImmutableBitSet columns) |
static boolean |
Strong.isNotTrue(RexNode node,
ImmutableBitSet nullColumns)
Returns whether the analyzed expression will definitely not return true
(equivalently, will definitely not return null or false) if
all of a given set of input columns are null.
|
static boolean |
Strong.isNull(RexNode node,
ImmutableBitSet nullColumns)
Returns whether the analyzed expression will definitely return null if
all of a given set of input columns are null.
|
static Strong |
Strong.of(ImmutableBitSet nullColumns)
Returns a checker that consults a bit set to find out whether particular
inputs may be null.
|
(package private) static RelOptUtil.Side |
RelOptUtil.Side.of(ImmutableBitSet bitSet,
int middle) |
static void |
RelOptUtil.splitFilters(ImmutableBitSet childBitmap,
RexNode predicate,
List<RexNode> pushable,
List<RexNode> notPushable)
Splits a filter into two lists, depending on whether or not the filter
only references its child input
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
RelOptTableImpl.isKey(ImmutableBitSet columns) |
| Modifier and Type | Field and Description |
|---|---|
(package private) ImmutableBitSet |
SimpleProfiler.Space.columnOrdinals |
(package private) ImmutableBitSet |
ProfilerImpl.Space.columnOrdinals |
protected static ImmutableBitSet |
ProfilerImpl.CompositeCollector.OF |
| Modifier and Type | Field and Description |
|---|---|
(package private) Set<ImmutableBitSet> |
SimpleProfiler.Space.dependents |
(package private) Set<ImmutableBitSet> |
ProfilerImpl.Space.dependents |
private Map<ImmutableBitSet,Profiler.Distribution> |
Profiler.Profile.distributionMap |
(package private) Map<ImmutableBitSet,Profiler.Distribution> |
ProfilerImpl.Run.distributions |
private List<ImmutableBitSet> |
SimpleProfiler.Run.keyOrdinalLists |
private List<ImmutableBitSet> |
ProfilerImpl.Run.keyOrdinalLists |
(package private) PartiallyOrderedSet<ImmutableBitSet> |
ProfilerImpl.Run.keyPoset |
(package private) Set<ImmutableBitSet> |
ProfilerImpl.Run.resultSet
Column ordinals that have ever been placed on
ProfilerImpl.Run.spaceQueue. |
(package private) Deque<ImmutableBitSet> |
ProfilerImpl.Run.spaceQueue
Combinations of columns that we will compute next pass.
|
| Modifier and Type | Method and Description |
|---|---|
(package private) ImmutableBitSet |
Profiler.Distribution.columnOrdinals() |
(package private) static ImmutableBitSet |
Profiler.Column.toOrdinals(Iterable<Profiler.Column> columns) |
| Modifier and Type | Method and Description |
|---|---|
private double |
ProfilerImpl.Run.cardinality(double rowCount,
ImmutableBitSet columns)
Estimates the cardinality of a collection of columns represented by
columnOrdinals, drawing on existing distributions. |
double |
Profiler.Profile.cardinality(ImmutableBitSet columnOrdinals) |
private boolean |
ProfilerImpl.Run.containsKey(ImmutableBitSet ordinals) |
private boolean |
SimpleProfiler.Run.containsKey(ImmutableBitSet ordinals,
boolean strict)
Returns whether a set of column ordinals
matches or contains a unique key.
|
private double |
ProfilerImpl.Run.expectedCardinality(double rowCount,
ImmutableBitSet columns)
Estimates the cardinality of a collection of columns represented by
columnOrdinals, drawing on existing distributions. |
private boolean |
SimpleProfiler.Run.hasNull(ImmutableBitSet columnOrdinals) |
| Modifier and Type | Method and Description |
|---|---|
Profiler.Profile |
Profiler.profile(Iterable<List<Comparable>> rows,
List<Profiler.Column> columns,
Collection<ImmutableBitSet> initialGroups)
Creates a profile of a data set.
|
Profiler.Profile |
SimpleProfiler.profile(Iterable<List<Comparable>> rows,
List<Profiler.Column> columns,
Collection<ImmutableBitSet> initialGroups) |
Profiler.Profile |
ProfilerImpl.profile(Iterable<List<Comparable>> rows,
List<Profiler.Column> columns,
Collection<ImmutableBitSet> initialGroups) |
| Constructor and Description |
|---|
Space(ImmutableBitSet columnOrdinals,
Iterable<Profiler.Column> columns) |
Space(ProfilerImpl.Run run,
ImmutableBitSet columnOrdinals,
Iterable<Profiler.Column> columns) |
| Constructor and Description |
|---|
Run(List<Profiler.Column> columns,
Collection<ImmutableBitSet> initialGroups)
Creates a Run.
|
| Modifier and Type | Method and Description |
|---|---|
ImmutableBitSet |
RelInput.getBitSet(String tag) |
| Modifier and Type | Method and Description |
|---|---|
List<ImmutableBitSet> |
RelInput.getBitSetList(String tag) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
AbstractRelNode.isKey(ImmutableBitSet columns) |
boolean |
RelNode.isKey(ImmutableBitSet columns)
Deprecated.
|
| Modifier and Type | Field and Description |
|---|---|
protected ImmutableBitSet |
Aggregate.groupSet |
ImmutableBitSet |
Window.Group.keys |
protected ImmutableBitSet |
Correlate.requiredColumns |
| Modifier and Type | Field and Description |
|---|---|
com.google.common.collect.ImmutableList<ImmutableBitSet> |
Aggregate.groupSets |
| Modifier and Type | Method and Description |
|---|---|
ImmutableBitSet |
Aggregate.getGroupSet()
Returns a bit set of the grouping fields.
|
ImmutableBitSet |
Correlate.getRequiredColumns()
Returns the required columns in left relation required for the correlation
in the right.
|
ImmutableBitSet |
JoinInfo.leftSet() |
ImmutableBitSet |
JoinInfo.rightSet() |
| Modifier and Type | Method and Description |
|---|---|
com.google.common.collect.ImmutableList<ImmutableBitSet> |
Aggregate.getGroupSets()
Returns the list of grouping sets computed by this Aggregate.
|
| Modifier and Type | Method and Description |
|---|---|
abstract Aggregate |
Aggregate.copy(RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates a copy of this aggregate.
|
abstract Correlate |
Correlate.copy(RelTraitSet traitSet,
RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
SemiJoinType joinType) |
RelNode |
RelFactories.AggregateFactory.createAggregate(RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates an aggregate.
|
RelNode |
RelFactories.AggregateFactoryImpl.createAggregate(RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
RelNode |
RelFactories.CorrelateFactory.createCorrelate(RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
SemiJoinType joinType)
Creates a correlate.
|
RelNode |
RelFactories.CorrelateFactoryImpl.createCorrelate(RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
SemiJoinType joinType) |
static RelDataType |
Aggregate.deriveRowType(RelDataTypeFactory typeFactory,
RelDataType inputRowType,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Computes the row type of an
Aggregate before it exists. |
static Aggregate.Group |
Aggregate.Group.induce(ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets) |
RelNode |
TableScan.project(ImmutableBitSet fieldsUsed,
Set<RelDataTypeField> extraFields,
RelBuilder relBuilder)
Projects a subset of the fields of the table, and also asks for "extra"
fields that were not included in the table's official type.
|
| Modifier and Type | Method and Description |
|---|---|
private static boolean |
Aggregate.allContain(List<ImmutableBitSet> groupSets,
int groupKey) |
abstract Aggregate |
Aggregate.copy(RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates a copy of this aggregate.
|
RelNode |
RelFactories.AggregateFactory.createAggregate(RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates an aggregate.
|
RelNode |
RelFactories.AggregateFactoryImpl.createAggregate(RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
static RelDataType |
Aggregate.deriveRowType(RelDataTypeFactory typeFactory,
RelDataType inputRowType,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Computes the row type of an
Aggregate before it exists. |
static Aggregate.Group |
Aggregate.Group.induce(ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets) |
| Constructor and Description |
|---|
Aggregate(RelOptCluster cluster,
RelTraitSet traits,
RelNode child,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates an Aggregate.
|
Correlate(RelOptCluster cluster,
RelTraitSet traits,
RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
SemiJoinType joinType)
Creates a Correlate.
|
Group(ImmutableBitSet keys,
boolean isRows,
RexWindowBound lowerBound,
RexWindowBound upperBound,
RelCollation orderKeys,
List<Window.RexWinAggCall> aggCalls) |
| Constructor and Description |
|---|
Aggregate(RelOptCluster cluster,
RelTraitSet traits,
RelNode child,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates an Aggregate.
|
| Modifier and Type | Field and Description |
|---|---|
private ImmutableBitSet |
LogicalWindow.WindowKey.groupSet |
| Modifier and Type | Method and Description |
|---|---|
LogicalAggregate |
LogicalAggregate.copy(RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
LogicalCorrelate |
LogicalCorrelate.copy(RelTraitSet traitSet,
RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
SemiJoinType joinType) |
private static LogicalAggregate |
LogicalAggregate.create_(RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
static LogicalAggregate |
LogicalAggregate.create(RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Deprecated.
|
static LogicalAggregate |
LogicalAggregate.create(RelNode input,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates a LogicalAggregate.
|
static LogicalCorrelate |
LogicalCorrelate.create(RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
SemiJoinType joinType)
Creates a LogicalCorrelate.
|
| Modifier and Type | Method and Description |
|---|---|
LogicalAggregate |
LogicalAggregate.copy(RelTraitSet traitSet,
RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
private static LogicalAggregate |
LogicalAggregate.create_(RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
static LogicalAggregate |
LogicalAggregate.create(RelNode input,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Deprecated.
|
static LogicalAggregate |
LogicalAggregate.create(RelNode input,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates a LogicalAggregate.
|
| Constructor and Description |
|---|
LogicalAggregate(RelOptCluster cluster,
RelNode child,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Deprecated.
|
LogicalAggregate(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode child,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates a LogicalAggregate.
|
LogicalCorrelate(RelOptCluster cluster,
RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
SemiJoinType joinType)
Deprecated.
|
LogicalCorrelate(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
SemiJoinType joinType)
Creates a LogicalCorrelate.
|
WindowKey(ImmutableBitSet groupSet,
RelCollation orderKeys,
boolean isRows,
RexWindowBound lowerBound,
RexWindowBound upperBound) |
| Constructor and Description |
|---|
LogicalAggregate(RelOptCluster cluster,
RelNode child,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Deprecated.
|
LogicalAggregate(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode child,
boolean indicator,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates a LogicalAggregate.
|
| Modifier and Type | Field and Description |
|---|---|
(package private) ImmutableBitSet |
RelMdPredicates.JoinConditionBasedPredicateInference.allFieldsBitSet |
(package private) ImmutableBitSet |
RelMdPredicates.JoinConditionBasedPredicateInference.leftFieldsBitSet |
(package private) ImmutableBitSet |
RelMdPredicates.JoinConditionBasedPredicateInference.rightFieldsBitSet |
| Modifier and Type | Field and Description |
|---|---|
(package private) Map<String,ImmutableBitSet> |
RelMdPredicates.JoinConditionBasedPredicateInference.exprFields |
| Modifier and Type | Method and Description |
|---|---|
Set<ImmutableBitSet> |
RelMdUniqueKeys.getUniqueKeys(Aggregate rel,
RelMetadataQuery mq,
boolean ignoreNulls) |
Set<ImmutableBitSet> |
BuiltInMetadata.UniqueKeys.getUniqueKeys(boolean ignoreNulls)
Determines the set of unique minimal keys for this expression.
|
Set<ImmutableBitSet> |
RelMdUniqueKeys.getUniqueKeys(Correlate rel,
RelMetadataQuery mq,
boolean ignoreNulls) |
Set<ImmutableBitSet> |
RelMdUniqueKeys.getUniqueKeys(Filter rel,
RelMetadataQuery mq,
boolean ignoreNulls) |
Set<ImmutableBitSet> |
RelMdUniqueKeys.getUniqueKeys(Join rel,
RelMetadataQuery mq,
boolean ignoreNulls) |
Set<ImmutableBitSet> |
RelMdUniqueKeys.getUniqueKeys(Project rel,
RelMetadataQuery mq,
boolean ignoreNulls) |
Set<ImmutableBitSet> |
RelMetadataQuery.getUniqueKeys(RelNode rel)
Returns the
BuiltInMetadata.UniqueKeys.getUniqueKeys(boolean)
statistic. |
Set<ImmutableBitSet> |
RelMetadataQuery.getUniqueKeys(RelNode rel,
boolean ignoreNulls)
Returns the
BuiltInMetadata.UniqueKeys.getUniqueKeys(boolean)
statistic. |
Set<ImmutableBitSet> |
RelMdUniqueKeys.getUniqueKeys(RelNode rel,
RelMetadataQuery mq,
boolean ignoreNulls) |
Set<ImmutableBitSet> |
BuiltInMetadata.UniqueKeys.Handler.getUniqueKeys(RelNode r,
RelMetadataQuery mq,
boolean ignoreNulls) |
Set<ImmutableBitSet> |
RelMdUniqueKeys.getUniqueKeys(SemiJoin rel,
RelMetadataQuery mq,
boolean ignoreNulls) |
Set<ImmutableBitSet> |
RelMdUniqueKeys.getUniqueKeys(SetOp rel,
RelMetadataQuery mq,
boolean ignoreNulls) |
Set<ImmutableBitSet> |
RelMdUniqueKeys.getUniqueKeys(Sort rel,
RelMetadataQuery mq,
boolean ignoreNulls) |
private static Pair<ImmutableBitSet,ImmutableBitSet> |
RelMdColumnUniqueness.splitLeftAndRightColumns(int leftCount,
ImmutableBitSet columns)
Splits a column set between left and right sets.
|
private static Pair<ImmutableBitSet,ImmutableBitSet> |
RelMdColumnUniqueness.splitLeftAndRightColumns(int leftCount,
ImmutableBitSet columns)
Splits a column set between left and right sets.
|
| Modifier and Type | Method and Description |
|---|---|
static boolean |
RelMdUtil.areColumnsDefinitelyUnique(RelMetadataQuery mq,
RelNode rel,
ImmutableBitSet colMask)
Returns true if the columns represented in a bit mask are definitely
known to form a unique column set.
|
static boolean |
RelMdUtil.areColumnsDefinitelyUniqueWhenNullsFiltered(RelMetadataQuery mq,
RelNode rel,
ImmutableBitSet colMask)
Returns true if the columns represented in a bit mask are definitely
known to form a unique column set, when nulls have been filtered from
the columns.
|
Boolean |
RelMdColumnUniqueness.areColumnsUnique(Aggregate rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(Converter rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(Correlate rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(Exchange rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(Filter rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(HepRelVertex rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
BuiltInMetadata.ColumnUniqueness.areColumnsUnique(ImmutableBitSet columns,
boolean ignoreNulls)
Determines whether a specified set of columns from a specified relational
expression are unique.
|
Boolean |
RelMdColumnUniqueness.areColumnsUnique(Intersect rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(Join rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(Minus rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(Project rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMetadataQuery.areColumnsUnique(RelNode rel,
ImmutableBitSet columns)
Returns the
BuiltInMetadata.ColumnUniqueness.areColumnsUnique(ImmutableBitSet, boolean)
statistic. |
Boolean |
RelMetadataQuery.areColumnsUnique(RelNode rel,
ImmutableBitSet columns,
boolean ignoreNulls)
Returns the
BuiltInMetadata.ColumnUniqueness.areColumnsUnique(ImmutableBitSet, boolean)
statistic. |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(RelNode rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls)
Catch-all implementation for
BuiltInMetadata.ColumnUniqueness.areColumnsUnique(ImmutableBitSet, boolean),
invoked using reflection, for any relational expression not
handled by a more specific method. |
Boolean |
BuiltInMetadata.ColumnUniqueness.Handler.areColumnsUnique(RelNode r,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(RelSubset rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(SemiJoin rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(SetOp rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(Sort rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(TableScan rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
Boolean |
RelMdColumnUniqueness.areColumnsUnique(Values rel,
RelMetadataQuery mq,
ImmutableBitSet columns,
boolean ignoreNulls) |
private static Set<RexNode> |
RelMdExpressionLineage.createAllPossibleExpressions(RexBuilder rexBuilder,
RexNode expr,
ImmutableBitSet predFieldsUsed,
Map<RexInputRef,Set<RexNode>> mapping,
Map<RexInputRef,RexNode> singleMapping) |
private static void |
RelMdExpressionLineage.createExpressions(RexBuilder rexBuilder,
RexNode expr,
ImmutableBitSet predFieldsUsed,
Map<RexInputRef,Set<RexNode>> mapping,
Map<RexInputRef,RexNode> singleMapping,
Set<RexNode> result) |
Double |
RelMdDistinctRowCount.getDistinctRowCount(Aggregate rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate) |
Double |
RelMdDistinctRowCount.getDistinctRowCount(Exchange rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate) |
Double |
RelMdDistinctRowCount.getDistinctRowCount(Filter rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate) |
Double |
BuiltInMetadata.DistinctRowCount.getDistinctRowCount(ImmutableBitSet groupKey,
RexNode predicate)
Estimates the number of rows which would be produced by a GROUP BY on the
set of columns indicated by groupKey, where the input to the GROUP BY has
been pre-filtered by predicate.
|
Double |
RelMdDistinctRowCount.getDistinctRowCount(Join rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate) |
Double |
RelMdDistinctRowCount.getDistinctRowCount(Project rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate) |
Double |
RelMetadataQuery.getDistinctRowCount(RelNode rel,
ImmutableBitSet groupKey,
RexNode predicate)
Returns the
BuiltInMetadata.DistinctRowCount.getDistinctRowCount(ImmutableBitSet, RexNode)
statistic. |
Double |
RelMdDistinctRowCount.getDistinctRowCount(RelNode rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate)
Catch-all implementation for
BuiltInMetadata.DistinctRowCount.getDistinctRowCount(ImmutableBitSet, RexNode),
invoked using reflection. |
Double |
BuiltInMetadata.DistinctRowCount.Handler.getDistinctRowCount(RelNode r,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate) |
Double |
RelMdDistinctRowCount.getDistinctRowCount(RelSubset rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate) |
Double |
RelMdDistinctRowCount.getDistinctRowCount(SemiJoin rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate) |
Double |
RelMdDistinctRowCount.getDistinctRowCount(Sort rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate) |
Double |
RelMdDistinctRowCount.getDistinctRowCount(Union rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate) |
Double |
RelMdDistinctRowCount.getDistinctRowCount(Values rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey,
RexNode predicate) |
static Double |
RelMdUtil.getJoinDistinctRowCount(RelMetadataQuery mq,
RelNode joinRel,
JoinRelType joinType,
ImmutableBitSet groupKey,
RexNode predicate,
boolean useMaxNdv)
Computes the number of distinct rows for a set of keys returned from a
join.
|
static Double |
RelMdUtil.getJoinPopulationSize(RelMetadataQuery mq,
RelNode joinRel,
ImmutableBitSet groupKey)
Computes the population size for a set of keys returned from a join
|
Double |
RelMdPopulationSize.getPopulationSize(Aggregate rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey) |
Double |
RelMdPopulationSize.getPopulationSize(Exchange rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey) |
Double |
RelMdPopulationSize.getPopulationSize(Filter rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey) |
Double |
BuiltInMetadata.PopulationSize.getPopulationSize(ImmutableBitSet groupKey)
Estimates the distinct row count in the original source for the given
groupKey, ignoring any filtering being applied by the expression. |
Double |
RelMdPopulationSize.getPopulationSize(Join rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey) |
Double |
RelMdPopulationSize.getPopulationSize(Project rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey) |
Double |
RelMetadataQuery.getPopulationSize(RelNode rel,
ImmutableBitSet groupKey)
Returns the
BuiltInMetadata.PopulationSize.getPopulationSize(ImmutableBitSet)
statistic. |
Double |
RelMdPopulationSize.getPopulationSize(RelNode rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey)
Catch-all implementation for
BuiltInMetadata.PopulationSize.getPopulationSize(ImmutableBitSet),
invoked using reflection. |
Double |
BuiltInMetadata.PopulationSize.Handler.getPopulationSize(RelNode r,
RelMetadataQuery mq,
ImmutableBitSet groupKey) |
Double |
RelMdPopulationSize.getPopulationSize(SemiJoin rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey) |
Double |
RelMdPopulationSize.getPopulationSize(Sort rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey) |
Double |
RelMdPopulationSize.getPopulationSize(Union rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey) |
Double |
RelMdPopulationSize.getPopulationSize(Values rel,
RelMetadataQuery mq,
ImmutableBitSet groupKey) |
private void |
RelMdPredicates.JoinConditionBasedPredicateInference.infer(RexNode predicates,
Set<String> allExprsDigests,
List<RexNode> inferedPredicates,
boolean includeEqualityInference,
ImmutableBitSet inferringFields) |
private RexNode |
RelMdPredicates.projectPredicate(RexBuilder rexBuilder,
RelNode input,
RexNode r,
ImmutableBitSet columnsMapped)
Converts a predicate on a particular set of columns into a predicate on
a subset of those columns, weakening if necessary.
|
static void |
RelMdUtil.setAggChildKeys(ImmutableBitSet groupKey,
Aggregate aggRel,
ImmutableBitSet.Builder childKey)
Takes a bitmap representing a set of input references and extracts the
ones that reference the group by columns in an aggregate.
|
static void |
RelMdUtil.setLeftRightBitmaps(ImmutableBitSet groupKey,
ImmutableBitSet.Builder leftMask,
ImmutableBitSet.Builder rightMask,
int nFieldsOnLeft)
Separates a bit-mask representing a join into masks representing the left
and right inputs into the join.
|
private boolean |
RelMdColumnUniqueness.simplyProjects(RelNode rel,
ImmutableBitSet columns) |
static void |
RelMdUtil.splitCols(List<RexNode> projExprs,
ImmutableBitSet groupKey,
ImmutableBitSet.Builder baseCols,
ImmutableBitSet.Builder projCols)
Forms two bitmaps by splitting the columns in a bitmap according to
whether or not the column references the child input or is an expression
|
private static Pair<ImmutableBitSet,ImmutableBitSet> |
RelMdColumnUniqueness.splitLeftAndRightColumns(int leftCount,
ImmutableBitSet columns)
Splits a column set between left and right sets.
|
| Constructor and Description |
|---|
ExprsItr(ImmutableBitSet fields) |
| Modifier and Type | Field and Description |
|---|---|
ImmutableBitSet |
MutableAggregate.groupSet |
ImmutableBitSet |
MutableCorrelate.requiredColumns |
| Modifier and Type | Field and Description |
|---|---|
com.google.common.collect.ImmutableList<ImmutableBitSet> |
MutableAggregate.groupSets |
| Modifier and Type | Method and Description |
|---|---|
static MutableAggregate |
MutableAggregate.of(MutableRel input,
ImmutableBitSet groupSet,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates a MutableAggregate.
|
static MutableCorrelate |
MutableCorrelate.of(RelDataType rowType,
MutableRel left,
MutableRel right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
SemiJoinType joinType)
Creates a MutableCorrelate.
|
| Modifier and Type | Method and Description |
|---|---|
static MutableAggregate |
MutableAggregate.of(MutableRel input,
ImmutableBitSet groupSet,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates a MutableAggregate.
|
| Constructor and Description |
|---|
MutableAggregate(MutableRel input,
RelDataType rowType,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
MutableCorrelate(RelDataType rowType,
MutableRel left,
MutableRel right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
SemiJoinType joinType) |
| Constructor and Description |
|---|
MutableAggregate(MutableRel input,
RelDataType rowType,
ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) |
| Modifier and Type | Field and Description |
|---|---|
(package private) ImmutableBitSet |
PushProjector.childBitmap
Bitmap containing the fields in the RelNode that the projection is being
pushed past, if the RelNode is not a join.
|
(package private) ImmutableBitSet |
LoptMultiJoin.Edge.columns |
(package private) ImmutableBitSet |
LoptMultiJoin.Edge.factors |
protected ImmutableBitSet |
MultiJoinOptimizeBushyRule.Vertex.factors |
(package private) ImmutableBitSet[] |
LoptMultiJoin.factorsRefByFactor
Bitmap indicating which factors each factor references in join filters
that correspond to comparisons
|
private ImmutableBitSet |
PushProjector.InputSpecialOpFinder.leftFields |
private ImmutableBitSet[] |
LoptMultiJoin.outerJoinFactors
If a join factor is null generating in a left or right outer join, the
bitmap contains the non-null generating factors that the null generating
factor is dependent upon
|
(package private) ImmutableBitSet |
PushProjector.rightBitmap
Bitmap containing the fields in the right hand side of a join, in the
case where the projection is being pushed past a join.
|
private ImmutableBitSet |
PushProjector.InputSpecialOpFinder.rightFields |
(package private) ImmutableBitSet |
PushProjector.strongBitmap
Bitmap containing the fields that should be strong, i.e.
|
private ImmutableBitSet |
PushProjector.InputSpecialOpFinder.strongFields |
| Modifier and Type | Field and Description |
|---|---|
private Map<RexNode,ImmutableBitSet> |
LoptMultiJoin.factorsRefByJoinFilter
For each join filter, associates a bitmap indicating all factors
referenced by the filter
|
private Map<RexNode,ImmutableBitSet> |
LoptMultiJoin.fieldsRefByJoinFilter
For each join filter, associates a bitmap indicating all fields
referenced by the filter
|
private List<ImmutableBitSet> |
MultiJoin.projFields |
private List<ImmutableBitSet> |
LoptMultiJoin.projFields
Bitmap corresponding to the fields projected from each join factor, after
row scan processing has completed.
|
| Modifier and Type | Method and Description |
|---|---|
private ImmutableBitSet |
LoptMultiJoin.factorBitmap(ImmutableBitSet fieldRefBitmap)
Sets the bitmap indicating which factors a filter references based on
which fields it references
|
private ImmutableBitSet |
LoptMultiJoin.fieldBitmap(RexNode joinFilter) |
private ImmutableBitSet |
ProjectWindowTransposeRule.findReference(LogicalProject project,
LogicalWindow window) |
ImmutableBitSet |
LoptMultiJoin.getFactorsRefByFactor(int factIdx) |
ImmutableBitSet |
LoptMultiJoin.getFactorsRefByJoinFilter(RexNode joinFilter) |
ImmutableBitSet |
LoptMultiJoin.getFieldsRefByJoinFilter(RexNode joinFilter) |
(package private) ImmutableBitSet |
LoptMultiJoin.getJoinFilterFactorBitmap(RexNode joinFilter,
boolean setFields)
Returns a bitmap representing the factors referenced in a join filter
|
ImmutableBitSet |
LoptMultiJoin.getOuterJoinFactors(int factIdx) |
ImmutableBitSet |
LoptMultiJoin.getProjFields(int factIdx) |
private static ImmutableBitSet |
AggregateJoinTransposeRule.keyColumns(ImmutableBitSet aggregateColumns,
com.google.common.collect.ImmutableList<RexNode> predicates)
Computes the closure of a set of columns according to a given list of
constraints.
|
private static ImmutableBitSet |
AggregateExpandDistinctAggregatesRule.remap(ImmutableBitSet groupSet,
ImmutableBitSet bitSet) |
| Modifier and Type | Method and Description |
|---|---|
List<ImmutableBitSet> |
MultiJoin.getProjFields() |
private static com.google.common.collect.ImmutableList<ImmutableBitSet> |
AggregateExpandDistinctAggregatesRule.remap(ImmutableBitSet groupSet,
Iterable<ImmutableBitSet> bitSets) |
| Modifier and Type | Method and Description |
|---|---|
private boolean |
FilterAggregateTransposeRule.canPush(Aggregate aggregate,
ImmutableBitSet rCols) |
private ImmutableBitSet |
LoptMultiJoin.factorBitmap(ImmutableBitSet fieldRefBitmap)
Sets the bitmap indicating which factors a filter references based on
which fields it references
|
protected com.google.common.collect.Multimap<Integer,Integer> |
AbstractMaterializedViewRule.MaterializedViewAggregateRule.generateMapping(RexBuilder rexBuilder,
RexSimplify simplify,
RelMetadataQuery mq,
RelNode node,
RelNode target,
ImmutableBitSet positions,
com.google.common.collect.BiMap<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> tableMapping,
AbstractMaterializedViewRule.EquivalenceClasses sourceEC,
List<RexNode> additionalExprs)
Mapping from node expressions to target expressions.
|
private int |
ProjectWindowTransposeRule.getAdjustedIndex(int initIndex,
ImmutableBitSet beReferred,
int windowInputColumn) |
private static long |
AggregateExpandDistinctAggregatesRule.groupValue(ImmutableBitSet fullGroupSet,
ImmutableBitSet groupSet) |
private boolean |
PushProjector.InputSpecialOpFinder.isStrong(ImmutableBitSet exprArgs,
RexNode call) |
private static ImmutableBitSet |
AggregateJoinTransposeRule.keyColumns(ImmutableBitSet aggregateColumns,
com.google.common.collect.ImmutableList<RexNode> predicates)
Computes the closure of a set of columns according to a given list of
constraints.
|
private static ImmutableBitSet |
AggregateExpandDistinctAggregatesRule.remap(ImmutableBitSet groupSet,
ImmutableBitSet bitSet) |
private static int |
AggregateExpandDistinctAggregatesRule.remap(ImmutableBitSet groupSet,
int arg) |
private static com.google.common.collect.ImmutableList<ImmutableBitSet> |
AggregateExpandDistinctAggregatesRule.remap(ImmutableBitSet groupSet,
Iterable<ImmutableBitSet> bitSets) |
private static List<Integer> |
AggregateExpandDistinctAggregatesRule.remap(ImmutableBitSet groupSet,
List<Integer> argList) |
private void |
LoptOptimizeJoinRule.setFactorJoinKeys(LoptMultiJoin multiJoin,
List<RexNode> filters,
ImmutableBitSet joinFactors,
int factorStart,
int nFields,
ImmutableBitSet.Builder joinKeys)
Locates from a list of filters those that correspond to a particular join
tree.
|
(package private) static void |
JoinPushThroughJoinRule.split(RexNode condition,
ImmutableBitSet bitSet,
List<RexNode> intersecting,
List<RexNode> nonIntersecting)
Splits a condition into conjunctions that do or do not intersect with
a given bit set.
|
| Modifier and Type | Method and Description |
|---|---|
private List<RelNode> |
JoinToMultiJoinRule.combineInputs(Join join,
RelNode left,
RelNode right,
List<ImmutableBitSet> projFieldsList,
List<int[]> joinFieldRefCountsList)
Combines the inputs into a LogicalJoin into an array of inputs.
|
private static com.google.common.collect.ImmutableList<ImmutableBitSet> |
AggregateExpandDistinctAggregatesRule.remap(ImmutableBitSet groupSet,
Iterable<ImmutableBitSet> bitSets) |
| Constructor and Description |
|---|
Edge(RexNode condition,
ImmutableBitSet factors,
ImmutableBitSet columns) |
InputSpecialOpFinder(BitSet rexRefs,
ImmutableBitSet leftFields,
ImmutableBitSet rightFields,
ImmutableBitSet strongFields,
PushProjector.ExprCondition preserveExprCondition,
List<RexNode> preserveLeft,
List<RexNode> preserveRight) |
JoinVertex(int id,
int leftFactor,
int rightFactor,
ImmutableBitSet factors,
double cost,
com.google.common.collect.ImmutableList<RexNode> conditions) |
Vertex(int id,
ImmutableBitSet factors,
double cost) |
| Constructor and Description |
|---|
MultiJoin(RelOptCluster cluster,
List<RelNode> inputs,
RexNode joinFilter,
RelDataType rowType,
boolean isFullOuterJoin,
List<RexNode> outerJoinConditions,
List<JoinRelType> joinTypes,
List<ImmutableBitSet> projFields,
com.google.common.collect.ImmutableMap<Integer,ImmutableIntList> joinFieldRefCountsMap,
RexNode postJoinFilter)
Constructs a MultiJoin.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
Statistic.isKey(ImmutableBitSet columns)
Returns whether the given set of columns is a unique key, or a superset
of a unique key, of the table.
|
| Modifier and Type | Method and Description |
|---|---|
static Statistic |
Statistics.of(double rowCount,
List<ImmutableBitSet> keys)
Returns a statistic with a given row count and set of unique keys.
|
static Statistic |
Statistics.of(double rowCount,
List<ImmutableBitSet> keys,
List<RelCollation> collations)
Returns a statistic with a given row count, set of unique keys,
and collations.
|
static Statistic |
Statistics.of(Double rowCount,
List<ImmutableBitSet> keys,
List<RelReferentialConstraint> referentialConstraints,
List<RelCollation> collations)
Returns a statistic with a given row count, set of unique keys,
referential constraints, and collations.
|
| Modifier and Type | Field and Description |
|---|---|
ImmutableBitSet |
AggregatingSelectScope.Resolved.groupSet |
| Modifier and Type | Field and Description |
|---|---|
com.google.common.collect.ImmutableList<ImmutableBitSet> |
AggregatingSelectScope.Resolved.groupSets |
| Modifier and Type | Method and Description |
|---|---|
private static ImmutableBitSet |
SqlValidatorUtil.analyzeGroupExpr(SqlValidatorScope scope,
SqlValidatorUtil.GroupAnalyzer groupAnalyzer,
SqlNode groupExpr)
Analyzes a component of a tuple in a GROUPING SETS clause.
|
static ImmutableBitSet |
SqlValidatorUtil.getOrdinalBitSet(RelDataType sourceRowType,
Map<Integer,RelDataTypeField> indexToField)
Gets the bit-set to the column ordinals in the source for columns that
intersect in the target.
|
static ImmutableBitSet |
SqlValidatorUtil.getOrdinalBitSet(RelDataType sourceRowType,
RelDataType targetRowType)
Gets the bit-set to the column ordinals in the source for columns that intersect in the target.
|
| Modifier and Type | Method and Description |
|---|---|
private static List<ImmutableBitSet> |
SqlValidatorUtil.analyzeGroupTuple(SqlValidatorScope scope,
SqlValidatorUtil.GroupAnalyzer groupAnalyzer,
List<SqlNode> operandList)
Analyzes a tuple in a GROUPING SETS clause.
|
static com.google.common.collect.ImmutableList<ImmutableBitSet> |
SqlValidatorUtil.cube(List<ImmutableBitSet> bitSets)
Computes the cube of bit sets.
|
static com.google.common.collect.ImmutableList<ImmutableBitSet> |
SqlValidatorUtil.rollup(List<ImmutableBitSet> bitSets)
Computes the rollup of bit sets.
|
| Modifier and Type | Method and Description |
|---|---|
private static boolean |
AggregatingSelectScope.allContain(List<ImmutableBitSet> bitSets,
int bit) |
static void |
SqlValidatorUtil.analyzeGroupItem(SqlValidatorScope scope,
SqlValidatorUtil.GroupAnalyzer groupAnalyzer,
com.google.common.collect.ImmutableList.Builder<com.google.common.collect.ImmutableList<ImmutableBitSet>> topBuilder,
SqlNode groupExpr)
Analyzes an expression in a GROUP BY clause.
|
private static void |
SqlValidatorUtil.convertGroupSet(SqlValidatorScope scope,
SqlValidatorUtil.GroupAnalyzer groupAnalyzer,
com.google.common.collect.ImmutableList.Builder<ImmutableBitSet> builder,
SqlNode groupExpr)
Analyzes a GROUPING SETS item in a GROUP BY clause.
|
static com.google.common.collect.ImmutableList<ImmutableBitSet> |
SqlValidatorUtil.cube(List<ImmutableBitSet> bitSets)
Computes the cube of bit sets.
|
static com.google.common.collect.ImmutableList<ImmutableBitSet> |
SqlValidatorUtil.rollup(List<ImmutableBitSet> bitSets)
Computes the rollup of bit sets.
|
| Constructor and Description |
|---|
Resolved(List<SqlNode> extraExprList,
List<SqlNode> groupExprList,
Iterable<ImmutableBitSet> groupSets,
Map<Integer,Integer> groupExprProjection) |
| Modifier and Type | Field and Description |
|---|---|
private ImmutableBitSet |
SqlToRelConverter.CorrelationUse.requiredColumns |
| Modifier and Type | Method and Description |
|---|---|
protected RelNode |
SqlToRelConverter.createAggregate(SqlToRelConverter.Blackboard bb,
ImmutableBitSet groupSet,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls)
Creates an Aggregate.
|
| Constructor and Description |
|---|
CorrelationUse(CorrelationId id,
ImmutableBitSet requiredColumns,
RelNode r) |
| Modifier and Type | Method and Description |
|---|---|
private RelBuilder.GroupKey |
RelBuilder.groupKey_(ImmutableBitSet groupSet,
boolean indicator,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets) |
RelBuilder.GroupKey |
RelBuilder.groupKey(ImmutableBitSet groupSet,
boolean indicator,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets)
Deprecated.
|
RelBuilder.GroupKey |
RelBuilder.groupKey(ImmutableBitSet groupSet,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets)
Creates a group key with grouping sets, both identified by field positions
in the underlying relational expression.
|
| Modifier and Type | Method and Description |
|---|---|
private RelBuilder.GroupKey |
RelBuilder.groupKey_(ImmutableBitSet groupSet,
boolean indicator,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets) |
RelBuilder.GroupKey |
RelBuilder.groupKey(ImmutableBitSet groupSet,
boolean indicator,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets)
Deprecated.
|
RelBuilder.GroupKey |
RelBuilder.groupKey(ImmutableBitSet groupSet,
com.google.common.collect.ImmutableList<ImmutableBitSet> groupSets)
Creates a group key with grouping sets, both identified by field positions
in the underlying relational expression.
|
| Modifier and Type | Field and Description |
|---|---|
private static ImmutableBitSet |
ImmutableBitSet.EMPTY |
private ImmutableBitSet |
ImmutableBitSet.Rebuilder.originalBitSet |
| Modifier and Type | Field and Description |
|---|---|
static PartiallyOrderedSet.Ordering<ImmutableBitSet> |
PartiallyOrderedSet.BIT_SET_INCLUSION_ORDERING
Ordering that orders bit sets by inclusion.
|
private SortedMap<Integer,ImmutableBitSet> |
ImmutableBitSet.Closure.closure |
static Comparator<ImmutableBitSet> |
ImmutableBitSet.COMPARATOR
Compares bit sets topologically, so that enclosing bit sets come first,
using natural ordering to break ties.
|
private SortedMap<Integer,ImmutableBitSet> |
ImmutableBitSet.Closure.equivalence |
static com.google.common.base.Function<? super BitSet,ImmutableBitSet> |
ImmutableBitSet.FROM_BIT_SET |
static com.google.common.collect.Ordering<ImmutableBitSet> |
ImmutableBitSet.ORDERING |
| Modifier and Type | Method and Description |
|---|---|
ImmutableBitSet |
ImmutableBitSet.Builder.build()
Builds an ImmutableBitSet from the contents of this Builder.
|
ImmutableBitSet |
ImmutableBitSet.Rebuilder.build() |
ImmutableBitSet |
ImmutableBitSet.Builder.build(ImmutableBitSet bitSet)
Builds an ImmutableBitSet from the contents of this Builder, using
an existing ImmutableBitSet if it happens to have the same contents.
|
ImmutableBitSet |
ImmutableBitSet.Rebuilder.build(ImmutableBitSet bitSet) |
ImmutableBitSet |
ImmutableBitSet.clear(int i)
Returns a bit set the same as this but with a given bit cleared.
|
ImmutableBitSet |
ImmutableBitSet.clearIf(int i,
boolean condition)
Returns a bit set the same as this but with a given bit cleared if
condition is true.
|
private ImmutableBitSet |
ImmutableBitSet.Closure.computeClosure(int pos) |
ImmutableBitSet |
ImmutableBitSet.except(ImmutableBitSet that)
Returns a bit set with all the bits in this set that are not in
another.
|
ImmutableBitSet |
ImmutableBitSet.get(int fromIndex,
int toIndex)
Returns a new
ImmutableBitSet
composed of bits from this ImmutableBitSet
from fromIndex (inclusive) to toIndex (exclusive). |
ImmutableBitSet |
ImmutableBitSet.intersect(ImmutableBitSet that)
Returns a bit set with all the bits set in both this set and in
another.
|
static ImmutableBitSet |
ImmutableBitSet.of()
Creates an ImmutableBitSet with no bits.
|
static ImmutableBitSet |
ImmutableBitSet.of(ImmutableIntList bits)
Creates an ImmutableBitSet with given bits set.
|
static ImmutableBitSet |
ImmutableBitSet.of(int... bits) |
static ImmutableBitSet |
ImmutableBitSet.of(Iterable<Integer> bits) |
ImmutableBitSet |
ImmutableBitSet.permute(Map<Integer,Integer> map)
Permutes a bit set according to a given mapping.
|
static ImmutableBitSet |
ImmutableBitSet.range(int toIndex)
Creates an ImmutableBitSet with bits between 0 and
toIndex set. |
static ImmutableBitSet |
ImmutableBitSet.range(int fromIndex,
int toIndex)
Creates an ImmutableBitSet with bits from
fromIndex (inclusive) to
specified toIndex (exclusive) set to true. |
ImmutableBitSet |
ImmutableBitSet.set(int i)
Returns a bit set the same as this but with a given bit set.
|
ImmutableBitSet |
ImmutableBitSet.set(int i,
boolean b)
Returns a bit set the same as this but with a given bit set (if b is
true) or unset (if b is false).
|
ImmutableBitSet |
ImmutableBitSet.setIf(int bit,
boolean condition)
Returns a bit set the same as this but with a given bit set if condition
is true.
|
ImmutableBitSet |
ImmutableBitSet.shift(int offset)
Returns a bit set with every bit moved up
offset positions. |
ImmutableBitSet |
ImmutableBitSet.union(BitSet other)
Returns the union of this immutable bit set with a
BitSet. |
ImmutableBitSet |
ImmutableBitSet.union(ImmutableBitSet other)
Returns the union of this bit set with another.
|
static ImmutableBitSet |
ImmutableBitSet.union(Iterable<? extends ImmutableBitSet> sets)
Returns the union of a number of bit sets.
|
static ImmutableBitSet |
ImmutableBitSet.valueOf(long... longs)
Returns a new immutable bit set containing all the bits in the given long
array.
|
static ImmutableBitSet |
ImmutableBitSet.valueOf(LongBuffer longs)
Returns a new immutable bit set containing all the bits in the given long
buffer.
|
| Modifier and Type | Method and Description |
|---|---|
static SortedMap<Integer,ImmutableBitSet> |
ImmutableBitSet.closure(SortedMap<Integer,ImmutableBitSet> equivalence)
Computes the closure of a map from integers to bits.
|
static Iterable<ImmutableBitSet> |
ImmutableBitSet.permute(Iterable<ImmutableBitSet> bitSets,
Map<Integer,Integer> map)
Permutes a collection of bit sets according to a given mapping.
|
Iterable<ImmutableBitSet> |
ImmutableBitSet.powerSet()
Computes the power set (set of all sets) of this bit set.
|
| Modifier and Type | Method and Description |
|---|---|
ImmutableBitSet.Builder |
ImmutableBitSet.Builder.addAll(ImmutableBitSet bitSet)
Sets all bits in a given bit set.
|
ImmutableBitSet |
ImmutableBitSet.Builder.build(ImmutableBitSet bitSet)
Builds an ImmutableBitSet from the contents of this Builder, using
an existing ImmutableBitSet if it happens to have the same contents.
|
ImmutableBitSet |
ImmutableBitSet.Rebuilder.build(ImmutableBitSet bitSet) |
static ImmutableBitSet.Builder |
ImmutableBitSet.builder(ImmutableBitSet bitSet)
Deprecated.
|
int |
ImmutableBitSet.compareTo(ImmutableBitSet o)
Compares this ImmutableBitSet with another, using a lexicographic
ordering.
|
static boolean |
BitSets.contains(BitSet set0,
ImmutableBitSet set1)
Returns true if all bits set in the second parameter are also set in the
first.
|
boolean |
ImmutableBitSet.contains(ImmutableBitSet set1)
Returns true if all bits set in the second parameter are also set in the
first.
|
ImmutableBitSet |
ImmutableBitSet.except(ImmutableBitSet that)
Returns a bit set with all the bits in this set that are not in
another.
|
ImmutableBitSet |
ImmutableBitSet.intersect(ImmutableBitSet that)
Returns a bit set with all the bits set in both this set and in
another.
|
void |
ImmutableBitSet.Builder.intersect(ImmutableBitSet that) |
boolean |
ImmutableBitSet.intersects(ImmutableBitSet set)
Returns true if the specified
ImmutableBitSet has any bits set to
true that are also set to true in this
ImmutableBitSet. |
ImmutableBitSet.Builder |
ImmutableBitSet.Builder.removeAll(ImmutableBitSet bitSet)
Clears all bits in a given bit set.
|
static Iterable<Integer> |
BitSets.toIter(ImmutableBitSet bitSet) |
ImmutableBitSet |
ImmutableBitSet.union(ImmutableBitSet other)
Returns the union of this bit set with another.
|
boolean |
ImmutableBitSet.Builder.wouldEqual(ImmutableBitSet bitSet)
Returns whether the bit set that would be created by this Builder would
equal a given bit set.
|
| Modifier and Type | Method and Description |
|---|---|
static SortedMap<Integer,ImmutableBitSet> |
ImmutableBitSet.closure(SortedMap<Integer,ImmutableBitSet> equivalence)
Computes the closure of a map from integers to bits.
|
static Iterable<ImmutableBitSet> |
ImmutableBitSet.permute(Iterable<ImmutableBitSet> bitSets,
Map<Integer,Integer> map)
Permutes a collection of bit sets according to a given mapping.
|
static ImmutableBitSet |
ImmutableBitSet.union(Iterable<? extends ImmutableBitSet> sets)
Returns the union of a number of bit sets.
|
| Constructor and Description |
|---|
Rebuilder(ImmutableBitSet originalBitSet) |
| Constructor and Description |
|---|
Closure(SortedMap<Integer,ImmutableBitSet> equivalence) |
| Modifier and Type | Method and Description |
|---|---|
static ImmutableBitSet |
Mappings.apply(Mapping mapping,
ImmutableBitSet bitSet)
Applies a mapping to an
ImmutableBitSet. |
| Modifier and Type | Method and Description |
|---|---|
static com.google.common.collect.ImmutableList<ImmutableBitSet> |
Mappings.apply2(Mapping mapping,
Iterable<ImmutableBitSet> bitSets)
Applies a mapping to a collection of
ImmutableBitSets. |
| Modifier and Type | Method and Description |
|---|---|
static ImmutableBitSet |
Mappings.apply(Mapping mapping,
ImmutableBitSet bitSet)
Applies a mapping to an
ImmutableBitSet. |
| Modifier and Type | Method and Description |
|---|---|
static com.google.common.collect.ImmutableList<ImmutableBitSet> |
Mappings.apply2(Mapping mapping,
Iterable<ImmutableBitSet> bitSets)
Applies a mapping to a collection of
ImmutableBitSets. |
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.