Package com.illumon.iris.db.v2.by
Class ByAggregationFactory
java.lang.Object
com.illumon.iris.db.v2.by.ByAggregationFactory
- All Implemented Interfaces:
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 TypeMethodDescriptionboolean
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.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
-
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)
-