private PartitionColumns columnsToRead() { PartitionColumns allColumns = cfm.partitionColumns(); // If we update static row, we won't have any conditions on regular rows. // If we update regular row, we have to fetch all regular rows (which would satisfy column condition) and // static rows that take part in column condition. // In both cases, we're fetching enough rows to distinguish between "all conditions are nulls" and "row does not exist". // We have to do this as we can't rely on row marker for that (see #6623) Columns statics = updatesStaticRow ? allColumns.statics : conditionColumns.statics; Columns regulars = updatesRegularRows ? allColumns.regulars : conditionColumns.regulars; return new PartitionColumns(statics, regulars); }
private PartitionColumns columnsToRead() { PartitionColumns allColumns = cfm.partitionColumns(); // If we update static row, we won't have any conditions on regular rows. // If we update regular row, we have to fetch all regular rows (which would satisfy column condition) and // static rows that take part in column condition. // In both cases, we're fetching enough rows to distinguish between "all conditions are nulls" and "row does not exist". // We have to do this as we can't rely on row marker for that (see #6623) Columns statics = updatesStaticRow ? allColumns.statics : conditionColumns.statics; Columns regulars = updatesRegularRows ? allColumns.regulars : conditionColumns.regulars; return new PartitionColumns(statics, regulars); }
private PartitionColumns columnsToRead() { PartitionColumns allColumns = cfm.partitionColumns(); // If we update static row, we won't have any conditions on regular rows. // If we update regular row, we have to fetch all regular rows (which would satisfy column condition) and // static rows that take part in column condition. // In both cases, we're fetching enough rows to distinguish between "all conditions are nulls" and "row does not exist". // We have to do this as we can't rely on row marker for that (see #6623) Columns statics = updatesStaticRow ? allColumns.statics : conditionColumns.statics; Columns regulars = updatesRegularRows ? allColumns.regulars : conditionColumns.regulars; return new PartitionColumns(statics, regulars); }
public PartitionColumns withoutStatics() { return statics.isEmpty() ? this : new PartitionColumns(Columns.NONE, regulars); }
public PartitionColumns withoutStatics() { return statics.isEmpty() ? this : new PartitionColumns(Columns.NONE, regulars); }
public PartitionColumns withoutStatics() { return statics.isEmpty() ? this : new PartitionColumns(Columns.NONE, regulars); }
public PartitionColumns mergeTo(PartitionColumns that) { if (this == that) return this; Columns statics = this.statics.mergeTo(that.statics); Columns regulars = this.regulars.mergeTo(that.regulars); if (statics == this.statics && regulars == this.regulars) return this; if (statics == that.statics && regulars == that.regulars) return that; return new PartitionColumns(statics, regulars); }
public PartitionColumns mergeTo(PartitionColumns that) { if (this == that) return this; Columns statics = this.statics.mergeTo(that.statics); Columns regulars = this.regulars.mergeTo(that.regulars); if (statics == this.statics && regulars == this.regulars) return this; if (statics == that.statics && regulars == that.regulars) return that; return new PartitionColumns(statics, regulars); }
public PartitionColumns mergeTo(PartitionColumns that) { if (this == that) return this; Columns statics = this.statics.mergeTo(that.statics); Columns regulars = this.regulars.mergeTo(that.regulars); if (statics == this.statics && regulars == this.regulars) return this; if (statics == that.statics && regulars == that.regulars) return that; return new PartitionColumns(statics, regulars); }
public PartitionColumns mergeTo(PartitionColumns that) { if (this == that) return this; Columns statics = this.statics.mergeTo(that.statics); Columns regulars = this.regulars.mergeTo(that.regulars); if (statics == this.statics && regulars == this.regulars) return this; if (statics == that.statics && regulars == that.regulars) return that; return new PartitionColumns(statics, regulars); }
public static PartitionColumns of(ColumnDefinition column) { return new PartitionColumns(column.isStatic() ? Columns.of(column) : Columns.NONE, column.isStatic() ? Columns.NONE : Columns.of(column)); }
public PartitionColumns build() { return new PartitionColumns(staticColumns == null ? Columns.NONE : Columns.from(staticColumns.build()), regularColumns == null ? Columns.NONE : Columns.from(regularColumns.build())); } }
public PartitionColumns without(ColumnDefinition column) { return new PartitionColumns(column.isStatic() ? statics.without(column) : statics, column.isStatic() ? regulars : regulars.without(column)); }
public static PartitionColumns of(ColumnDefinition column) { return new PartitionColumns(column.isStatic() ? Columns.of(column) : Columns.NONE, column.isStatic() ? Columns.NONE : Columns.of(column)); }
public PartitionColumns without(ColumnDefinition column) { return new PartitionColumns(column.isStatic() ? statics.without(column) : statics, column.isStatic() ? regulars : regulars.without(column)); }
public PartitionColumns without(ColumnDefinition column) { return new PartitionColumns(column.isStatic() ? statics.without(column) : statics, column.isStatic() ? regulars : regulars.without(column)); }
public PartitionColumns build() { return new PartitionColumns(staticColumns == null ? Columns.NONE : Columns.from(staticColumns.build()), regularColumns == null ? Columns.NONE : Columns.from(regularColumns.build())); } }
public static UnfilteredRowIterator unfilteredRow(CFMetaData metadata, DecoratedKey partitionKey, boolean isReverseOrder, Row staticRow, DeletionTime partitionDeletion) { PartitionColumns columns = PartitionColumns.NONE; if (!staticRow.isEmpty()) columns = new PartitionColumns(Columns.from(staticRow.columns()), Columns.NONE); else staticRow = Rows.EMPTY_STATIC_ROW; if (partitionDeletion.isLive()) partitionDeletion = DeletionTime.LIVE; return new EmptyUnfilteredRowIterator(columns, metadata, partitionKey, isReverseOrder, staticRow, partitionDeletion); }
public static UnfilteredRowIterator unfilteredRow(CFMetaData metadata, DecoratedKey partitionKey, boolean isReverseOrder, Row staticRow, DeletionTime partitionDeletion) { PartitionColumns columns = PartitionColumns.NONE; if (!staticRow.isEmpty()) columns = new PartitionColumns(Columns.from(staticRow.columns()), Columns.NONE); else staticRow = Rows.EMPTY_STATIC_ROW; if (partitionDeletion.isLive()) partitionDeletion = DeletionTime.LIVE; return new EmptyUnfilteredRowIterator(columns, metadata, partitionKey, isReverseOrder, staticRow, partitionDeletion); }
public static UnfilteredRowIterator unfilteredRow(CFMetaData metadata, DecoratedKey partitionKey, boolean isReverseOrder, Row staticRow, DeletionTime partitionDeletion) { PartitionColumns columns = PartitionColumns.NONE; if (!staticRow.isEmpty()) columns = new PartitionColumns(Columns.from(staticRow.columns()), Columns.NONE); else staticRow = Rows.EMPTY_STATIC_ROW; if (partitionDeletion.isLive()) partitionDeletion = DeletionTime.LIVE; return new EmptyUnfilteredRowIterator(columns, metadata, partitionKey, isReverseOrder, staticRow, partitionDeletion); }