public final class org.apache.cassandra.cql3.statements.CreateAggregateStatement extends org.apache.cassandra.cql3.statements.SchemaAlteringStatement
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.cql3.statements.CreateAggregateStatement
super_class: org.apache.cassandra.cql3.statements.SchemaAlteringStatement
{
private final boolean orReplace;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean ifNotExists;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.apache.cassandra.cql3.functions.FunctionName functionName;
descriptor: Lorg/apache/cassandra/cql3/functions/FunctionName;
flags: (0x0002) ACC_PRIVATE
private org.apache.cassandra.cql3.functions.FunctionName stateFunc;
descriptor: Lorg/apache/cassandra/cql3/functions/FunctionName;
flags: (0x0002) ACC_PRIVATE
private org.apache.cassandra.cql3.functions.FunctionName finalFunc;
descriptor: Lorg/apache/cassandra/cql3/functions/FunctionName;
flags: (0x0002) ACC_PRIVATE
private final org.apache.cassandra.cql3.CQL3Type$Raw stateTypeRaw;
descriptor: Lorg/apache/cassandra/cql3/CQL3Type$Raw;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<org.apache.cassandra.cql3.CQL3Type$Raw> argRawTypes;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/apache/cassandra/cql3/CQL3Type$Raw;>;
private final org.apache.cassandra.cql3.Term$Raw ival;
descriptor: Lorg/apache/cassandra/cql3/Term$Raw;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>> argTypes;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
private org.apache.cassandra.db.marshal.AbstractType<?> returnType;
descriptor: Lorg/apache/cassandra/db/marshal/AbstractType;
flags: (0x0002) ACC_PRIVATE
Signature: Lorg/apache/cassandra/db/marshal/AbstractType<*>;
private org.apache.cassandra.cql3.functions.ScalarFunction stateFunction;
descriptor: Lorg/apache/cassandra/cql3/functions/ScalarFunction;
flags: (0x0002) ACC_PRIVATE
private org.apache.cassandra.cql3.functions.ScalarFunction finalFunction;
descriptor: Lorg/apache/cassandra/cql3/functions/ScalarFunction;
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer initcond;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
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/CreateAggregateStatement;
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.CreateAggregateStatement.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.cassandra.cql3.functions.FunctionName, java.util.List<org.apache.cassandra.cql3.CQL3Type$Raw>, java.lang.String, org.apache.cassandra.cql3.CQL3Type$Raw, java.lang.String, org.apache.cassandra.cql3.Term$Raw, boolean, );
descriptor: (Lorg/apache/cassandra/cql3/functions/FunctionName;Ljava/util/List;Ljava/lang/String;Lorg/apache/cassandra/cql3/CQL3Type$Raw;Ljava/lang/String;Lorg/apache/cassandra/cql3/Term$Raw;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
invokespecial org.apache.cassandra.cql3.statements.SchemaAlteringStatement.<init>:()V
1: aload 0
aload 1
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
2: aload 0
aload 2
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.argRawTypes:Ljava/util/List;
3: aload 0
new org.apache.cassandra.cql3.functions.FunctionName
dup
aload 1
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
aload 3
invokespecial org.apache.cassandra.cql3.functions.FunctionName.<init>:(Ljava/lang/String;Ljava/lang/String;)V
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFunc:Lorg/apache/cassandra/cql3/functions/FunctionName;
4: aload 0
aload 5
ifnull 5
new org.apache.cassandra.cql3.functions.FunctionName
dup
aload 1
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
aload 5
invokespecial org.apache.cassandra.cql3.functions.FunctionName.<init>:(Ljava/lang/String;Ljava/lang/String;)V
goto 6
StackMap locals: org.apache.cassandra.cql3.statements.CreateAggregateStatement org.apache.cassandra.cql3.functions.FunctionName java.util.List java.lang.String org.apache.cassandra.cql3.CQL3Type$Raw java.lang.String org.apache.cassandra.cql3.Term$Raw int int
StackMap stack: org.apache.cassandra.cql3.statements.CreateAggregateStatement
5: aconst_null
StackMap locals: org.apache.cassandra.cql3.statements.CreateAggregateStatement org.apache.cassandra.cql3.functions.FunctionName java.util.List java.lang.String org.apache.cassandra.cql3.CQL3Type$Raw java.lang.String org.apache.cassandra.cql3.Term$Raw int int
StackMap stack: org.apache.cassandra.cql3.statements.CreateAggregateStatement org.apache.cassandra.cql3.functions.FunctionName
6: putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.finalFunc:Lorg/apache/cassandra/cql3/functions/FunctionName;
7: aload 0
aload 4
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateTypeRaw:Lorg/apache/cassandra/cql3/CQL3Type$Raw;
8: aload 0
aload 6
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.ival:Lorg/apache/cassandra/cql3/Term$Raw;
9: aload 0
iload 7
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.orReplace:Z
10: aload 0
iload 8
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.ifNotExists:Z
11: return
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 12 0 this Lorg/apache/cassandra/cql3/statements/CreateAggregateStatement;
0 12 1 functionName Lorg/apache/cassandra/cql3/functions/FunctionName;
0 12 2 argRawTypes Ljava/util/List<Lorg/apache/cassandra/cql3/CQL3Type$Raw;>;
0 12 3 stateFunc Ljava/lang/String;
0 12 4 stateType Lorg/apache/cassandra/cql3/CQL3Type$Raw;
0 12 5 finalFunc Ljava/lang/String;
0 12 6 ival Lorg/apache/cassandra/cql3/Term$Raw;
0 12 7 orReplace Z
0 12 8 ifNotExists Z
Signature: (Lorg/apache/cassandra/cql3/functions/FunctionName;Ljava/util/List<Lorg/apache/cassandra/cql3/CQL3Type$Raw;>;Ljava/lang/String;Lorg/apache/cassandra/cql3/CQL3Type$Raw;Ljava/lang/String;Lorg/apache/cassandra/cql3/Term$Raw;ZZ)V
MethodParameters:
Name Flags
functionName
argRawTypes
stateFunc
stateType
finalFunc
ival
orReplace
ifNotExists
public org.apache.cassandra.cql3.statements.ParsedStatement$Prepared prepare(org.apache.cassandra.service.ClientState);
descriptor: (Lorg/apache/cassandra/service/ClientState;)Lorg/apache/cassandra/cql3/statements/ParsedStatement$Prepared;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=7, args_size=2
start local 0 start local 1 0: aload 0
new java.util.ArrayList
dup
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.argRawTypes:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.argTypes:Ljava/util/List;
1: aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.argRawTypes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: org.apache.cassandra.cql3.statements.CreateAggregateStatement org.apache.cassandra.service.ClientState top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.CQL3Type$Raw
astore 2
start local 2 3: aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.argTypes:Ljava/util/List;
aload 0
ldc "arguments"
aload 2
invokevirtual org.apache.cassandra.cql3.statements.CreateAggregateStatement.prepareType:(Ljava/lang/String;Lorg/apache/cassandra/cql3/CQL3Type$Raw;)Lorg/apache/cassandra/db/marshal/AbstractType;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
ldc "state type"
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateTypeRaw:Lorg/apache/cassandra/cql3/CQL3Type$Raw;
invokevirtual org.apache.cassandra.cql3.statements.CreateAggregateStatement.prepareType:(Ljava/lang/String;Lorg/apache/cassandra/cql3/CQL3Type$Raw;)Lorg/apache/cassandra/db/marshal/AbstractType;
astore 2
start local 2 6: aload 2
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.argTypes:Ljava/util/List;
invokestatic org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateArguments:(Lorg/apache/cassandra/db/marshal/AbstractType;Ljava/util/List;)Ljava/util/List;
astore 3
start local 3 7: getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFunc:Lorg/apache/cassandra/cql3/functions/FunctionName;
aload 3
invokevirtual org.apache.cassandra.config.Schema.findFunction:(Lorg/apache/cassandra/cql3/functions/FunctionName;Ljava/util/List;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.functions.Function
astore 4
start local 4 8: aload 4
instanceof org.apache.cassandra.cql3.functions.ScalarFunction
ifne 10
9: new org.apache.cassandra.exceptions.InvalidRequestException
dup
new java.lang.StringBuilder
dup
ldc "State function "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFunc:Lorg/apache/cassandra/cql3/functions/FunctionName;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateTypeRaw:Lorg/apache/cassandra/cql3/CQL3Type$Raw;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.argRawTypes:Ljava/util/List;
invokestatic org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFuncSig:(Lorg/apache/cassandra/cql3/functions/FunctionName;Lorg/apache/cassandra/cql3/CQL3Type$Raw;Ljava/util/List;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " does not exist or is not a scalar function"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: org.apache.cassandra.cql3.statements.CreateAggregateStatement org.apache.cassandra.service.ClientState org.apache.cassandra.db.marshal.AbstractType java.util.List org.apache.cassandra.cql3.functions.Function
StackMap stack:
aload 0
aload 4
checkcast org.apache.cassandra.cql3.functions.ScalarFunction
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFunction:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
11: aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFunction:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
invokeinterface org.apache.cassandra.cql3.functions.ScalarFunction.returnType:()Lorg/apache/cassandra/db/marshal/AbstractType;
astore 5
start local 5 12: aload 5
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 14
13: new org.apache.cassandra.exceptions.InvalidRequestException
dup
new java.lang.StringBuilder
dup
ldc "State function "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFunction:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
invokeinterface org.apache.cassandra.cql3.functions.ScalarFunction.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateTypeRaw:Lorg/apache/cassandra/cql3/CQL3Type$Raw;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.argRawTypes:Ljava/util/List;
invokestatic org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFuncSig:(Lorg/apache/cassandra/cql3/functions/FunctionName;Lorg/apache/cassandra/cql3/CQL3Type$Raw;Ljava/util/List;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " return type must be the same as the first argument type - check STYPE, argument and return types"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals: org.apache.cassandra.db.marshal.AbstractType
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.finalFunc:Lorg/apache/cassandra/cql3/functions/FunctionName;
ifnull 22
15: aload 2
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
astore 6
start local 6 16: getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.finalFunc:Lorg/apache/cassandra/cql3/functions/FunctionName;
aload 6
invokevirtual org.apache.cassandra.config.Schema.findFunction:(Lorg/apache/cassandra/cql3/functions/FunctionName;Ljava/util/List;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.functions.Function
astore 4
17: aload 4
instanceof org.apache.cassandra.cql3.functions.ScalarFunction
ifne 19
18: new org.apache.cassandra.exceptions.InvalidRequestException
dup
new java.lang.StringBuilder
dup
ldc "Final function "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.finalFunc:Lorg/apache/cassandra/cql3/functions/FunctionName;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateTypeRaw:Lorg/apache/cassandra/cql3/CQL3Type$Raw;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") does not exist or is not a scalar function"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals: java.util.List
StackMap stack:
aload 0
aload 4
checkcast org.apache.cassandra.cql3.functions.ScalarFunction
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.finalFunction:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
20: aload 0
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.finalFunction:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
invokeinterface org.apache.cassandra.cql3.functions.ScalarFunction.returnType:()Lorg/apache/cassandra/db/marshal/AbstractType;
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.returnType:Lorg/apache/cassandra/db/marshal/AbstractType;
end local 6 21: goto 23
22: StackMap locals:
StackMap stack:
aload 0
aload 5
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.returnType:Lorg/apache/cassandra/db/marshal/AbstractType;
23: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.ival:Lorg/apache/cassandra/cql3/Term$Raw;
ifnull 38
24: aload 0
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.ival:Lorg/apache/cassandra/cql3/Term$Raw;
invokevirtual org.apache.cassandra.cql3.Term$Raw.toString:()Ljava/lang/String;
aload 2
invokestatic org.apache.cassandra.cql3.Terms.asBytes:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/cassandra/db/marshal/AbstractType;)Ljava/nio/ByteBuffer;
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.initcond:Ljava/nio/ByteBuffer;
25: aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.initcond:Ljava/nio/ByteBuffer;
ifnull 34
26: aload 2
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.initcond:Ljava/nio/ByteBuffer;
invokevirtual org.apache.cassandra.db.marshal.AbstractType.validate:(Ljava/nio/ByteBuffer;)V
27: goto 34
28: StackMap locals:
StackMap stack: org.apache.cassandra.serializers.MarshalException
astore 6
start local 6 29: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Invalid value for INITCOND of type %s%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual org.apache.cassandra.db.marshal.AbstractType.asCQL3Type:()Lorg/apache/cassandra/cql3/CQL3Type;
aastore
dup
iconst_1
30: aload 6
invokevirtual org.apache.cassandra.serializers.MarshalException.getMessage:()Ljava/lang/String;
ifnonnull 31
ldc ""
goto 32
StackMap locals: org.apache.cassandra.cql3.statements.CreateAggregateStatement org.apache.cassandra.service.ClientState org.apache.cassandra.db.marshal.AbstractType java.util.List org.apache.cassandra.cql3.functions.Function org.apache.cassandra.db.marshal.AbstractType org.apache.cassandra.serializers.MarshalException
StackMap stack: new 29 new 29 java.lang.String java.lang.Object[] java.lang.Object[] int
31: ldc " (%s)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
invokevirtual org.apache.cassandra.serializers.MarshalException.getMessage:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
StackMap locals: org.apache.cassandra.cql3.statements.CreateAggregateStatement org.apache.cassandra.service.ClientState org.apache.cassandra.db.marshal.AbstractType java.util.List org.apache.cassandra.cql3.functions.Function org.apache.cassandra.db.marshal.AbstractType org.apache.cassandra.serializers.MarshalException
StackMap stack: new 29 new 29 java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
32: aastore
33: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
end local 6 34: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.cassandra.db.marshal.AbstractType.asCQL3Type:()Lorg/apache/cassandra/cql3/CQL3Type;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.initcond:Ljava/nio/ByteBuffer;
getstatic org.apache.cassandra.transport.ProtocolVersion.CURRENT:Lorg/apache/cassandra/transport/ProtocolVersion;
invokeinterface org.apache.cassandra.cql3.CQL3Type.toCQLLiteral:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/lang/String;
astore 6
start local 6 35: getstatic org.apache.cassandra.cql3.statements.CreateAggregateStatement.$assertionsDisabled:Z
ifne 36
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.initcond:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
aload 6
aload 2
invokestatic org.apache.cassandra.cql3.Terms.asBytes:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/cassandra/db/marshal/AbstractType;)Ljava/nio/ByteBuffer;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 36
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
36: StackMap locals: java.lang.String
StackMap stack:
getstatic org.apache.cassandra.cql3.Constants.NULL_LITERAL:Lorg/apache/cassandra/cql3/Constants$NullLiteral;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.ival:Lorg/apache/cassandra/cql3/Term$Raw;
if_acmpeq 38
aload 2
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.initcond:Ljava/nio/ByteBuffer;
invokestatic org.apache.cassandra.cql3.functions.UDHelper.isNullOrEmpty:(Lorg/apache/cassandra/db/marshal/AbstractType;Ljava/nio/ByteBuffer;)Z
ifeq 38
37: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "INITCOND must not be empty for all types except TEXT, ASCII, BLOB"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
end local 6 38: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.apache.cassandra.cql3.statements.SchemaAlteringStatement.prepare:(Lorg/apache/cassandra/service/ClientState;)Lorg/apache/cassandra/cql3/statements/ParsedStatement$Prepared;
areturn
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 39 0 this Lorg/apache/cassandra/cql3/statements/CreateAggregateStatement;
0 39 1 clientState Lorg/apache/cassandra/service/ClientState;
3 4 2 rawType Lorg/apache/cassandra/cql3/CQL3Type$Raw;
6 39 2 stateType Lorg/apache/cassandra/db/marshal/AbstractType<*>;
7 39 3 stateArgs Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
8 39 4 f Lorg/apache/cassandra/cql3/functions/Function;
12 39 5 stateReturnType Lorg/apache/cassandra/db/marshal/AbstractType<*>;
16 21 6 finalArgs Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
29 34 6 e Lorg/apache/cassandra/serializers/MarshalException;
35 38 6 initcondAsCql Ljava/lang/String;
Exception table:
from to target type
26 27 28 Class org.apache.cassandra.serializers.MarshalException
MethodParameters:
Name Flags
clientState
private org.apache.cassandra.db.marshal.AbstractType<?> prepareType(java.lang.String, org.apache.cassandra.cql3.CQL3Type$Raw);
descriptor: (Ljava/lang/String;Lorg/apache/cassandra/cql3/CQL3Type$Raw;)Lorg/apache/cassandra/db/marshal/AbstractType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.apache.cassandra.cql3.CQL3Type$Raw.isFrozen:()Z
ifeq 2
1: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "The function %s should not be frozen; remove the frozen<> modifier"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.cassandra.cql3.CQL3Type$Raw.canBeNonFrozen:()Z
ifne 4
3: aload 2
invokevirtual org.apache.cassandra.cql3.CQL3Type$Raw.freeze:()V
4: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
invokevirtual org.apache.cassandra.cql3.CQL3Type$Raw.prepare:(Ljava/lang/String;)Lorg/apache/cassandra/cql3/CQL3Type;
invokeinterface org.apache.cassandra.cql3.CQL3Type.getType:()Lorg/apache/cassandra/db/marshal/AbstractType;
astore 3
start local 3 5: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/cql3/statements/CreateAggregateStatement;
0 6 1 typeName Ljava/lang/String;
0 6 2 rawType Lorg/apache/cassandra/cql3/CQL3Type$Raw;
5 6 3 type Lorg/apache/cassandra/db/marshal/AbstractType<*>;
Signature: (Ljava/lang/String;Lorg/apache/cassandra/cql3/CQL3Type$Raw;)Lorg/apache/cassandra/db/marshal/AbstractType<*>;
MethodParameters:
Name Flags
typeName
rawType
public void prepareKeyspace(org.apache.cassandra.service.ClientState);
descriptor: (Lorg/apache/cassandra/service/ClientState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
invokevirtual org.apache.cassandra.cql3.functions.FunctionName.hasKeyspace:()Z
ifne 2
aload 1
invokevirtual org.apache.cassandra.service.ClientState.getRawKeyspace:()Ljava/lang/String;
ifnull 2
1: aload 0
new org.apache.cassandra.cql3.functions.FunctionName
dup
aload 1
invokevirtual org.apache.cassandra.service.ClientState.getKeyspace:()Ljava/lang/String;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
invokespecial org.apache.cassandra.cql3.functions.FunctionName.<init>:(Ljava/lang/String;Ljava/lang/String;)V
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
invokevirtual org.apache.cassandra.cql3.functions.FunctionName.hasKeyspace:()Z
ifne 4
3: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Functions must be fully qualified with a keyspace name if a keyspace is not set for the session"
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.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
invokestatic org.apache.cassandra.thrift.ThriftValidation.validateKeyspaceNotSystem:(Ljava/lang/String;)V
5: aload 0
new org.apache.cassandra.cql3.functions.FunctionName
dup
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFunc:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
invokespecial org.apache.cassandra.cql3.functions.FunctionName.<init>:(Ljava/lang/String;Ljava/lang/String;)V
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFunc:Lorg/apache/cassandra/cql3/functions/FunctionName;
6: aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.finalFunc:Lorg/apache/cassandra/cql3/functions/FunctionName;
ifnull 8
7: aload 0
new org.apache.cassandra.cql3.functions.FunctionName
dup
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.finalFunc:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
invokespecial org.apache.cassandra.cql3.functions.FunctionName.<init>:(Ljava/lang/String;Ljava/lang/String;)V
putfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.finalFunc:Lorg/apache/cassandra/cql3/functions/FunctionName;
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/cassandra/cql3/statements/CreateAggregateStatement;
0 9 1 state Lorg/apache/cassandra/service/ClientState;
Exceptions:
throws org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
state
protected void grantPermissionsToCreator(org.apache.cassandra.service.QueryState);
descriptor: (Lorg/apache/cassandra/service/QueryState;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.argTypes:Ljava/util/List;
invokestatic org.apache.cassandra.auth.FunctionResource.function:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lorg/apache/cassandra/auth/FunctionResource;
astore 2
start local 2 1: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getAuthorizer:()Lorg/apache/cassandra/auth/IAuthorizer;
getstatic org.apache.cassandra.auth.AuthenticatedUser.SYSTEM_USER:Lorg/apache/cassandra/auth/AuthenticatedUser;
2: aload 2
invokeinterface org.apache.cassandra.auth.IResource.applicablePermissions:()Ljava/util/Set;
3: aload 2
4: aload 1
invokevirtual org.apache.cassandra.service.QueryState.getClientState:()Lorg/apache/cassandra/service/ClientState;
invokevirtual org.apache.cassandra.service.ClientState.getUser:()Lorg/apache/cassandra/auth/AuthenticatedUser;
invokevirtual org.apache.cassandra.auth.AuthenticatedUser.getName:()Ljava/lang/String;
invokestatic org.apache.cassandra.auth.RoleResource.role:(Ljava/lang/String;)Lorg/apache/cassandra/auth/RoleResource;
5: invokeinterface org.apache.cassandra.auth.IAuthorizer.grant:(Lorg/apache/cassandra/auth/AuthenticatedUser;Ljava/util/Set;Lorg/apache/cassandra/auth/IResource;Lorg/apache/cassandra/auth/RoleResource;)V
end local 2 6: goto 9
7: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.RequestExecutionException
astore 2
start local 2 8: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/cassandra/cql3/statements/CreateAggregateStatement;
0 10 1 state Lorg/apache/cassandra/service/QueryState;
1 6 2 resource Lorg/apache/cassandra/auth/IResource;
8 9 2 e Lorg/apache/cassandra/exceptions/RequestExecutionException;
Exception table:
from to target type
0 6 7 Class org.apache.cassandra.exceptions.RequestExecutionException
MethodParameters:
Name Flags
state
public void checkAccess(org.apache.cassandra.service.ClientState);
descriptor: (Lorg/apache/cassandra/service/ClientState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.argTypes:Ljava/util/List;
invokevirtual org.apache.cassandra.config.Schema.findFunction:(Lorg/apache/cassandra/cql3/functions/FunctionName;Ljava/util/List;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifeq 6
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.orReplace:Z
ifeq 6
1: aload 1
getstatic org.apache.cassandra.auth.Permission.ALTER:Lorg/apache/cassandra/auth/Permission;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
2: aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
3: aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.argTypes:Ljava/util/List;
4: invokestatic org.apache.cassandra.auth.FunctionResource.function:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lorg/apache/cassandra/auth/FunctionResource;
invokevirtual org.apache.cassandra.service.ClientState.ensureHasPermission:(Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/auth/IResource;)V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 1
getstatic org.apache.cassandra.auth.Permission.CREATE:Lorg/apache/cassandra/auth/Permission;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
invokestatic org.apache.cassandra.auth.FunctionResource.keyspace:(Ljava/lang/String;)Lorg/apache/cassandra/auth/FunctionResource;
invokevirtual org.apache.cassandra.service.ClientState.ensureHasPermission:(Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/auth/IResource;)V
7: StackMap locals:
StackMap stack:
aload 1
getstatic org.apache.cassandra.auth.Permission.EXECUTE:Lorg/apache/cassandra/auth/Permission;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFunction:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
invokevirtual org.apache.cassandra.service.ClientState.ensureHasPermission:(Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/cql3/functions/Function;)V
8: aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.finalFunction:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
ifnull 10
9: aload 1
getstatic org.apache.cassandra.auth.Permission.EXECUTE:Lorg/apache/cassandra/auth/Permission;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.finalFunction:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
invokevirtual org.apache.cassandra.service.ClientState.ensureHasPermission:(Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/cql3/functions/Function;)V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/cassandra/cql3/statements/CreateAggregateStatement;
0 11 1 state Lorg/apache/cassandra/service/ClientState;
Exceptions:
throws org.apache.cassandra.exceptions.UnauthorizedException, org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
state
public void validate(org.apache.cassandra.service.ClientState);
descriptor: (Lorg/apache/cassandra/service/ClientState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.ifNotExists:Z
ifeq 2
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.orReplace:Z
ifeq 2
1: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Cannot use both 'OR REPLACE' and 'IF NOT EXISTS' directives"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
ifnonnull 4
3: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Cannot add aggregate '%s' to non existing keyspace '%s'."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
aastore
dup
iconst_1
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/cql3/statements/CreateAggregateStatement;
0 5 1 state Lorg/apache/cassandra/service/ClientState;
Exceptions:
throws org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
state
public org.apache.cassandra.transport.Event$SchemaChange announceMigration(org.apache.cassandra.service.QueryState, boolean);
descriptor: (Lorg/apache/cassandra/service/QueryState;Z)Lorg/apache/cassandra/transport/Event$SchemaChange;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.argTypes:Ljava/util/List;
invokevirtual org.apache.cassandra.config.Schema.findFunction:(Lorg/apache/cassandra/cql3/functions/FunctionName;Ljava/util/List;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.functions.Function
astore 3
start local 3 1: aload 3
ifnull 2
iconst_1
goto 3
StackMap locals: org.apache.cassandra.cql3.functions.Function
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: iload 4
ifeq 17
5: aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.ifNotExists:Z
ifeq 7
6: aconst_null
areturn
7: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.orReplace:Z
ifne 9
8: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Function %s already exists"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 3
instanceof org.apache.cassandra.cql3.functions.AggregateFunction
ifne 11
10: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Aggregate %s can only replace an aggregate"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.apache.cassandra.cql3.functions.Function.isNative:()Z
ifeq 13
12: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Cannot replace native aggregate %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.apache.cassandra.cql3.functions.Function.returnType:()Lorg/apache/cassandra/db/marshal/AbstractType;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.returnType:Lorg/apache/cassandra/db/marshal/AbstractType;
invokevirtual org.apache.cassandra.db.marshal.AbstractType.isValueCompatibleWith:(Lorg/apache/cassandra/db/marshal/AbstractType;)Z
ifne 17
14: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Cannot replace aggregate %s, the new return type %s is not compatible with the return type %s of existing function"
iconst_3
anewarray java.lang.Object
dup
iconst_0
15: aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
aastore
dup
iconst_1
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.returnType:Lorg/apache/cassandra/db/marshal/AbstractType;
invokevirtual org.apache.cassandra.db.marshal.AbstractType.asCQL3Type:()Lorg/apache/cassandra/cql3/CQL3Type;
aastore
dup
iconst_2
aload 3
invokeinterface org.apache.cassandra.cql3.functions.Function.returnType:()Lorg/apache/cassandra/db/marshal/AbstractType;
invokevirtual org.apache.cassandra.db.marshal.AbstractType.asCQL3Type:()Lorg/apache/cassandra/cql3/CQL3Type;
aastore
16: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFunction:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
invokeinterface org.apache.cassandra.cql3.functions.ScalarFunction.isCalledOnNullInput:()Z
ifne 19
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.initcond:Ljava/nio/ByteBuffer;
ifnonnull 19
18: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Cannot create aggregate %s without INITCOND because state function %s does not accept 'null' arguments"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
aastore
dup
iconst_1
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFunc:Lorg/apache/cassandra/cql3/functions/FunctionName;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
new org.apache.cassandra.cql3.functions.UDAggregate
dup
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.functionName:Lorg/apache/cassandra/cql3/functions/FunctionName;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.argTypes:Ljava/util/List;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.returnType:Lorg/apache/cassandra/db/marshal/AbstractType;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.stateFunction:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.finalFunction:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
aload 0
getfield org.apache.cassandra.cql3.statements.CreateAggregateStatement.initcond:Ljava/nio/ByteBuffer;
invokespecial org.apache.cassandra.cql3.functions.UDAggregate.<init>:(Lorg/apache/cassandra/cql3/functions/FunctionName;Ljava/util/List;Lorg/apache/cassandra/db/marshal/AbstractType;Lorg/apache/cassandra/cql3/functions/ScalarFunction;Lorg/apache/cassandra/cql3/functions/ScalarFunction;Ljava/nio/ByteBuffer;)V
astore 5
start local 5 20: aload 5
iload 2
invokestatic org.apache.cassandra.service.MigrationManager.announceNewAggregate:(Lorg/apache/cassandra/cql3/functions/UDAggregate;Z)V
21: new org.apache.cassandra.transport.Event$SchemaChange
dup
iload 4
ifeq 22
getstatic org.apache.cassandra.transport.Event$SchemaChange$Change.UPDATED:Lorg/apache/cassandra/transport/Event$SchemaChange$Change;
goto 23
StackMap locals: org.apache.cassandra.cql3.statements.CreateAggregateStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.cql3.functions.Function int org.apache.cassandra.cql3.functions.UDAggregate
StackMap stack: new 21 new 21
22: getstatic org.apache.cassandra.transport.Event$SchemaChange$Change.CREATED:Lorg/apache/cassandra/transport/Event$SchemaChange$Change;
23: StackMap locals: org.apache.cassandra.cql3.statements.CreateAggregateStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.cql3.functions.Function int org.apache.cassandra.cql3.functions.UDAggregate
StackMap stack: new 21 new 21 org.apache.cassandra.transport.Event$SchemaChange$Change
getstatic org.apache.cassandra.transport.Event$SchemaChange$Target.AGGREGATE:Lorg/apache/cassandra/transport/Event$SchemaChange$Target;
24: aload 5
invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
aload 5
invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
aload 5
invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.argTypes:()Ljava/util/List;
invokestatic org.apache.cassandra.db.marshal.AbstractType.asCQLTypeStringList:(Ljava/util/List;)Ljava/util/List;
25: invokespecial org.apache.cassandra.transport.Event$SchemaChange.<init>:(Lorg/apache/cassandra/transport/Event$SchemaChange$Change;Lorg/apache/cassandra/transport/Event$SchemaChange$Target;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
areturn
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 26 0 this Lorg/apache/cassandra/cql3/statements/CreateAggregateStatement;
0 26 1 queryState Lorg/apache/cassandra/service/QueryState;
0 26 2 isLocalOnly Z
1 26 3 old Lorg/apache/cassandra/cql3/functions/Function;
4 26 4 replaced Z
20 26 5 udAggregate Lorg/apache/cassandra/cql3/functions/UDAggregate;
Exceptions:
throws org.apache.cassandra.exceptions.RequestValidationException
MethodParameters:
Name Flags
queryState
isLocalOnly
private static java.lang.String stateFuncSig(org.apache.cassandra.cql3.functions.FunctionName, org.apache.cassandra.cql3.CQL3Type$Raw, java.util.List<org.apache.cassandra.cql3.CQL3Type$Raw>);
descriptor: (Lorg/apache/cassandra/cql3/functions/FunctionName;Lorg/apache/cassandra/cql3/CQL3Type$Raw;Ljava/util/List;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 1: aload 3
aload 0
invokevirtual org.apache.cassandra.cql3.functions.FunctionName.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
2: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: org.apache.cassandra.cql3.functions.FunctionName org.apache.cassandra.cql3.CQL3Type$Raw java.util.List java.lang.StringBuilder top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.CQL3Type$Raw
astore 4
start local 4 4: aload 3
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 3
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 stateFuncName Lorg/apache/cassandra/cql3/functions/FunctionName;
0 8 1 stateTypeRaw Lorg/apache/cassandra/cql3/CQL3Type$Raw;
0 8 2 argRawTypes Ljava/util/List<Lorg/apache/cassandra/cql3/CQL3Type$Raw;>;
1 8 3 sb Ljava/lang/StringBuilder;
4 5 4 argRawType Lorg/apache/cassandra/cql3/CQL3Type$Raw;
Signature: (Lorg/apache/cassandra/cql3/functions/FunctionName;Lorg/apache/cassandra/cql3/CQL3Type$Raw;Ljava/util/List<Lorg/apache/cassandra/cql3/CQL3Type$Raw;>;)Ljava/lang/String;
MethodParameters:
Name Flags
stateFuncName
stateTypeRaw
argRawTypes
private static java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>> stateArguments(org.apache.cassandra.db.marshal.AbstractType<?>, java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>>);
descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType;Ljava/util/List;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 1
invokeinterface java.util.List.size:()I
iconst_1
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: aload 2
aload 0
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 2
aload 1
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 stateType Lorg/apache/cassandra/db/marshal/AbstractType<*>;
0 4 1 argTypes Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
1 4 2 r Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
Signature: (Lorg/apache/cassandra/db/marshal/AbstractType<*>;Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;)Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
MethodParameters:
Name Flags
stateType
argTypes
}
SourceFile: "CreateAggregateStatement.java"
InnerClasses:
public abstract Raw = org.apache.cassandra.cql3.CQL3Type$Raw of org.apache.cassandra.cql3.CQL3Type
public abstract Raw = org.apache.cassandra.cql3.Term$Raw of org.apache.cassandra.cql3.Term
public Prepared = org.apache.cassandra.cql3.statements.ParsedStatement$Prepared of org.apache.cassandra.cql3.statements.ParsedStatement
public SchemaChange = org.apache.cassandra.transport.Event$SchemaChange of org.apache.cassandra.transport.Event
public final Change = org.apache.cassandra.transport.Event$SchemaChange$Change of org.apache.cassandra.transport.Event$SchemaChange
public final Target = org.apache.cassandra.transport.Event$SchemaChange$Target of org.apache.cassandra.transport.Event$SchemaChange