Package com.illumon.iris.db.v2.by
Class ByAggregationFactory
java.lang.Object
com.illumon.iris.db.v2.by.ByAggregationFactory
- All Implemented Interfaces:
AggregationContextFactory
public class ByAggregationFactory extends Object implements AggregationContextFactory
An
AggregationContextFactory
used in the implementation of Table.by(com.illumon.iris.db.v2.by.AggregationStateFactory, com.illumon.iris.db.v2.select.SelectColumn...)
.-
Method Summary
Modifier and Type Method Description boolean
allowKeyOnlySubstitution()
Should we allow substitution with aKeyOnlyAggregationFactory
(e.g.static QueryTable
by(AggregationControl aggregationControl, QueryTable inputTable, String... groupByColumnNames)
static QueryTable
by(AggregationControl aggregationControl, QueryTable inputTable, String indexColumnName, SelectColumn[] groupByColumns)
static QueryTable
by(QueryTable inputTable, SelectColumn[] groupByColumns)
static QueryTable
by(QueryTable inputTable, String... groupByColumnNames)
static QueryTable
indexOnlyBy(QueryTable inputTable, String indexColumnName, SelectColumn... groupByColumns)
com.illumon.iris.db.v2.by.AggregationContext
makeAggregationContext(Table inputTable, String... groupByColumnNames)
Make anAggregationContext
for this aggregation.String
toString()
-
Method Details
-
allowKeyOnlySubstitution
public boolean allowKeyOnlySubstitution()Description copied from interface:AggregationContextFactory
Should we allow substitution with aKeyOnlyAggregationFactory
(e.g. selectDistinct) when there are only key columns? Instances whose operators could have side effects or are alreadyKeyOnlyAggregationFactory
should return false.- Specified by:
allowKeyOnlySubstitution
in interfaceAggregationContextFactory
- Returns:
- Whether to allow a
KeyOnlyAggregationFactory
to be substituted for this when there are only key columns
-
makeAggregationContext
public com.illumon.iris.db.v2.by.AggregationContext makeAggregationContext(@NotNull Table inputTable, @NotNull String... groupByColumnNames)Description copied from interface:AggregationContextFactory
Make anAggregationContext
for this aggregation.- Specified by:
makeAggregationContext
in interfaceAggregationContextFactory
- Parameters:
inputTable
- The sourceTable
to aggregategroupByColumnNames
- The key column names- Returns:
- A new or safely reusable
AggregationContext
-
toString
-
by
-
by
public static QueryTable by(@NotNull QueryTable inputTable, @NotNull SelectColumn[] groupByColumns) -
by
public static QueryTable by(@NotNull AggregationControl aggregationControl, @NotNull QueryTable inputTable, @NotNull String... groupByColumnNames) -
indexOnlyBy
public static QueryTable indexOnlyBy(@NotNull QueryTable inputTable, @NotNull String indexColumnName, @NotNull SelectColumn... groupByColumns) -
by
public static QueryTable by(@NotNull AggregationControl aggregationControl, @NotNull QueryTable inputTable, @Nullable String indexColumnName, @NotNull SelectColumn[] groupByColumns)
-