public class org.apache.cassandra.db.rows.Row$Merger
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.db.rows.Row$Merger
super_class: java.lang.Object
{
private final org.apache.cassandra.db.rows.Row[] rows;
descriptor: [Lorg/apache/cassandra/db/rows/Row;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<java.util.Iterator<org.apache.cassandra.db.rows.ColumnData>> columnDataIterators;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/util/Iterator<Lorg/apache/cassandra/db/rows/ColumnData;>;>;
private org.apache.cassandra.db.Clustering clustering;
descriptor: Lorg/apache/cassandra/db/Clustering;
flags: (0x0002) ACC_PRIVATE
private int rowsToMerge;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int lastRowSet;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.util.List<org.apache.cassandra.db.rows.ColumnData> dataBuffer;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/apache/cassandra/db/rows/ColumnData;>;
private final org.apache.cassandra.db.rows.Row$Merger$ColumnDataReducer columnDataReducer;
descriptor: Lorg/apache/cassandra/db/rows/Row$Merger$ColumnDataReducer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/db/rows/Row;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.cassandra.db.rows.Row$Merger.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int, int, boolean);
descriptor: (IIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield org.apache.cassandra.db.rows.Row$Merger.lastRowSet:I
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.cassandra.db.rows.Row$Merger.dataBuffer:Ljava/util/List;
3: aload 0
iload 1
anewarray org.apache.cassandra.db.rows.Row
putfield org.apache.cassandra.db.rows.Row$Merger.rows:[Lorg/apache/cassandra/db/rows/Row;
4: aload 0
new java.util.ArrayList
dup
iload 1
invokespecial java.util.ArrayList.<init>:(I)V
putfield org.apache.cassandra.db.rows.Row$Merger.columnDataIterators:Ljava/util/List;
5: aload 0
new org.apache.cassandra.db.rows.Row$Merger$ColumnDataReducer
dup
iload 1
iload 2
iload 3
invokespecial org.apache.cassandra.db.rows.Row$Merger$ColumnDataReducer.<init>:(IIZ)V
putfield org.apache.cassandra.db.rows.Row$Merger.columnDataReducer:Lorg/apache/cassandra/db/rows/Row$Merger$ColumnDataReducer;
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/db/rows/Row$Merger;
0 7 1 size I
0 7 2 nowInSec I
0 7 3 hasComplex Z
MethodParameters:
Name Flags
size
nowInSec
hasComplex
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.dataBuffer:Ljava/util/List;
invokeinterface java.util.List.clear:()V
1: aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.rows:[Lorg/apache/cassandra/db/rows/Row;
aconst_null
invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.columnDataIterators:Ljava/util/List;
invokeinterface java.util.List.clear:()V
3: aload 0
iconst_0
putfield org.apache.cassandra.db.rows.Row$Merger.rowsToMerge:I
4: aload 0
iconst_m1
putfield org.apache.cassandra.db.rows.Row$Merger.lastRowSet:I
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/db/rows/Row$Merger;
public void add(int, org.apache.cassandra.db.rows.Row);
descriptor: (ILorg/apache/cassandra/db/rows/Row;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokeinterface org.apache.cassandra.db.rows.Row.clustering:()Lorg/apache/cassandra/db/Clustering;
putfield org.apache.cassandra.db.rows.Row$Merger.clustering:Lorg/apache/cassandra/db/Clustering;
1: aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.rows:[Lorg/apache/cassandra/db/rows/Row;
iload 1
aload 2
aastore
2: aload 0
dup
getfield org.apache.cassandra.db.rows.Row$Merger.rowsToMerge:I
iconst_1
iadd
putfield org.apache.cassandra.db.rows.Row$Merger.rowsToMerge:I
3: aload 0
iload 1
putfield org.apache.cassandra.db.rows.Row$Merger.lastRowSet:I
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/db/rows/Row$Merger;
0 5 1 i I
0 5 2 row Lorg/apache/cassandra/db/rows/Row;
MethodParameters:
Name Flags
i
row
public org.apache.cassandra.db.rows.Row merge(org.apache.cassandra.db.DeletionTime);
descriptor: (Lorg/apache/cassandra/db/DeletionTime;)Lorg/apache/cassandra/db/rows/Row;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.rowsToMerge:I
iconst_1
if_icmpne 4
aload 1
invokevirtual org.apache.cassandra.db.DeletionTime.isLive:()Z
ifeq 4
1: aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.rows:[Lorg/apache/cassandra/db/rows/Row;
aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.lastRowSet:I
aaload
astore 2
start local 2 2: getstatic org.apache.cassandra.db.rows.Row$Merger.$assertionsDisabled:Z
ifne 3
aload 2
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.apache.cassandra.db.rows.Row
StackMap stack:
aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.db.LivenessInfo.EMPTY:Lorg/apache/cassandra/db/LivenessInfo;
astore 2
start local 2 5: getstatic org.apache.cassandra.db.rows.Row$Deletion.LIVE:Lorg/apache/cassandra/db/rows/Row$Deletion;
astore 3
start local 3 6: aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.rows:[Lorg/apache/cassandra/db/rows/Row;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 15
StackMap locals: org.apache.cassandra.db.rows.Row$Merger org.apache.cassandra.db.DeletionTime org.apache.cassandra.db.LivenessInfo org.apache.cassandra.db.rows.Row$Deletion top int int org.apache.cassandra.db.rows.Row[]
StackMap stack:
7: aload 7
iload 5
aaload
astore 4
start local 4 8: aload 4
ifnonnull 10
9: goto 14
10: StackMap locals: org.apache.cassandra.db.rows.Row$Merger org.apache.cassandra.db.DeletionTime org.apache.cassandra.db.LivenessInfo org.apache.cassandra.db.rows.Row$Deletion org.apache.cassandra.db.rows.Row int int org.apache.cassandra.db.rows.Row[]
StackMap stack:
aload 4
invokeinterface org.apache.cassandra.db.rows.Row.primaryKeyLivenessInfo:()Lorg/apache/cassandra/db/LivenessInfo;
aload 2
invokevirtual org.apache.cassandra.db.LivenessInfo.supersedes:(Lorg/apache/cassandra/db/LivenessInfo;)Z
ifeq 12
11: aload 4
invokeinterface org.apache.cassandra.db.rows.Row.primaryKeyLivenessInfo:()Lorg/apache/cassandra/db/LivenessInfo;
astore 2
12: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.apache.cassandra.db.rows.Row.deletion:()Lorg/apache/cassandra/db/rows/Row$Deletion;
aload 3
invokevirtual org.apache.cassandra.db.rows.Row$Deletion.supersedes:(Lorg/apache/cassandra/db/rows/Row$Deletion;)Z
ifeq 14
13: aload 4
invokeinterface org.apache.cassandra.db.rows.Row.deletion:()Lorg/apache/cassandra/db/rows/Row$Deletion;
astore 3
end local 4 14: StackMap locals: org.apache.cassandra.db.rows.Row$Merger org.apache.cassandra.db.DeletionTime org.apache.cassandra.db.LivenessInfo org.apache.cassandra.db.rows.Row$Deletion top int int org.apache.cassandra.db.rows.Row[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 6
if_icmplt 7
16: aload 3
aload 2
invokevirtual org.apache.cassandra.db.rows.Row$Deletion.isShadowedBy:(Lorg/apache/cassandra/db/LivenessInfo;)Z
ifeq 18
17: getstatic org.apache.cassandra.db.rows.Row$Deletion.LIVE:Lorg/apache/cassandra/db/rows/Row$Deletion;
astore 3
18: StackMap locals: org.apache.cassandra.db.rows.Row$Merger org.apache.cassandra.db.DeletionTime org.apache.cassandra.db.LivenessInfo org.apache.cassandra.db.rows.Row$Deletion
StackMap stack:
aload 3
aload 1
invokevirtual org.apache.cassandra.db.rows.Row$Deletion.supersedes:(Lorg/apache/cassandra/db/DeletionTime;)Z
ifeq 20
19: aload 3
invokevirtual org.apache.cassandra.db.rows.Row$Deletion.time:()Lorg/apache/cassandra/db/DeletionTime;
astore 1
goto 21
20: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.db.rows.Row$Deletion.LIVE:Lorg/apache/cassandra/db/rows/Row$Deletion;
astore 3
21: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual org.apache.cassandra.db.DeletionTime.deletes:(Lorg/apache/cassandra/db/LivenessInfo;)Z
ifeq 23
22: getstatic org.apache.cassandra.db.LivenessInfo.EMPTY:Lorg/apache/cassandra/db/LivenessInfo;
astore 2
23: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.rows:[Lorg/apache/cassandra/db/rows/Row;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 29
StackMap locals: org.apache.cassandra.db.rows.Row$Merger org.apache.cassandra.db.DeletionTime org.apache.cassandra.db.LivenessInfo org.apache.cassandra.db.rows.Row$Deletion top int int org.apache.cassandra.db.rows.Row[]
StackMap stack:
24: aload 7
iload 5
aaload
astore 4
start local 4 25: aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.columnDataIterators:Ljava/util/List;
aload 4
ifnonnull 26
invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
goto 27
StackMap locals: org.apache.cassandra.db.rows.Row$Merger org.apache.cassandra.db.DeletionTime org.apache.cassandra.db.LivenessInfo org.apache.cassandra.db.rows.Row$Deletion org.apache.cassandra.db.rows.Row int int org.apache.cassandra.db.rows.Row[]
StackMap stack: java.util.List
26: aload 4
invokeinterface org.apache.cassandra.db.rows.Row.iterator:()Ljava/util/Iterator;
StackMap locals: org.apache.cassandra.db.rows.Row$Merger org.apache.cassandra.db.DeletionTime org.apache.cassandra.db.LivenessInfo org.apache.cassandra.db.rows.Row$Deletion org.apache.cassandra.db.rows.Row int int org.apache.cassandra.db.rows.Row[]
StackMap stack: java.util.List java.util.Iterator
27: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 28: iinc 5 1
StackMap locals: org.apache.cassandra.db.rows.Row$Merger org.apache.cassandra.db.DeletionTime org.apache.cassandra.db.LivenessInfo org.apache.cassandra.db.rows.Row$Deletion top int int org.apache.cassandra.db.rows.Row[]
StackMap stack:
29: iload 5
iload 6
if_icmplt 24
30: aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.columnDataReducer:Lorg/apache/cassandra/db/rows/Row$Merger$ColumnDataReducer;
aload 1
invokevirtual org.apache.cassandra.db.rows.Row$Merger$ColumnDataReducer.setActiveDeletion:(Lorg/apache/cassandra/db/DeletionTime;)V
31: aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.columnDataIterators:Ljava/util/List;
getstatic org.apache.cassandra.db.rows.ColumnData.comparator:Ljava/util/Comparator;
aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.columnDataReducer:Lorg/apache/cassandra/db/rows/Row$Merger$ColumnDataReducer;
invokestatic org.apache.cassandra.utils.MergeIterator.get:(Ljava/util/List;Ljava/util/Comparator;Lorg/apache/cassandra/utils/MergeIterator$Reducer;)Lorg/apache/cassandra/utils/MergeIterator;
astore 4
start local 4 32: goto 36
33: StackMap locals: org.apache.cassandra.db.rows.Row$Merger org.apache.cassandra.db.DeletionTime org.apache.cassandra.db.LivenessInfo org.apache.cassandra.db.rows.Row$Deletion java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.rows.ColumnData
astore 5
start local 5 34: aload 5
ifnull 36
35: aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.dataBuffer:Ljava/util/List;
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 36: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
37: aload 2
invokevirtual org.apache.cassandra.db.LivenessInfo.isEmpty:()Z
ifeq 39
aload 3
invokevirtual org.apache.cassandra.db.rows.Row$Deletion.isLive:()Z
ifeq 39
aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.dataBuffer:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 39
38: aconst_null
goto 40
39: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.clustering:Lorg/apache/cassandra/db/Clustering;
aload 2
aload 3
aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.dataBuffer:Ljava/util/List;
invokestatic org.apache.cassandra.utils.btree.UpdateFunction.noOp:()Lorg/apache/cassandra/utils/btree/UpdateFunction;
invokestatic org.apache.cassandra.utils.btree.BTree.build:(Ljava/util/Collection;Lorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
invokestatic org.apache.cassandra.db.rows.BTreeRow.create:(Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/LivenessInfo;Lorg/apache/cassandra/db/rows/Row$Deletion;[Ljava/lang/Object;)Lorg/apache/cassandra/db/rows/BTreeRow;
40: StackMap locals:
StackMap stack: org.apache.cassandra.db.rows.BTreeRow
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lorg/apache/cassandra/db/rows/Row$Merger;
0 41 1 activeDeletion Lorg/apache/cassandra/db/DeletionTime;
2 4 2 row Lorg/apache/cassandra/db/rows/Row;
5 41 2 rowInfo Lorg/apache/cassandra/db/LivenessInfo;
6 41 3 rowDeletion Lorg/apache/cassandra/db/rows/Row$Deletion;
8 14 4 row Lorg/apache/cassandra/db/rows/Row;
25 28 4 row Lorg/apache/cassandra/db/rows/Row;
32 41 4 merged Ljava/util/Iterator<Lorg/apache/cassandra/db/rows/ColumnData;>;
34 36 5 data Lorg/apache/cassandra/db/rows/ColumnData;
MethodParameters:
Name Flags
activeDeletion
public org.apache.cassandra.db.Clustering mergedClustering();
descriptor: ()Lorg/apache/cassandra/db/Clustering;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.clustering:Lorg/apache/cassandra/db/Clustering;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/rows/Row$Merger;
public org.apache.cassandra.db.rows.Row[] mergedRows();
descriptor: ()[Lorg/apache/cassandra/db/rows/Row;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.rows.Row$Merger.rows:[Lorg/apache/cassandra/db/rows/Row;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/rows/Row$Merger;
}
SourceFile: "Row.java"
NestHost: org.apache.cassandra.db.rows.Row
InnerClasses:
public Deletion = org.apache.cassandra.db.rows.Row$Deletion of org.apache.cassandra.db.rows.Row
public Merger = org.apache.cassandra.db.rows.Row$Merger of org.apache.cassandra.db.rows.Row
private CellReducer = org.apache.cassandra.db.rows.Row$Merger$CellReducer of org.apache.cassandra.db.rows.Row$Merger
private ColumnDataReducer = org.apache.cassandra.db.rows.Row$Merger$ColumnDataReducer of org.apache.cassandra.db.rows.Row$Merger
public abstract Reducer = org.apache.cassandra.utils.MergeIterator$Reducer of org.apache.cassandra.utils.MergeIterator