Package com.illumon.iris.db.v2.updateby
Class UpdateBy
java.lang.Object
com.illumon.iris.db.v2.updateby.UpdateBy
- Direct Known Subclasses:
BucketedUpdateBy
public abstract class UpdateBy extends Object
The core of the
Table.updateBy(UpdateByControl, Collection, MatchPair...)
operation.-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
UpdateBy.UpdateType
The type of update to be applied. -
Field Summary
Fields Modifier and Type Field Description protected UpdateByControl
control
protected Index
freeRows
protected ChunkSource.WithPrev<Attributes.Values>[]
inputSources
protected int[]
inputSourceSlots
protected long
maxInnerIndex
protected UpdateByOperator[]
operators
protected RedirectionIndex
redirectionIndex
protected QueryTable
source
-
Constructor Summary
Constructors Modifier Constructor Description protected
UpdateBy(UpdateByOperator[] operators, QueryTable source, RedirectionIndex redirectionIndex, UpdateByControl control)
-
Method Summary
Modifier and Type Method Description protected void
processUpdateForRedirection(ShiftAwareListener.Update upstream)
static Table
updateBy(QueryTable source, Collection<UpdateByClause> clauses, MatchPair[] byColumns, UpdateByControl control)
Apply the specified operations to each group of rows in the source table and produce a result table with the same index as the source with each operator applied.
-
Field Details
-
inputSources
-
inputSourceSlots
protected final int[] inputSourceSlots -
operators
-
source
-
redirectionIndex
-
freeRows
-
maxInnerIndex
protected long maxInnerIndex -
control
-
-
Constructor Details
-
UpdateBy
protected UpdateBy(@NotNull UpdateByOperator[] operators, @NotNull QueryTable source, @Nullable RedirectionIndex redirectionIndex, UpdateByControl control)
-
-
Method Details
-
updateBy
public static Table updateBy(@NotNull QueryTable source, @NotNull Collection<UpdateByClause> clauses, @NotNull MatchPair[] byColumns, @NotNull UpdateByControl control)Apply the specified operations to each group of rows in the source table and produce a result table with the same index as the source with each operator applied.- Parameters:
source
- the source to apply to.clauses
- the operations to apply.byColumns
- the columns to group by before applying operations- Returns:
- a new table with the same index as the source with all the operations applied.
-
processUpdateForRedirection
-