public class org.apache.cassandra.cql3.statements.BatchStatement implements org.apache.cassandra.cql3.CQLStatement
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.cql3.statements.BatchStatement
super_class: java.lang.Object
{
private final int boundTerms;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public final org.apache.cassandra.cql3.statements.BatchStatement$Type type;
descriptor: Lorg/apache/cassandra/cql3/statements/BatchStatement$Type;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private final java.util.List<org.apache.cassandra.cql3.statements.ModificationStatement> statements;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/apache/cassandra/cql3/statements/ModificationStatement;>;
private final java.util.Map<java.util.UUID, org.apache.cassandra.db.PartitionColumns> updatedColumns;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/util/UUID;Lorg/apache/cassandra/db/PartitionColumns;>;
private final org.apache.cassandra.db.PartitionColumns conditionColumns;
descriptor: Lorg/apache/cassandra/db/PartitionColumns;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean updatesRegularRows;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean updatesStaticRow;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.cql3.Attributes attrs;
descriptor: Lorg/apache/cassandra/cql3/Attributes;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean hasConditions;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String UNLOGGED_BATCH_WARNING;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Unlogged batch covering {} partitions detected against table{} {}. You should use a logged batch for atomicity, or asynchronous writes for performance."
private static final java.lang.String LOGGED_BATCH_LOW_GCGS_WARNING;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Executing a LOGGED BATCH on table{} {}, configured with a gc_grace_seconds of 0. The gc_grace_seconds is used to TTL batchlog entries, so setting gc_grace_seconds too low on tables involved in an atomic batch might cause batchlog entries to expire before being replayed."
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/cql3/statements/BatchStatement;
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.cql3.statements.BatchStatement.$assertionsDisabled:Z
3: ldc Lorg/apache/cassandra/cql3/statements/BatchStatement;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.cql3.statements.BatchStatement.logger:Lorg/slf4j/Logger;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int, org.apache.cassandra.cql3.statements.BatchStatement$Type, java.util.List<org.apache.cassandra.cql3.statements.ModificationStatement>, org.apache.cassandra.cql3.Attributes);
descriptor: (ILorg/apache/cassandra/cql3/statements/BatchStatement$Type;Ljava/util/List;Lorg/apache/cassandra/cql3/Attributes;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield org.apache.cassandra.cql3.statements.BatchStatement.boundTerms:I
2: aload 0
aload 2
putfield org.apache.cassandra.cql3.statements.BatchStatement.type:Lorg/apache/cassandra/cql3/statements/BatchStatement$Type;
3: aload 0
aload 3
putfield org.apache.cassandra.cql3.statements.BatchStatement.statements:Ljava/util/List;
4: aload 0
aload 4
putfield org.apache.cassandra.cql3.statements.BatchStatement.attrs:Lorg/apache/cassandra/cql3/Attributes;
5: iconst_0
istore 5
start local 5 6: new org.apache.cassandra.cql3.statements.BatchStatement$MultiTableColumnsBuilder
dup
invokespecial org.apache.cassandra.cql3.statements.BatchStatement$MultiTableColumnsBuilder.<init>:()V
astore 6
start local 6 7: invokestatic org.apache.cassandra.db.PartitionColumns.builder:()Lorg/apache/cassandra/db/PartitionColumns$Builder;
astore 7
start local 7 8: iconst_0
istore 8
start local 8 9: iconst_0
istore 9
start local 9 10: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 18
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement int org.apache.cassandra.cql3.statements.BatchStatement$Type java.util.List org.apache.cassandra.cql3.Attributes int org.apache.cassandra.cql3.statements.BatchStatement$MultiTableColumnsBuilder org.apache.cassandra.db.PartitionColumns$Builder int int top java.util.Iterator
StackMap stack:
11: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.statements.ModificationStatement
astore 10
start local 10 12: aload 6
aload 10
getfield org.apache.cassandra.cql3.statements.ModificationStatement.cfm:Lorg/apache/cassandra/config/CFMetaData;
aload 10
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.updatedColumns:()Lorg/apache/cassandra/db/PartitionColumns;
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement$MultiTableColumnsBuilder.addAll:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/PartitionColumns;)V
13: iload 8
aload 10
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.updatesRegularRows:()Z
ior
istore 8
14: aload 10
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.hasConditions:()Z
ifeq 18
15: iconst_1
istore 5
16: aload 7
aload 10
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.conditionColumns:()Lorg/apache/cassandra/db/PartitionColumns;
invokevirtual org.apache.cassandra.db.PartitionColumns$Builder.addAll:(Lorg/apache/cassandra/db/PartitionColumns;)Lorg/apache/cassandra/db/PartitionColumns$Builder;
pop
17: iload 9
aload 10
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.updatesStaticRow:()Z
ior
istore 9
end local 10 18: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
19: aload 0
aload 6
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement$MultiTableColumnsBuilder.build:()Ljava/util/Map;
putfield org.apache.cassandra.cql3.statements.BatchStatement.updatedColumns:Ljava/util/Map;
20: aload 0
aload 7
invokevirtual org.apache.cassandra.db.PartitionColumns$Builder.build:()Lorg/apache/cassandra/db/PartitionColumns;
putfield org.apache.cassandra.cql3.statements.BatchStatement.conditionColumns:Lorg/apache/cassandra/db/PartitionColumns;
21: aload 0
iload 8
putfield org.apache.cassandra.cql3.statements.BatchStatement.updatesRegularRows:Z
22: aload 0
iload 9
putfield org.apache.cassandra.cql3.statements.BatchStatement.updatesStaticRow:Z
23: aload 0
iload 5
putfield org.apache.cassandra.cql3.statements.BatchStatement.hasConditions:Z
24: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 25 1 boundTerms I
0 25 2 type Lorg/apache/cassandra/cql3/statements/BatchStatement$Type;
0 25 3 statements Ljava/util/List<Lorg/apache/cassandra/cql3/statements/ModificationStatement;>;
0 25 4 attrs Lorg/apache/cassandra/cql3/Attributes;
6 25 5 hasConditions Z
7 25 6 regularBuilder Lorg/apache/cassandra/cql3/statements/BatchStatement$MultiTableColumnsBuilder;
8 25 7 conditionBuilder Lorg/apache/cassandra/db/PartitionColumns$Builder;
9 25 8 updateRegular Z
10 25 9 updateStatic Z
12 18 10 stmt Lorg/apache/cassandra/cql3/statements/ModificationStatement;
Signature: (ILorg/apache/cassandra/cql3/statements/BatchStatement$Type;Ljava/util/List<Lorg/apache/cassandra/cql3/statements/ModificationStatement;>;Lorg/apache/cassandra/cql3/Attributes;)V
MethodParameters:
Name Flags
boundTerms
type
statements
attrs
public java.lang.Iterable<org.apache.cassandra.cql3.functions.Function> getFunctions();
descriptor: ()Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.statements:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement java.util.List top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.statements.ModificationStatement
astore 2
start local 2 3: aload 2
aload 1
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.addFunctionsTo:(Ljava/util/List;)V
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
1 6 1 functions Ljava/util/List<Lorg/apache/cassandra/cql3/functions/Function;>;
3 4 2 statement Lorg/apache/cassandra/cql3/statements/ModificationStatement;
Signature: ()Ljava/lang/Iterable<Lorg/apache/cassandra/cql3/functions/Function;>;
public int getBoundTerms();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.boundTerms:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
public void checkAccess(org.apache.cassandra.service.ClientState);
descriptor: (Lorg/apache/cassandra/service/ClientState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.statements:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement org.apache.cassandra.service.ClientState top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.statements.ModificationStatement
astore 2
start local 2 2: aload 2
aload 1
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.checkAccess:(Lorg/apache/cassandra/service/ClientState;)V
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 5 1 state Lorg/apache/cassandra/service/ClientState;
2 3 2 statement Lorg/apache/cassandra/cql3/statements/ModificationStatement;
Exceptions:
throws org.apache.cassandra.exceptions.InvalidRequestException, org.apache.cassandra.exceptions.UnauthorizedException
MethodParameters:
Name Flags
state
public void validate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.attrs:Lorg/apache/cassandra/cql3/Attributes;
invokevirtual org.apache.cassandra.cql3.Attributes.isTimeToLiveSet:()Z
ifeq 2
1: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Global TTL on the BATCH statement is not supported."
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.attrs:Lorg/apache/cassandra/cql3/Attributes;
invokevirtual org.apache.cassandra.cql3.Attributes.isTimestampSet:()Z
istore 1
start local 1 3: iload 1
ifeq 8
4: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.hasConditions:Z
ifeq 6
5: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Cannot provide custom timestamp for conditional BATCH"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.isCounter:()Z
ifeq 8
7: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Cannot provide custom timestamp for counter BATCH"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 9: iconst_0
istore 3
start local 3 10: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.statements:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 23
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement int int int top java.util.Iterator
StackMap stack:
11: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.statements.ModificationStatement
astore 4
start local 4 12: iload 1
ifeq 14
aload 4
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.isCounter:()Z
ifeq 14
13: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Cannot provide custom timestamp for a BATCH containing counters"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement int int int org.apache.cassandra.cql3.statements.ModificationStatement java.util.Iterator
StackMap stack:
iload 1
ifeq 16
aload 4
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.isTimestampSet:()Z
ifeq 16
15: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Timestamp must be set either on BATCH or individual statements"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.isCounter:()Z
ifeq 18
aload 4
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.isCounter:()Z
ifne 18
17: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Cannot include non-counter statement in a counter batch"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.isLogged:()Z
ifeq 20
aload 4
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.isCounter:()Z
ifeq 20
19: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Cannot include a counter statement in a logged batch"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.isCounter:()Z
ifeq 22
21: iconst_1
istore 2
goto 23
22: StackMap locals:
StackMap stack:
iconst_1
istore 3
end local 4 23: StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement int int int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
24: iload 2
ifeq 26
iload 3
ifeq 26
25: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Counter and non-counter mutations cannot exist in the same batch"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement int int int
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.hasConditions:Z
ifeq 36
27: aconst_null
astore 4
start local 4 28: aconst_null
astore 5
start local 5 29: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.statements:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 35
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement int int int java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
30: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.statements.ModificationStatement
astore 6
start local 6 31: aload 4
ifnull 33
aload 6
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.keyspace:()Ljava/lang/String;
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 32
aload 6
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.columnFamily:()Ljava/lang/String;
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 33
32: StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement int int int java.lang.String java.lang.String org.apache.cassandra.cql3.statements.ModificationStatement java.util.Iterator
StackMap stack:
new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Batch with conditions cannot span multiple tables"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.keyspace:()Ljava/lang/String;
astore 4
34: aload 6
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.columnFamily:()Ljava/lang/String;
astore 5
end local 6 35: StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement int int int java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
end local 5 end local 4 36: StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement int int int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
3 37 1 timestampSet Z
9 37 2 hasCounters Z
10 37 3 hasNonCounters Z
12 23 4 statement Lorg/apache/cassandra/cql3/statements/ModificationStatement;
28 36 4 ksName Ljava/lang/String;
29 36 5 cfName Ljava/lang/String;
31 35 6 stmt Lorg/apache/cassandra/cql3/statements/ModificationStatement;
Exceptions:
throws org.apache.cassandra.exceptions.InvalidRequestException
private boolean isCounter();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.type:Lorg/apache/cassandra/cql3/statements/BatchStatement$Type;
getstatic org.apache.cassandra.cql3.statements.BatchStatement$Type.COUNTER:Lorg/apache/cassandra/cql3/statements/BatchStatement$Type;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
private boolean isLogged();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.type:Lorg/apache/cassandra/cql3/statements/BatchStatement$Type;
getstatic org.apache.cassandra.cql3.statements.BatchStatement$Type.LOGGED:Lorg/apache/cassandra/cql3/statements/BatchStatement$Type;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
public void validate(org.apache.cassandra.service.ClientState);
descriptor: (Lorg/apache/cassandra/service/ClientState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.statements:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement org.apache.cassandra.service.ClientState top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.statements.ModificationStatement
astore 2
start local 2 2: aload 2
aload 1
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.validate:(Lorg/apache/cassandra/service/ClientState;)V
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 5 1 state Lorg/apache/cassandra/service/ClientState;
2 3 2 statement Lorg/apache/cassandra/cql3/statements/ModificationStatement;
Exceptions:
throws org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
state
public java.util.List<org.apache.cassandra.cql3.statements.ModificationStatement> getStatements();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.statements:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
Signature: ()Ljava/util/List<Lorg/apache/cassandra/cql3/statements/ModificationStatement;>;
private java.util.Collection<? extends org.apache.cassandra.db.IMutation> getMutations(org.apache.cassandra.cql3.BatchQueryOptions, boolean, long, long);
descriptor: (Lorg/apache/cassandra/cql3/BatchQueryOptions;ZJJ)Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aconst_null
astore 7
start local 7 1: new org.apache.cassandra.cql3.statements.UpdatesCollector
dup
aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.updatedColumns:Ljava/util/Map;
aload 0
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.updatedRows:()I
invokespecial org.apache.cassandra.cql3.statements.UpdatesCollector.<init>:(Ljava/util/Map;I)V
astore 8
start local 8 2: iconst_0
istore 9
start local 9 3: goto 13
4: StackMap locals: java.util.Set org.apache.cassandra.cql3.statements.UpdatesCollector int
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.statements:Ljava/util/List;
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.statements.ModificationStatement
astore 10
start local 10 5: aload 0
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.isLogged:()Z
ifeq 9
aload 10
getfield org.apache.cassandra.cql3.statements.ModificationStatement.cfm:Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.params:Lorg/apache/cassandra/schema/TableParams;
getfield org.apache.cassandra.schema.TableParams.gcGraceSeconds:I
ifne 9
6: aload 7
ifnonnull 8
7: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 7
8: StackMap locals: org.apache.cassandra.cql3.statements.ModificationStatement
StackMap stack:
aload 7
ldc "%s.%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 10
getfield org.apache.cassandra.cql3.statements.ModificationStatement.cfm:Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
aastore
dup
iconst_1
aload 10
getfield org.apache.cassandra.cql3.statements.ModificationStatement.cfm:Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: StackMap locals:
StackMap stack:
aload 1
iload 9
invokevirtual org.apache.cassandra.cql3.BatchQueryOptions.forStatement:(I)Lorg/apache/cassandra/cql3/QueryOptions;
astore 11
start local 11 10: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.attrs:Lorg/apache/cassandra/cql3/Attributes;
lload 3
aload 11
invokevirtual org.apache.cassandra.cql3.Attributes.getTimestamp:(JLorg/apache/cassandra/cql3/QueryOptions;)J
lstore 12
start local 12 11: aload 10
aload 8
aload 11
iload 2
lload 12
lload 5
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.addUpdates:(Lorg/apache/cassandra/cql3/statements/UpdatesCollector;Lorg/apache/cassandra/cql3/QueryOptions;ZJJ)V
end local 12 end local 11 end local 10 12: iinc 9 1
StackMap locals:
StackMap stack:
13: iload 9
aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.statements:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 4
end local 9 14: aload 7
ifnull 24
15: aload 7
invokeinterface java.util.Set.size:()I
iconst_1
if_icmpne 16
ldc ""
goto 17
StackMap locals:
StackMap stack:
16: ldc "s"
StackMap locals:
StackMap stack: java.lang.String
17: astore 9
start local 9 18: getstatic org.apache.cassandra.cql3.statements.BatchStatement.logger:Lorg/slf4j/Logger;
getstatic org.apache.cassandra.utils.NoSpamLogger$Level.WARN:Lorg/apache/cassandra/utils/NoSpamLogger$Level;
lconst_1
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
ldc "Executing a LOGGED BATCH on table{} {}, configured with a gc_grace_seconds of 0. The gc_grace_seconds is used to TTL batchlog entries, so setting gc_grace_seconds too low on tables involved in an atomic batch might cause batchlog entries to expire before being replayed."
iconst_2
anewarray java.lang.Object
dup
iconst_0
19: aload 9
aastore
dup
iconst_1
aload 7
aastore
20: invokestatic org.apache.cassandra.utils.NoSpamLogger.log:(Lorg/slf4j/Logger;Lorg/apache/cassandra/utils/NoSpamLogger$Level;JLjava/util/concurrent/TimeUnit;Ljava/lang/String;[Ljava/lang/Object;)Z
pop
21: getstatic org.apache.cassandra.service.ClientWarn.instance:Lorg/apache/cassandra/service/ClientWarn;
ldc "Executing a LOGGED BATCH on table{} {}, configured with a gc_grace_seconds of 0. The gc_grace_seconds is used to TTL batchlog entries, so setting gc_grace_seconds too low on tables involved in an atomic batch might cause batchlog entries to expire before being replayed."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 9
aastore
dup
iconst_1
aload 7
aastore
invokestatic org.slf4j.helpers.MessageFormatter.arrayFormat:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/slf4j/helpers/FormattingTuple;
22: invokevirtual org.slf4j.helpers.FormattingTuple.getMessage:()Ljava/lang/String;
23: invokevirtual org.apache.cassandra.service.ClientWarn.warn:(Ljava/lang/String;)V
end local 9 24: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.apache.cassandra.cql3.statements.UpdatesCollector.validateIndexedColumns:()V
25: aload 8
invokevirtual org.apache.cassandra.cql3.statements.UpdatesCollector.toMutations:()Ljava/util/Collection;
areturn
end local 8 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 26 1 options Lorg/apache/cassandra/cql3/BatchQueryOptions;
0 26 2 local Z
0 26 3 now J
0 26 5 queryStartNanoTime J
1 26 7 tablesWithZeroGcGs Ljava/util/Set<Ljava/lang/String;>;
2 26 8 collector Lorg/apache/cassandra/cql3/statements/UpdatesCollector;
3 14 9 i I
5 12 10 statement Lorg/apache/cassandra/cql3/statements/ModificationStatement;
10 12 11 statementOptions Lorg/apache/cassandra/cql3/QueryOptions;
11 12 12 timestamp J
18 24 9 suffix Ljava/lang/String;
Exceptions:
throws org.apache.cassandra.exceptions.RequestExecutionException, org.apache.cassandra.exceptions.RequestValidationException
Signature: (Lorg/apache/cassandra/cql3/BatchQueryOptions;ZJJ)Ljava/util/Collection<+Lorg/apache/cassandra/db/IMutation;>;
MethodParameters:
Name Flags
options
local
now
queryStartNanoTime
private int updatedRows();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.statements:Ljava/util/List;
invokeinterface java.util.List.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
private static void verifyBatchSize(java.util.Collection<? extends org.apache.cassandra.db.IMutation>);
descriptor: (Ljava/util/Collection;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=10, args_size=1
start local 0 0: aload 0
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmpgt 2
1: return
2: StackMap locals:
StackMap stack:
lconst_0
lstore 1
start local 1 3: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getBatchSizeWarnThreshold:()I
i2l
lstore 3
start local 3 4: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: java.util.Collection long long top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.IMutation
astore 5
start local 5 6: aload 5
invokeinterface org.apache.cassandra.db.IMutation.getPartitionUpdates:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 8
goto 9
StackMap locals: java.util.Collection long long org.apache.cassandra.db.IMutation java.util.Iterator top java.util.Iterator
StackMap stack:
7: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.partitions.PartitionUpdate
astore 7
start local 7 8: lload 1
aload 7
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.dataSize:()I
i2l
ladd
lstore 1
end local 7 9: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 5 10: StackMap locals: java.util.Collection long long top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
11: lload 1
lload 3
lcmp
ifle 35
12: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 5
start local 5 13: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 19
StackMap locals: java.util.Collection long long java.util.Set top java.util.Iterator
StackMap stack:
14: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.IMutation
astore 6
start local 6 15: aload 6
invokeinterface org.apache.cassandra.db.IMutation.getPartitionUpdates:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 18
StackMap locals: java.util.Collection long long java.util.Set org.apache.cassandra.db.IMutation java.util.Iterator top java.util.Iterator
StackMap stack:
16: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.partitions.PartitionUpdate
astore 8
start local 8 17: aload 5
ldc "%s.%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 8
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
aastore
dup
iconst_1
aload 8
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 8 18: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
end local 6 19: StackMap locals: java.util.Collection long long java.util.Set top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
20: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getBatchSizeFailThreshold:()J
lstore 6
start local 6 21: ldc "Batch for {} is of size {}, exceeding specified threshold of {} by {}.{}"
astore 8
start local 8 22: lload 1
lload 6
lcmp
ifle 30
23: aload 8
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
dup
iconst_1
lload 1
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
dup
iconst_2
lload 6
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
dup
iconst_3
24: lload 1
lload 6
lsub
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
dup
iconst_4
ldc " (see batch_size_fail_threshold_in_kb)"
aastore
25: invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
26: getstatic org.apache.cassandra.cql3.statements.BatchStatement.logger:Lorg/slf4j/Logger;
aload 8
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
dup
iconst_1
lload 1
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
dup
iconst_2
lload 6
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
dup
iconst_3
27: lload 1
lload 6
lsub
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
dup
iconst_4
ldc " (see batch_size_fail_threshold_in_kb)"
aastore
28: invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;[Ljava/lang/Object;)V
29: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Batch too large"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals: java.util.Collection long long java.util.Set long java.lang.String
StackMap stack:
getstatic org.apache.cassandra.cql3.statements.BatchStatement.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isWarnEnabled:()Z
ifeq 34
31: getstatic org.apache.cassandra.cql3.statements.BatchStatement.logger:Lorg/slf4j/Logger;
aload 8
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
dup
iconst_1
lload 1
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
dup
iconst_2
lload 3
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
dup
iconst_3
32: lload 1
lload 3
lsub
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
dup
iconst_4
ldc ""
aastore
33: invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
34: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.service.ClientWarn.instance:Lorg/apache/cassandra/service/ClientWarn;
aload 8
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
dup
iconst_1
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_3
lload 1
lload 3
lsub
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_4
ldc ""
aastore
invokestatic org.slf4j.helpers.MessageFormatter.arrayFormat:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/slf4j/helpers/FormattingTuple;
invokevirtual org.slf4j.helpers.FormattingTuple.getMessage:()Ljava/lang/String;
invokevirtual org.apache.cassandra.service.ClientWarn.warn:(Ljava/lang/String;)V
end local 8 end local 6 end local 5 35: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 mutations Ljava/util/Collection<+Lorg/apache/cassandra/db/IMutation;>;
3 36 1 size J
4 36 3 warnThreshold J
6 10 5 mutation Lorg/apache/cassandra/db/IMutation;
8 9 7 update Lorg/apache/cassandra/db/partitions/PartitionUpdate;
13 35 5 tableNames Ljava/util/Set<Ljava/lang/String;>;
15 19 6 mutation Lorg/apache/cassandra/db/IMutation;
17 18 8 update Lorg/apache/cassandra/db/partitions/PartitionUpdate;
21 35 6 failThreshold J
22 35 8 format Ljava/lang/String;
Exceptions:
throws org.apache.cassandra.exceptions.InvalidRequestException
Signature: (Ljava/util/Collection<+Lorg/apache/cassandra/db/IMutation;>;)V
MethodParameters:
Name Flags
mutations
private void verifyBatchType(java.util.Collection<? extends org.apache.cassandra.db.IMutation>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.isLogged:()Z
ifne 24
aload 1
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmple 24
1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 2: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 3: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement java.util.Collection java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.IMutation
astore 4
start local 4 5: aload 4
invokeinterface org.apache.cassandra.db.IMutation.getPartitionUpdates:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 9
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement java.util.Collection java.util.Set java.util.Set org.apache.cassandra.db.IMutation java.util.Iterator top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.partitions.PartitionUpdate
astore 6
start local 6 7: aload 2
aload 6
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: aload 3
ldc "%s.%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 6
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
aastore
dup
iconst_1
aload 6
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 6 9: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 4 10: StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement java.util.Collection java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
11: aload 2
invokeinterface java.util.Set.size:()I
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getUnloggedBatchAcrossPartitionsWarnThreshold:()I
if_icmple 24
12: getstatic org.apache.cassandra.cql3.statements.BatchStatement.logger:Lorg/slf4j/Logger;
getstatic org.apache.cassandra.utils.NoSpamLogger$Level.WARN:Lorg/apache/cassandra/utils/NoSpamLogger$Level;
lconst_1
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
ldc "Unlogged batch covering {} partitions detected against table{} {}. You should use a logged batch for atomicity, or asynchronous writes for performance."
iconst_3
anewarray java.lang.Object
dup
iconst_0
13: aload 2
invokeinterface java.util.Set.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
invokeinterface java.util.Set.size:()I
iconst_1
if_icmpne 14
ldc ""
goto 15
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement java.util.Collection java.util.Set java.util.Set
StackMap stack: org.slf4j.Logger org.apache.cassandra.utils.NoSpamLogger$Level long java.util.concurrent.TimeUnit java.lang.String java.lang.Object[] java.lang.Object[] int
14: ldc "s"
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement java.util.Collection java.util.Set java.util.Set
StackMap stack: org.slf4j.Logger org.apache.cassandra.utils.NoSpamLogger$Level long java.util.concurrent.TimeUnit java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
15: aastore
dup
iconst_2
aload 3
aastore
16: invokestatic org.apache.cassandra.utils.NoSpamLogger.log:(Lorg/slf4j/Logger;Lorg/apache/cassandra/utils/NoSpamLogger$Level;JLjava/util/concurrent/TimeUnit;Ljava/lang/String;[Ljava/lang/Object;)Z
pop
17: getstatic org.apache.cassandra.service.ClientWarn.instance:Lorg/apache/cassandra/service/ClientWarn;
ldc "Unlogged batch covering {} partitions detected against table{} {}. You should use a logged batch for atomicity, or asynchronous writes for performance."
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 2
invokeinterface java.util.Set.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
18: aload 3
invokeinterface java.util.Set.size:()I
iconst_1
if_icmpne 19
ldc ""
goto 20
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement java.util.Collection java.util.Set java.util.Set
StackMap stack: org.apache.cassandra.service.ClientWarn java.lang.String java.lang.Object[] java.lang.Object[] int
19: ldc "s"
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement java.util.Collection java.util.Set java.util.Set
StackMap stack: org.apache.cassandra.service.ClientWarn java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
20: aastore
dup
iconst_2
aload 3
aastore
21: invokestatic org.slf4j.helpers.MessageFormatter.arrayFormat:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/slf4j/helpers/FormattingTuple;
22: invokevirtual org.slf4j.helpers.FormattingTuple.getMessage:()Ljava/lang/String;
23: invokevirtual org.apache.cassandra.service.ClientWarn.warn:(Ljava/lang/String;)V
end local 3 end local 2 24: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 25 1 mutations Ljava/util/Collection<+Lorg/apache/cassandra/db/IMutation;>;
2 24 2 keySet Ljava/util/Set<Lorg/apache/cassandra/db/DecoratedKey;>;
3 24 3 tableNames Ljava/util/Set<Ljava/lang/String;>;
5 10 4 mutation Lorg/apache/cassandra/db/IMutation;
7 9 6 update Lorg/apache/cassandra/db/partitions/PartitionUpdate;
Signature: (Ljava/util/Collection<+Lorg/apache/cassandra/db/IMutation;>;)V
MethodParameters:
Name Flags
mutations
public org.apache.cassandra.transport.messages.ResultMessage execute(org.apache.cassandra.service.QueryState, org.apache.cassandra.cql3.QueryOptions, long);
descriptor: (Lorg/apache/cassandra/service/QueryState;Lorg/apache/cassandra/cql3/QueryOptions;J)Lorg/apache/cassandra/transport/messages/ResultMessage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.cql3.BatchQueryOptions.withoutPerStatementVariables:(Lorg/apache/cassandra/cql3/QueryOptions;)Lorg/apache/cassandra/cql3/BatchQueryOptions;
lload 3
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.execute:(Lorg/apache/cassandra/service/QueryState;Lorg/apache/cassandra/cql3/BatchQueryOptions;J)Lorg/apache/cassandra/transport/messages/ResultMessage;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 1 1 queryState Lorg/apache/cassandra/service/QueryState;
0 1 2 options Lorg/apache/cassandra/cql3/QueryOptions;
0 1 3 queryStartNanoTime J
Exceptions:
throws org.apache.cassandra.exceptions.RequestExecutionException, org.apache.cassandra.exceptions.RequestValidationException
MethodParameters:
Name Flags
queryState
options
queryStartNanoTime
public org.apache.cassandra.transport.messages.ResultMessage execute(org.apache.cassandra.service.QueryState, org.apache.cassandra.cql3.BatchQueryOptions, long);
descriptor: (Lorg/apache/cassandra/service/QueryState;Lorg/apache/cassandra/cql3/BatchQueryOptions;J)Lorg/apache/cassandra/transport/messages/ResultMessage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iconst_0
aload 2
aload 1
invokevirtual org.apache.cassandra.cql3.BatchQueryOptions.getTimestamp:(Lorg/apache/cassandra/service/QueryState;)J
lload 3
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.execute:(Lorg/apache/cassandra/service/QueryState;Lorg/apache/cassandra/cql3/BatchQueryOptions;ZJJ)Lorg/apache/cassandra/transport/messages/ResultMessage;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 1 1 queryState Lorg/apache/cassandra/service/QueryState;
0 1 2 options Lorg/apache/cassandra/cql3/BatchQueryOptions;
0 1 3 queryStartNanoTime J
Exceptions:
throws org.apache.cassandra.exceptions.RequestExecutionException, org.apache.cassandra.exceptions.RequestValidationException
MethodParameters:
Name Flags
queryState
options
queryStartNanoTime
private org.apache.cassandra.transport.messages.ResultMessage execute(org.apache.cassandra.service.QueryState, org.apache.cassandra.cql3.BatchQueryOptions, boolean, long, long);
descriptor: (Lorg/apache/cassandra/service/QueryState;Lorg/apache/cassandra/cql3/BatchQueryOptions;ZJJ)Lorg/apache/cassandra/transport/messages/ResultMessage;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 6 0: aload 2
invokevirtual org.apache.cassandra.cql3.BatchQueryOptions.getConsistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
ifnonnull 2
1: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Invalid empty consistency level"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.cassandra.cql3.BatchQueryOptions.getSerialConsistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
ifnonnull 4
3: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Invalid empty serial consistency level"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.hasConditions:Z
ifeq 6
5: aload 0
aload 2
aload 1
lload 6
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.executeWithConditions:(Lorg/apache/cassandra/cql3/BatchQueryOptions;Lorg/apache/cassandra/service/QueryState;J)Lorg/apache/cassandra/transport/messages/ResultMessage;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 2
iload 3
lload 4
lload 6
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.getMutations:(Lorg/apache/cassandra/cql3/BatchQueryOptions;ZJJ)Ljava/util/Collection;
aload 2
invokevirtual org.apache.cassandra.cql3.BatchQueryOptions.getConsistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
lload 6
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.executeWithoutConditions:(Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;J)V
7: new org.apache.cassandra.transport.messages.ResultMessage$Void
dup
invokespecial org.apache.cassandra.transport.messages.ResultMessage$Void.<init>:()V
areturn
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 8 1 queryState Lorg/apache/cassandra/service/QueryState;
0 8 2 options Lorg/apache/cassandra/cql3/BatchQueryOptions;
0 8 3 local Z
0 8 4 now J
0 8 6 queryStartNanoTime J
Exceptions:
throws org.apache.cassandra.exceptions.RequestExecutionException, org.apache.cassandra.exceptions.RequestValidationException
MethodParameters:
Name Flags
queryState
options
local
now
queryStartNanoTime
private void executeWithoutConditions(java.util.Collection<? extends org.apache.cassandra.db.IMutation>, org.apache.cassandra.db.ConsistencyLevel, );
descriptor: (Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokestatic org.apache.cassandra.cql3.statements.BatchStatement.verifyBatchSize:(Ljava/util/Collection;)V
3: aload 0
aload 1
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.verifyBatchType:(Ljava/util/Collection;)V
4: aload 0
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.isLogged:()Z
ifeq 5
aload 1
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmple 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 5
start local 5 7: aload 1
aload 2
iload 5
lload 3
invokestatic org.apache.cassandra.service.StorageProxy.mutateWithTriggers:(Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;ZJ)V
8: return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 9 1 mutations Ljava/util/Collection<+Lorg/apache/cassandra/db/IMutation;>;
0 9 2 cl Lorg/apache/cassandra/db/ConsistencyLevel;
0 9 3 queryStartNanoTime J
7 9 5 mutateAtomic Z
Exceptions:
throws org.apache.cassandra.exceptions.RequestExecutionException, org.apache.cassandra.exceptions.RequestValidationException
Signature: (Ljava/util/Collection<+Lorg/apache/cassandra/db/IMutation;>;Lorg/apache/cassandra/db/ConsistencyLevel;J)V
MethodParameters:
Name Flags
mutations
cl
queryStartNanoTime
private org.apache.cassandra.transport.messages.ResultMessage executeWithConditions(org.apache.cassandra.cql3.BatchQueryOptions, org.apache.cassandra.service.QueryState, long);
descriptor: (Lorg/apache/cassandra/cql3/BatchQueryOptions;Lorg/apache/cassandra/service/QueryState;J)Lorg/apache/cassandra/transport/messages/ResultMessage;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.makeCasRequest:(Lorg/apache/cassandra/cql3/BatchQueryOptions;Lorg/apache/cassandra/service/QueryState;)Lorg/apache/cassandra/utils/Pair;
astore 5
start local 5 1: aload 5
getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.statements.CQL3CasRequest
astore 6
start local 6 2: aload 5
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
checkcast java.util.Set
astore 7
start local 7 3: aload 6
getfield org.apache.cassandra.cql3.statements.CQL3CasRequest.cfm:Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
astore 8
start local 8 4: aload 6
getfield org.apache.cassandra.cql3.statements.CQL3CasRequest.cfm:Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
astore 9
start local 9 5: aconst_null
astore 10
aconst_null
astore 11
6: aload 8
7: aload 9
8: aload 6
getfield org.apache.cassandra.cql3.statements.CQL3CasRequest.key:Lorg/apache/cassandra/db/DecoratedKey;
9: aload 6
10: aload 1
invokevirtual org.apache.cassandra.cql3.BatchQueryOptions.getSerialConsistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
11: aload 1
invokevirtual org.apache.cassandra.cql3.BatchQueryOptions.getConsistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
12: aload 2
invokevirtual org.apache.cassandra.service.QueryState.getClientState:()Lorg/apache/cassandra/service/ClientState;
13: lload 3
14: invokestatic org.apache.cassandra.service.StorageProxy.cas:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/service/CASRequest;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;J)Lorg/apache/cassandra/db/rows/RowIterator;
astore 12
start local 12 15: new org.apache.cassandra.transport.messages.ResultMessage$Rows
dup
aload 8
aload 9
aload 12
aload 7
iconst_1
aload 1
iconst_0
invokevirtual org.apache.cassandra.cql3.BatchQueryOptions.forStatement:(I)Lorg/apache/cassandra/cql3/QueryOptions;
invokestatic org.apache.cassandra.cql3.statements.ModificationStatement.buildCasResultSet:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/cassandra/db/rows/RowIterator;Ljava/lang/Iterable;ZLorg/apache/cassandra/cql3/QueryOptions;)Lorg/apache/cassandra/cql3/ResultSet;
invokespecial org.apache.cassandra.transport.messages.ResultMessage$Rows.<init>:(Lorg/apache/cassandra/cql3/ResultSet;)V
16: aload 12
ifnull 17
aload 12
invokeinterface org.apache.cassandra.db.rows.RowIterator.close:()V
17: StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement org.apache.cassandra.cql3.BatchQueryOptions org.apache.cassandra.service.QueryState long org.apache.cassandra.utils.Pair org.apache.cassandra.cql3.statements.CQL3CasRequest java.util.Set java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.rows.RowIterator
StackMap stack: org.apache.cassandra.transport.messages.ResultMessage$Rows
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 10
19: aload 12
ifnull 20
aload 12
invokeinterface org.apache.cassandra.db.rows.RowIterator.close:()V
end local 12 StackMap locals:
StackMap stack:
20: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 11
aload 10
ifnonnull 22
aload 11
astore 10
goto 23
StackMap locals:
StackMap stack:
22: aload 10
aload 11
if_acmpeq 23
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 10
athrow
end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 24 1 options Lorg/apache/cassandra/cql3/BatchQueryOptions;
0 24 2 state Lorg/apache/cassandra/service/QueryState;
0 24 3 queryStartNanoTime J
1 24 5 p Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/cql3/statements/CQL3CasRequest;Ljava/util/Set<Lorg/apache/cassandra/config/ColumnDefinition;>;>;
2 24 6 casRequest Lorg/apache/cassandra/cql3/statements/CQL3CasRequest;
3 24 7 columnsWithConditions Ljava/util/Set<Lorg/apache/cassandra/config/ColumnDefinition;>;
4 24 8 ksName Ljava/lang/String;
5 24 9 tableName Ljava/lang/String;
15 20 12 result Lorg/apache/cassandra/db/rows/RowIterator;
Exception table:
from to target type
15 16 18 any
6 17 21 any
18 21 21 any
Exceptions:
throws org.apache.cassandra.exceptions.RequestExecutionException, org.apache.cassandra.exceptions.RequestValidationException
MethodParameters:
Name Flags
options
state
queryStartNanoTime
private org.apache.cassandra.utils.Pair<org.apache.cassandra.cql3.statements.CQL3CasRequest, java.util.Set<org.apache.cassandra.config.ColumnDefinition>> makeCasRequest(org.apache.cassandra.cql3.BatchQueryOptions, org.apache.cassandra.service.QueryState);
descriptor: (Lorg/apache/cassandra/cql3/BatchQueryOptions;Lorg/apache/cassandra/service/QueryState;)Lorg/apache/cassandra/utils/Pair;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=17, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.apache.cassandra.service.QueryState.getTimestamp:()J
lstore 3
start local 3 1: aconst_null
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
astore 7
start local 7 4: iconst_0
istore 8
start local 8 5: goto 43
6: StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement org.apache.cassandra.cql3.BatchQueryOptions org.apache.cassandra.service.QueryState long org.apache.cassandra.db.DecoratedKey org.apache.cassandra.cql3.statements.CQL3CasRequest java.util.Set int
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.statements:Ljava/util/List;
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.statements.ModificationStatement
astore 9
start local 9 7: aload 1
iload 8
invokevirtual org.apache.cassandra.cql3.BatchQueryOptions.forStatement:(I)Lorg/apache/cassandra/cql3/QueryOptions;
astore 10
start local 10 8: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.attrs:Lorg/apache/cassandra/cql3/Attributes;
lload 3
aload 10
invokevirtual org.apache.cassandra.cql3.Attributes.getTimestamp:(JLorg/apache/cassandra/cql3/QueryOptions;)J
lstore 11
start local 11 9: aload 9
aload 10
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.buildPartitionKeyNames:(Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/util/List;
astore 13
start local 13 10: aload 9
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.getRestrictions:()Lorg/apache/cassandra/cql3/restrictions/StatementRestrictions;
invokevirtual org.apache.cassandra.cql3.restrictions.StatementRestrictions.keyIsInRelation:()Z
ifeq 12
11: new java.lang.IllegalArgumentException
dup
ldc "Batch with conditions cannot span multiple partitions (you cannot use IN on the partition key)"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement org.apache.cassandra.cql3.BatchQueryOptions org.apache.cassandra.service.QueryState long org.apache.cassandra.db.DecoratedKey org.apache.cassandra.cql3.statements.CQL3CasRequest java.util.Set int org.apache.cassandra.cql3.statements.ModificationStatement org.apache.cassandra.cql3.QueryOptions long java.util.List
StackMap stack:
aload 5
ifnonnull 16
13: aload 9
getfield org.apache.cassandra.cql3.statements.ModificationStatement.cfm:Lorg/apache/cassandra/config/CFMetaData;
aload 13
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.nio.ByteBuffer
invokevirtual org.apache.cassandra.config.CFMetaData.decorateKey:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/DecoratedKey;
astore 5
14: new org.apache.cassandra.cql3.statements.CQL3CasRequest
dup
aload 9
getfield org.apache.cassandra.cql3.statements.ModificationStatement.cfm:Lorg/apache/cassandra/config/CFMetaData;
aload 5
iconst_1
aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.conditionColumns:Lorg/apache/cassandra/db/PartitionColumns;
aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.updatesRegularRows:Z
aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.updatesStaticRow:Z
invokespecial org.apache.cassandra.cql3.statements.CQL3CasRequest.<init>:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/DecoratedKey;ZLorg/apache/cassandra/db/PartitionColumns;ZZ)V
astore 6
15: goto 18
16: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
aload 13
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual java.nio.ByteBuffer.equals:(Ljava/lang/Object;)Z
ifne 18
17: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Batch with conditions cannot span multiple partitions"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.getRestrictions:()Lorg/apache/cassandra/cql3/restrictions/StatementRestrictions;
invokevirtual org.apache.cassandra.cql3.restrictions.StatementRestrictions.clusteringKeyRestrictionsHasIN:()Z
19: ldc "IN on the clustering key columns is not supported with conditional %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
20: aload 9
getfield org.apache.cassandra.cql3.statements.ModificationStatement.type:Lorg/apache/cassandra/cql3/statements/StatementType;
invokevirtual org.apache.cassandra.cql3.statements.StatementType.isUpdate:()Z
ifeq 21
ldc "updates"
goto 22
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement org.apache.cassandra.cql3.BatchQueryOptions org.apache.cassandra.service.QueryState long org.apache.cassandra.db.DecoratedKey org.apache.cassandra.cql3.statements.CQL3CasRequest java.util.Set int org.apache.cassandra.cql3.statements.ModificationStatement org.apache.cassandra.cql3.QueryOptions long java.util.List
StackMap stack: int java.lang.String java.lang.Object[] java.lang.Object[] int
21: ldc "deletions"
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement org.apache.cassandra.cql3.BatchQueryOptions org.apache.cassandra.service.QueryState long org.apache.cassandra.db.DecoratedKey org.apache.cassandra.cql3.statements.CQL3CasRequest java.util.Set int org.apache.cassandra.cql3.statements.ModificationStatement org.apache.cassandra.cql3.QueryOptions long java.util.List
StackMap stack: int java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
22: aastore
23: invokestatic org.apache.cassandra.cql3.statements.RequestValidations.checkFalse:(ZLjava/lang/String;[Ljava/lang/Object;)V
24: aload 9
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.hasSlices:()Z
ifeq 34
25: getstatic org.apache.cassandra.cql3.statements.BatchStatement.$assertionsDisabled:Z
ifne 26
aload 9
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.hasConditions:()Z
ifeq 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
26: StackMap locals:
StackMap stack:
aload 9
aload 10
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.createSlices:(Lorg/apache/cassandra/cql3/QueryOptions;)Lorg/apache/cassandra/db/Slices;
astore 14
start local 14 27: aload 14
invokevirtual org.apache.cassandra.db.Slices.isEmpty:()Z
ifeq 29
28: goto 42
29: StackMap locals: org.apache.cassandra.db.Slices
StackMap stack:
aload 14
invokevirtual org.apache.cassandra.db.Slices.iterator:()Ljava/util/Iterator;
astore 16
goto 32
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement org.apache.cassandra.cql3.BatchQueryOptions org.apache.cassandra.service.QueryState long org.apache.cassandra.db.DecoratedKey org.apache.cassandra.cql3.statements.CQL3CasRequest java.util.Set int org.apache.cassandra.cql3.statements.ModificationStatement org.apache.cassandra.cql3.QueryOptions long java.util.List org.apache.cassandra.db.Slices top java.util.Iterator
StackMap stack:
30: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.Slice
astore 15
start local 15 31: aload 6
aload 15
aload 9
aload 10
lload 11
invokevirtual org.apache.cassandra.cql3.statements.CQL3CasRequest.addRangeDeletion:(Lorg/apache/cassandra/db/Slice;Lorg/apache/cassandra/cql3/statements/ModificationStatement;Lorg/apache/cassandra/cql3/QueryOptions;J)V
end local 15 32: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
end local 14 33: goto 42
34: StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement org.apache.cassandra.cql3.BatchQueryOptions org.apache.cassandra.service.QueryState long org.apache.cassandra.db.DecoratedKey org.apache.cassandra.cql3.statements.CQL3CasRequest java.util.Set int org.apache.cassandra.cql3.statements.ModificationStatement org.apache.cassandra.cql3.QueryOptions long java.util.List
StackMap stack:
aload 9
aload 10
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.createClustering:(Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/util/NavigableSet;
invokestatic com.google.common.collect.Iterables.getOnlyElement:(Ljava/lang/Iterable;)Ljava/lang/Object;
checkcast org.apache.cassandra.db.Clustering
astore 14
start local 14 35: aload 9
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.hasConditions:()Z
ifeq 41
36: aload 9
aload 14
aload 6
aload 10
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.addConditions:(Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/cql3/statements/CQL3CasRequest;Lorg/apache/cassandra/cql3/QueryOptions;)V
37: aload 9
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.hasIfNotExistCondition:()Z
ifne 38
aload 9
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.hasIfExistCondition:()Z
ifeq 39
38: StackMap locals: org.apache.cassandra.db.Clustering
StackMap stack:
aconst_null
astore 7
goto 41
39: StackMap locals:
StackMap stack:
aload 7
ifnull 41
40: aload 7
aload 9
invokevirtual org.apache.cassandra.cql3.statements.ModificationStatement.getColumnsWithConditions:()Ljava/lang/Iterable;
invokestatic com.google.common.collect.Iterables.addAll:(Ljava/util/Collection;Ljava/lang/Iterable;)Z
pop
41: StackMap locals:
StackMap stack:
aload 6
aload 14
aload 9
aload 10
lload 11
invokevirtual org.apache.cassandra.cql3.statements.CQL3CasRequest.addRowUpdate:(Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/cql3/statements/ModificationStatement;Lorg/apache/cassandra/cql3/QueryOptions;J)V
end local 14 end local 13 end local 11 end local 10 end local 9 42: StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement org.apache.cassandra.cql3.BatchQueryOptions org.apache.cassandra.service.QueryState long org.apache.cassandra.db.DecoratedKey org.apache.cassandra.cql3.statements.CQL3CasRequest java.util.Set int
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
43: iload 8
aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.statements:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 6
end local 8 44: aload 6
aload 7
invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
areturn
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 45 1 options Lorg/apache/cassandra/cql3/BatchQueryOptions;
0 45 2 state Lorg/apache/cassandra/service/QueryState;
1 45 3 now J
2 45 5 key Lorg/apache/cassandra/db/DecoratedKey;
3 45 6 casRequest Lorg/apache/cassandra/cql3/statements/CQL3CasRequest;
4 45 7 columnsWithConditions Ljava/util/Set<Lorg/apache/cassandra/config/ColumnDefinition;>;
5 44 8 i I
7 42 9 statement Lorg/apache/cassandra/cql3/statements/ModificationStatement;
8 42 10 statementOptions Lorg/apache/cassandra/cql3/QueryOptions;
9 42 11 timestamp J
10 42 13 pks Ljava/util/List<Ljava/nio/ByteBuffer;>;
27 33 14 slices Lorg/apache/cassandra/db/Slices;
31 32 15 slice Lorg/apache/cassandra/db/Slice;
35 42 14 clustering Lorg/apache/cassandra/db/Clustering;
Signature: (Lorg/apache/cassandra/cql3/BatchQueryOptions;Lorg/apache/cassandra/service/QueryState;)Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/cql3/statements/CQL3CasRequest;Ljava/util/Set<Lorg/apache/cassandra/config/ColumnDefinition;>;>;
MethodParameters:
Name Flags
options
state
public org.apache.cassandra.transport.messages.ResultMessage executeInternal(org.apache.cassandra.service.QueryState, org.apache.cassandra.cql3.QueryOptions);
descriptor: (Lorg/apache/cassandra/service/QueryState;Lorg/apache/cassandra/cql3/QueryOptions;)Lorg/apache/cassandra/transport/messages/ResultMessage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.hasConditions:Z
ifeq 2
1: aload 0
aload 2
invokestatic org.apache.cassandra.cql3.BatchQueryOptions.withoutPerStatementVariables:(Lorg/apache/cassandra/cql3/QueryOptions;)Lorg/apache/cassandra/cql3/BatchQueryOptions;
aload 1
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.executeInternalWithConditions:(Lorg/apache/cassandra/cql3/BatchQueryOptions;Lorg/apache/cassandra/service/QueryState;)Lorg/apache/cassandra/transport/messages/ResultMessage;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokestatic java.lang.System.nanoTime:()J
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.executeInternalWithoutCondition:(Lorg/apache/cassandra/service/QueryState;Lorg/apache/cassandra/cql3/QueryOptions;J)Lorg/apache/cassandra/transport/messages/ResultMessage;
pop
3: new org.apache.cassandra.transport.messages.ResultMessage$Void
dup
invokespecial org.apache.cassandra.transport.messages.ResultMessage$Void.<init>:()V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 4 1 queryState Lorg/apache/cassandra/service/QueryState;
0 4 2 options Lorg/apache/cassandra/cql3/QueryOptions;
Exceptions:
throws org.apache.cassandra.exceptions.RequestValidationException, org.apache.cassandra.exceptions.RequestExecutionException
MethodParameters:
Name Flags
queryState
options
private org.apache.cassandra.transport.messages.ResultMessage executeInternalWithoutCondition(org.apache.cassandra.service.QueryState, org.apache.cassandra.cql3.QueryOptions, long);
descriptor: (Lorg/apache/cassandra/service/QueryState;Lorg/apache/cassandra/cql3/QueryOptions;J)Lorg/apache/cassandra/transport/messages/ResultMessage;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokestatic org.apache.cassandra.cql3.BatchQueryOptions.withoutPerStatementVariables:(Lorg/apache/cassandra/cql3/QueryOptions;)Lorg/apache/cassandra/cql3/BatchQueryOptions;
iconst_1
aload 1
invokevirtual org.apache.cassandra.service.QueryState.getTimestamp:()J
lload 3
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.getMutations:(Lorg/apache/cassandra/cql3/BatchQueryOptions;ZJJ)Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 3
StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement org.apache.cassandra.service.QueryState org.apache.cassandra.cql3.QueryOptions long top java.util.Iterator
StackMap stack:
1: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.IMutation
astore 5
start local 5 2: aload 5
invokeinterface org.apache.cassandra.db.IMutation.apply:()V
end local 5 3: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 5 1 queryState Lorg/apache/cassandra/service/QueryState;
0 5 2 options Lorg/apache/cassandra/cql3/QueryOptions;
0 5 3 queryStartNanoTime J
2 3 5 mutation Lorg/apache/cassandra/db/IMutation;
Exceptions:
throws org.apache.cassandra.exceptions.RequestValidationException, org.apache.cassandra.exceptions.RequestExecutionException
MethodParameters:
Name Flags
queryState
options
queryStartNanoTime
private org.apache.cassandra.transport.messages.ResultMessage executeInternalWithConditions(org.apache.cassandra.cql3.BatchQueryOptions, org.apache.cassandra.service.QueryState);
descriptor: (Lorg/apache/cassandra/cql3/BatchQueryOptions;Lorg/apache/cassandra/service/QueryState;)Lorg/apache/cassandra/transport/messages/ResultMessage;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.apache.cassandra.cql3.statements.BatchStatement.makeCasRequest:(Lorg/apache/cassandra/cql3/BatchQueryOptions;Lorg/apache/cassandra/service/QueryState;)Lorg/apache/cassandra/utils/Pair;
astore 3
start local 3 1: aload 3
getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.statements.CQL3CasRequest
astore 4
start local 4 2: aload 3
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
checkcast java.util.Set
astore 5
start local 5 3: aload 4
getfield org.apache.cassandra.cql3.statements.CQL3CasRequest.cfm:Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
astore 6
start local 6 4: aload 4
getfield org.apache.cassandra.cql3.statements.CQL3CasRequest.cfm:Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
astore 7
start local 7 5: aconst_null
astore 8
aconst_null
astore 9
6: aload 4
aload 2
invokestatic org.apache.cassandra.cql3.statements.ModificationStatement.casInternal:(Lorg/apache/cassandra/cql3/statements/CQL3CasRequest;Lorg/apache/cassandra/service/QueryState;)Lorg/apache/cassandra/db/rows/RowIterator;
astore 10
start local 10 7: new org.apache.cassandra.transport.messages.ResultMessage$Rows
dup
aload 6
aload 7
aload 10
aload 5
iconst_1
aload 1
iconst_0
invokevirtual org.apache.cassandra.cql3.BatchQueryOptions.forStatement:(I)Lorg/apache/cassandra/cql3/QueryOptions;
invokestatic org.apache.cassandra.cql3.statements.ModificationStatement.buildCasResultSet:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/cassandra/db/rows/RowIterator;Ljava/lang/Iterable;ZLorg/apache/cassandra/cql3/QueryOptions;)Lorg/apache/cassandra/cql3/ResultSet;
invokespecial org.apache.cassandra.transport.messages.ResultMessage$Rows.<init>:(Lorg/apache/cassandra/cql3/ResultSet;)V
8: aload 10
ifnull 9
aload 10
invokeinterface org.apache.cassandra.db.rows.RowIterator.close:()V
9: StackMap locals: org.apache.cassandra.cql3.statements.BatchStatement org.apache.cassandra.cql3.BatchQueryOptions org.apache.cassandra.service.QueryState org.apache.cassandra.utils.Pair org.apache.cassandra.cql3.statements.CQL3CasRequest java.util.Set java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.rows.RowIterator
StackMap stack: org.apache.cassandra.transport.messages.ResultMessage$Rows
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 8
11: aload 10
ifnull 12
aload 10
invokeinterface org.apache.cassandra.db.rows.RowIterator.close:()V
end local 10 StackMap locals:
StackMap stack:
12: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 9
aload 8
ifnonnull 14
aload 9
astore 8
goto 15
StackMap locals:
StackMap stack:
14: aload 8
aload 9
if_acmpeq 15
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 8
athrow
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
0 16 1 options Lorg/apache/cassandra/cql3/BatchQueryOptions;
0 16 2 state Lorg/apache/cassandra/service/QueryState;
1 16 3 p Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/cql3/statements/CQL3CasRequest;Ljava/util/Set<Lorg/apache/cassandra/config/ColumnDefinition;>;>;
2 16 4 request Lorg/apache/cassandra/cql3/statements/CQL3CasRequest;
3 16 5 columnsWithConditions Ljava/util/Set<Lorg/apache/cassandra/config/ColumnDefinition;>;
4 16 6 ksName Ljava/lang/String;
5 16 7 tableName Ljava/lang/String;
7 12 10 result Lorg/apache/cassandra/db/rows/RowIterator;
Exception table:
from to target type
7 8 10 any
6 9 13 any
10 13 13 any
Exceptions:
throws org.apache.cassandra.exceptions.RequestExecutionException, org.apache.cassandra.exceptions.RequestValidationException
MethodParameters:
Name Flags
options
state
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: ldc "BatchStatement(type=%s, statements=%s)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.type:Lorg/apache/cassandra/cql3/statements/BatchStatement$Type;
aastore
dup
iconst_1
aload 0
getfield org.apache.cassandra.cql3.statements.BatchStatement.statements:Ljava/util/List;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/statements/BatchStatement;
}
SourceFile: "BatchStatement.java"
NestMembers:
org.apache.cassandra.cql3.statements.BatchStatement$MultiTableColumnsBuilder org.apache.cassandra.cql3.statements.BatchStatement$Parsed org.apache.cassandra.cql3.statements.BatchStatement$Type
InnerClasses:
private MultiTableColumnsBuilder = org.apache.cassandra.cql3.statements.BatchStatement$MultiTableColumnsBuilder of org.apache.cassandra.cql3.statements.BatchStatement
public Parsed = org.apache.cassandra.cql3.statements.BatchStatement$Parsed of org.apache.cassandra.cql3.statements.BatchStatement
public final Type = org.apache.cassandra.cql3.statements.BatchStatement$Type of org.apache.cassandra.cql3.statements.BatchStatement
public Builder = org.apache.cassandra.db.PartitionColumns$Builder of org.apache.cassandra.db.PartitionColumns
public Rows = org.apache.cassandra.transport.messages.ResultMessage$Rows of org.apache.cassandra.transport.messages.ResultMessage
public Void = org.apache.cassandra.transport.messages.ResultMessage$Void of org.apache.cassandra.transport.messages.ResultMessage
public final Level = org.apache.cassandra.utils.NoSpamLogger$Level of org.apache.cassandra.utils.NoSpamLogger