public class org.hsqldb.ExpressionArrayAggregate extends org.hsqldb.Expression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hsqldb.ExpressionArrayAggregate
super_class: org.hsqldb.Expression
{
org.hsqldb.SortAndSlice sort;
descriptor: Lorg/hsqldb/SortAndSlice;
flags: (0x0000)
org.hsqldb.SortAndSlice distinctSort;
descriptor: Lorg/hsqldb/SortAndSlice;
flags: (0x0000)
java.lang.String separator;
descriptor: Ljava/lang/String;
flags: (0x0000)
org.hsqldb.types.ArrayType arrayDataType;
descriptor: Lorg/hsqldb/types/ArrayType;
flags: (0x0000)
org.hsqldb.types.Type exprType;
descriptor: Lorg/hsqldb/types/Type;
flags: (0x0000)
org.hsqldb.Expression condition;
descriptor: Lorg/hsqldb/Expression;
flags: (0x0000)
void <init>(int, boolean, org.hsqldb.Expression, org.hsqldb.SortAndSlice, java.lang.String);
descriptor: (IZLorg/hsqldb/Expression;Lorg/hsqldb/SortAndSlice;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 1
invokespecial org.hsqldb.Expression.<init>:(I)V
1: aload 0
ldc ","
putfield org.hsqldb.ExpressionArrayAggregate.separator:Ljava/lang/String;
2: aload 0
getstatic org.hsqldb.Expression.EXPR_TRUE:Lorg/hsqldb/Expression;
putfield org.hsqldb.ExpressionArrayAggregate.condition:Lorg/hsqldb/Expression;
3: aload 0
iload 2
putfield org.hsqldb.ExpressionArrayAggregate.isDistinctAggregate:Z
4: aload 0
aload 4
putfield org.hsqldb.ExpressionArrayAggregate.sort:Lorg/hsqldb/SortAndSlice;
5: aload 5
ifnull 7
6: aload 0
aload 5
putfield org.hsqldb.ExpressionArrayAggregate.separator:Ljava/lang/String;
7: StackMap locals: org.hsqldb.ExpressionArrayAggregate int int org.hsqldb.Expression org.hsqldb.SortAndSlice java.lang.String
StackMap stack:
iload 1
bipush 88
if_icmpne 10
8: aload 0
iconst_1
anewarray org.hsqldb.Expression
dup
iconst_0
aload 3
aastore
putfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
9: return
10: StackMap locals:
StackMap stack:
aload 4
ifnonnull 13
11: aload 0
iconst_1
anewarray org.hsqldb.Expression
dup
iconst_0
aload 3
aastore
putfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
12: goto 18
13: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.hsqldb.SortAndSlice.getExpressionList:()Lorg/hsqldb/lib/HsqlArrayList;
astore 6
start local 6 14: aload 0
aload 6
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
iconst_1
iadd
anewarray org.hsqldb.Expression
putfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
15: aload 6
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
invokevirtual org.hsqldb.lib.HsqlArrayList.toArray:(Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
aload 6
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
aload 3
aastore
17: aload 4
iconst_1
invokevirtual org.hsqldb.SortAndSlice.prepareExtraColumn:(I)V
end local 6 18: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.isDistinctAggregate:Z
ifeq 21
19: aload 0
new org.hsqldb.SortAndSlice
dup
invokespecial org.hsqldb.SortAndSlice.<init>:()V
putfield org.hsqldb.ExpressionArrayAggregate.distinctSort:Lorg/hsqldb/SortAndSlice;
20: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.distinctSort:Lorg/hsqldb/SortAndSlice;
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
arraylength
iconst_1
isub
invokevirtual org.hsqldb.SortAndSlice.prepareSingleColumn:(I)V
21: StackMap locals:
StackMap stack:
return
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 22 0 this Lorg/hsqldb/ExpressionArrayAggregate;
0 22 1 type I
0 22 2 distinct Z
0 22 3 e Lorg/hsqldb/Expression;
0 22 4 sort Lorg/hsqldb/SortAndSlice;
0 22 5 separator Ljava/lang/String;
14 18 6 list Lorg/hsqldb/lib/HsqlArrayList;
MethodParameters:
Name Flags
type
distinct
e
sort
separator
public boolean isSelfAggregate();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/ExpressionArrayAggregate;
public java.lang.String getSQL();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
bipush 64
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 1: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
arraylength
ifle 2
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
goto 3
2: StackMap locals: java.lang.StringBuilder
StackMap stack:
aconst_null
3: StackMap locals:
StackMap stack: org.hsqldb.Expression
invokestatic org.hsqldb.ExpressionArrayAggregate.getContextSQL:(Lorg/hsqldb/Expression;)Ljava/lang/String;
astore 2
start local 2 4: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.opType:I
tableswitch { // 85 - 88
85: 5
86: 8
87: 14
88: 11
default: 14
}
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "ARRAY_AGG"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: goto 17
8: StackMap locals:
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "GROUP_CONCAT"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: goto 17
11: StackMap locals:
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "MEDIAN"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
12: aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
13: goto 17
14: StackMap locals:
StackMap stack:
sipush 201
15: ldc "ExpressionAggregate"
16: invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
17: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/hsqldb/ExpressionArrayAggregate;
1 18 1 sb Ljava/lang/StringBuilder;
4 18 2 left Ljava/lang/String;
protected java.lang.String describe(org.hsqldb.Session, int);
descriptor: (Lorg/hsqldb/Session;I)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
bipush 64
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 1: aload 3
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 3
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 2
if_icmplt 4
end local 4 7: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.opType:I
tableswitch { // 85 - 88
85: 8
86: 10
87: 13
88: 12
default: 13
}
8: StackMap locals:
StackMap stack:
aload 3
ldc "ARRAY_AGG"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: goto 13
10: StackMap locals:
StackMap stack:
aload 3
ldc "GROUP_CONCAT"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: goto 13
12: StackMap locals:
StackMap stack:
aload 3
ldc "MEDIAN"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.ExpressionArrayAggregate.getLeftNode:()Lorg/hsqldb/Expression;
ifnull 17
14: aload 3
ldc " arg=["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: aload 3
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
aload 1
iload 2
iconst_1
iadd
invokevirtual org.hsqldb.Expression.describe:(Lorg/hsqldb/Session;I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 3
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
17: StackMap locals:
StackMap stack:
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 18 0 this Lorg/hsqldb/ExpressionArrayAggregate;
0 18 1 session Lorg/hsqldb/Session;
0 18 2 blanks I
1 18 3 sb Ljava/lang/StringBuilder;
3 7 4 i I
MethodParameters:
Name Flags
session
blanks
public org.hsqldb.lib.HsqlList resolveColumnReferences(org.hsqldb.Session, org.hsqldb.RangeGroup, int, org.hsqldb.RangeGroup[], org.hsqldb.lib.HsqlList, boolean);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/RangeGroup;I[Lorg/hsqldb/RangeGroup;Lorg/hsqldb/lib/HsqlList;Z)Lorg/hsqldb/lib/HsqlList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.condition:Lorg/hsqldb/Expression;
aload 1
1: aload 2
iload 3
aload 4
aconst_null
iconst_0
2: invokevirtual org.hsqldb.Expression.resolveColumnReferences:(Lorg/hsqldb/Session;Lorg/hsqldb/RangeGroup;I[Lorg/hsqldb/RangeGroup;Lorg/hsqldb/lib/HsqlList;Z)Lorg/hsqldb/lib/HsqlList;
astore 7
start local 7 3: aload 7
ifnull 5
4: aload 7
invokestatic org.hsqldb.ExpressionColumn.checkColumnsResolved:(Lorg/hsqldb/lib/HsqlList;)V
5: StackMap locals: org.hsqldb.lib.HsqlList
StackMap stack:
aload 5
ifnonnull 7
6: new org.hsqldb.lib.ArrayListIdentity
dup
invokespecial org.hsqldb.lib.ArrayListIdentity.<init>:()V
astore 5
7: StackMap locals:
StackMap stack:
aload 5
aload 0
invokeinterface org.hsqldb.lib.HsqlList.add:(Ljava/lang/Object;)Z
pop
8: aload 2
invokeinterface org.hsqldb.RangeGroup.getRangeVariables:()[Lorg/hsqldb/RangeVariable;
arraylength
ifle 11
9: aload 0
aload 4
putfield org.hsqldb.ExpressionArrayAggregate.rangeGroups:[Lorg/hsqldb/RangeGroup;
10: aload 0
aload 2
putfield org.hsqldb.ExpressionArrayAggregate.rangeGroup:Lorg/hsqldb/RangeGroup;
11: StackMap locals:
StackMap stack:
aload 5
areturn
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/hsqldb/ExpressionArrayAggregate;
0 12 1 session Lorg/hsqldb/Session;
0 12 2 rangeGroup Lorg/hsqldb/RangeGroup;
0 12 3 rangeCount I
0 12 4 rangeGroups [Lorg/hsqldb/RangeGroup;
0 12 5 unresolvedSet Lorg/hsqldb/lib/HsqlList;
0 12 6 acceptsSequences Z
3 12 7 conditionSet Lorg/hsqldb/lib/HsqlList;
MethodParameters:
Name Flags
session
rangeGroup
rangeCount
rangeGroups
unresolvedSet
acceptsSequences
public void resolveTypes(org.hsqldb.Session, org.hsqldb.Expression);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
arraylength
anewarray org.hsqldb.types.Type
putfield org.hsqldb.ExpressionArrayAggregate.nodeDataTypes:[Lorg/hsqldb/types/Type;
1: iconst_0
istore 3
start local 3 2: goto 11
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
iload 3
aaload
ifnull 10
4: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
iload 3
aaload
aload 1
aload 0
invokevirtual org.hsqldb.Expression.resolveTypes:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
5: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
iload 3
aaload
invokevirtual org.hsqldb.Expression.isUnresolvedParam:()Z
ifeq 7
6: sipush 5567
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
iload 3
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnonnull 9
8: sipush 5567
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodeDataTypes:[Lorg/hsqldb/types/Type;
iload 3
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
iload 3
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
aastore
10: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
arraylength
if_icmplt 3
end local 3 12: aload 0
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
arraylength
iconst_1
isub
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
putfield org.hsqldb.ExpressionArrayAggregate.exprType:Lorg/hsqldb/types/Type;
13: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.exprType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isLobType:()Z
ifeq 15
14: sipush 5534
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.exprType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isArrayType:()Z
ifeq 17
16: sipush 5534
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
17: StackMap locals:
StackMap stack:
new org.hsqldb.types.RowType
dup
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodeDataTypes:[Lorg/hsqldb/types/Type;
invokespecial org.hsqldb.types.RowType.<init>:([Lorg/hsqldb/types/Type;)V
astore 3
start local 3 18: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.opType:I
tableswitch { // 85 - 88
85: 19
86: 28
87: 46
88: 35
default: 46
}
19: StackMap locals: org.hsqldb.types.Type
StackMap stack:
aload 0
20: new org.hsqldb.types.ArrayType
dup
aload 3
21: sipush 1024
22: invokespecial org.hsqldb.types.ArrayType.<init>:(Lorg/hsqldb/types/Type;I)V
23: putfield org.hsqldb.ExpressionArrayAggregate.arrayDataType:Lorg/hsqldb/types/ArrayType;
24: aload 0
new org.hsqldb.types.ArrayType
dup
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.exprType:Lorg/hsqldb/types/Type;
25: sipush 1024
invokespecial org.hsqldb.types.ArrayType.<init>:(Lorg/hsqldb/types/Type;I)V
26: putfield org.hsqldb.ExpressionArrayAggregate.dataType:Lorg/hsqldb/types/Type;
27: goto 46
28: StackMap locals:
StackMap stack:
aload 0
29: new org.hsqldb.types.ArrayType
dup
aload 3
30: sipush 1024
31: invokespecial org.hsqldb.types.ArrayType.<init>:(Lorg/hsqldb/types/Type;I)V
32: putfield org.hsqldb.ExpressionArrayAggregate.arrayDataType:Lorg/hsqldb/types/ArrayType;
33: aload 0
getstatic org.hsqldb.types.Type.SQL_VARCHAR_DEFAULT:Lorg/hsqldb/types/CharacterType;
putfield org.hsqldb.ExpressionArrayAggregate.dataType:Lorg/hsqldb/types/Type;
34: goto 46
35: StackMap locals:
StackMap stack:
aload 0
36: new org.hsqldb.types.ArrayType
dup
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodeDataTypes:[Lorg/hsqldb/types/Type;
iconst_0
aaload
37: sipush 1024
38: invokespecial org.hsqldb.types.ArrayType.<init>:(Lorg/hsqldb/types/Type;I)V
39: putfield org.hsqldb.ExpressionArrayAggregate.arrayDataType:Lorg/hsqldb/types/ArrayType;
40: aload 0
aload 1
41: bipush 88
42: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.exprType:Lorg/hsqldb/types/Type;
43: invokestatic org.hsqldb.ExpressionAggregate.getType:(Lorg/hsqldb/Session;ILorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
putfield org.hsqldb.ExpressionArrayAggregate.dataType:Lorg/hsqldb/types/Type;
44: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.exprType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isNumberType:()Z
ifne 46
45: sipush 5563
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
46: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.condition:Lorg/hsqldb/Expression;
aload 1
aconst_null
invokevirtual org.hsqldb.Expression.resolveTypes:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
47: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Lorg/hsqldb/ExpressionArrayAggregate;
0 48 1 session Lorg/hsqldb/Session;
0 48 2 parent Lorg/hsqldb/Expression;
2 12 3 i I
18 48 3 rowDataType Lorg/hsqldb/types/Type;
MethodParameters:
Name Flags
session
parent
boolean equals(org.hsqldb.Expression);
descriptor: (Lorg/hsqldb/Expression;)Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.hsqldb.ExpressionArrayAggregate
ifeq 9
1: aload 1
checkcast org.hsqldb.ExpressionArrayAggregate
astore 2
start local 2 2: aload 0
aload 1
invokespecial org.hsqldb.Expression.equals:(Lorg/hsqldb/Expression;)Z
ifeq 8
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.opType:I
aload 1
getfield org.hsqldb.Expression.opType:I
if_icmpne 8
3: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.exprSubType:I
aload 1
getfield org.hsqldb.Expression.exprSubType:I
if_icmpne 8
4: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.isDistinctAggregate:Z
aload 2
getfield org.hsqldb.ExpressionArrayAggregate.isDistinctAggregate:Z
if_icmpne 8
5: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.separator:Ljava/lang/String;
aload 2
getfield org.hsqldb.ExpressionArrayAggregate.separator:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.condition:Lorg/hsqldb/Expression;
aload 2
getfield org.hsqldb.ExpressionArrayAggregate.condition:Lorg/hsqldb/Expression;
invokevirtual org.hsqldb.Expression.equals:(Lorg/hsqldb/Expression;)Z
ifeq 8
7: iconst_1
ireturn
StackMap locals: org.hsqldb.ExpressionArrayAggregate
StackMap stack:
8: iconst_0
ireturn
end local 2 9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/hsqldb/ExpressionArrayAggregate;
0 10 1 other Lorg/hsqldb/Expression;
2 9 2 o Lorg/hsqldb/ExpressionArrayAggregate;
MethodParameters:
Name Flags
other
public org.hsqldb.SetFunction updateAggregatingValue(org.hsqldb.Session, org.hsqldb.SetFunction);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/SetFunction;)Lorg/hsqldb/SetFunction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.condition:Lorg/hsqldb/Expression;
aload 1
invokevirtual org.hsqldb.Expression.testCondition:(Lorg/hsqldb/Session;)Z
ifne 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 3: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.opType:I
tableswitch { // 85 - 88
85: 4
86: 12
87: 25
88: 22
default: 25
}
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
arraylength
anewarray java.lang.Object
astore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 9
7: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 4
iload 5
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
iload 5
aaload
aload 1
invokevirtual org.hsqldb.Expression.getValue:(Lorg/hsqldb/Session;)Ljava/lang/Object;
aastore
8: iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
arraylength
if_icmplt 7
end local 5 10: aload 4
astore 3
11: goto 25
end local 4 12: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
arraylength
anewarray java.lang.Object
astore 4
start local 4 13: iconst_0
istore 5
start local 5 14: goto 17
15: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 4
iload 5
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
iload 5
aaload
aload 1
invokevirtual org.hsqldb.Expression.getValue:(Lorg/hsqldb/Session;)Ljava/lang/Object;
aastore
16: iinc 5 1
StackMap locals:
StackMap stack:
17: iload 5
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
arraylength
if_icmplt 15
end local 5 18: aload 4
aload 4
arraylength
iconst_1
isub
aaload
ifnonnull 20
19: aload 2
areturn
20: StackMap locals:
StackMap stack:
aload 4
astore 3
21: goto 25
end local 4 22: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
aload 1
invokevirtual org.hsqldb.Expression.getValue:(Lorg/hsqldb/Session;)Ljava/lang/Object;
astore 3
23: aload 3
ifnonnull 25
24: aload 2
areturn
25: StackMap locals:
StackMap stack:
aload 2
ifnonnull 27
26: new org.hsqldb.SetFunctionValueArray
dup
invokespecial org.hsqldb.SetFunctionValueArray.<init>:()V
astore 2
27: StackMap locals:
StackMap stack:
aload 2
aload 3
invokeinterface org.hsqldb.SetFunction.add:(Ljava/lang/Object;)V
28: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/hsqldb/ExpressionArrayAggregate;
0 29 1 session Lorg/hsqldb/Session;
0 29 2 currValue Lorg/hsqldb/SetFunction;
3 29 3 value Ljava/lang/Object;
5 12 4 data [Ljava/lang/Object;
13 22 4 data [Ljava/lang/Object;
6 10 5 i I
14 18 5 i I
MethodParameters:
Name Flags
session
currValue
public java.lang.Object getAggregatedValue(org.hsqldb.Session, org.hsqldb.SetFunction);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/SetFunction;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.hsqldb.SetFunction.getValue:()Ljava/lang/Object;
checkcast java.lang.Object[]
astore 3
start local 3 3: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.isDistinctAggregate:Z
ifeq 7
4: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.arrayDataType:Lorg/hsqldb/types/ArrayType;
aload 1
aload 3
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.distinctSort:Lorg/hsqldb/SortAndSlice;
invokevirtual org.hsqldb.types.ArrayType.sort:(Lorg/hsqldb/Session;[Ljava/lang/Object;Lorg/hsqldb/SortAndSlice;)V
5: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.arrayDataType:Lorg/hsqldb/types/ArrayType;
aload 1
aload 3
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.distinctSort:Lorg/hsqldb/SortAndSlice;
invokevirtual org.hsqldb.types.ArrayType.deDuplicate:(Lorg/hsqldb/Session;Ljava/lang/Object;Lorg/hsqldb/SortAndSlice;)I
istore 4
start local 4 6: aload 3
iload 4
invokestatic org.hsqldb.lib.ArrayUtil.resizeArrayIfDifferent:(Ljava/lang/Object;I)Ljava/lang/Object;
checkcast java.lang.Object[]
astore 3
end local 4 7: StackMap locals: java.lang.Object[]
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.sort:Lorg/hsqldb/SortAndSlice;
ifnull 9
8: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.arrayDataType:Lorg/hsqldb/types/ArrayType;
aload 1
aload 3
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.sort:Lorg/hsqldb/SortAndSlice;
invokevirtual org.hsqldb.types.ArrayType.sort:(Lorg/hsqldb/Session;[Ljava/lang/Object;Lorg/hsqldb/SortAndSlice;)V
9: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.opType:I
tableswitch { // 85 - 88
85: 10
86: 18
87: 48
88: 33
default: 48
}
10: StackMap locals:
StackMap stack:
aload 3
arraylength
anewarray java.lang.Object
astore 4
start local 4 11: iconst_0
istore 5
start local 5 12: goto 16
13: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 3
iload 5
aaload
checkcast java.lang.Object[]
astore 6
start local 6 14: aload 4
iload 5
aload 6
aload 6
arraylength
iconst_1
isub
aaload
aastore
end local 6 15: iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
aload 3
arraylength
if_icmplt 13
end local 5 17: aload 4
areturn
end local 4 18: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
bipush 16
aload 3
arraylength
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 4
start local 4 19: iconst_0
istore 5
start local 5 20: goto 31
21: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 5
ifle 23
22: aload 4
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: StackMap locals:
StackMap stack:
aload 3
iload 5
aaload
checkcast java.lang.Object[]
astore 6
start local 6 24: aload 6
aload 6
arraylength
iconst_1
isub
aaload
astore 7
start local 7 25: getstatic org.hsqldb.types.Type.SQL_VARCHAR:Lorg/hsqldb/types/CharacterType;
aload 1
26: aload 7
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.exprType:Lorg/hsqldb/types/Type;
27: invokevirtual org.hsqldb.types.CharacterType.convertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
checkcast java.lang.String
28: astore 8
start local 8 29: aload 4
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 8 end local 7 end local 6 30: iinc 5 1
StackMap locals:
StackMap stack:
31: iload 5
aload 3
arraylength
if_icmplt 21
end local 5 32: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 33: StackMap locals:
StackMap stack:
new org.hsqldb.SortAndSlice
dup
invokespecial org.hsqldb.SortAndSlice.<init>:()V
astore 4
start local 4 34: aload 4
iconst_1
invokevirtual org.hsqldb.SortAndSlice.prepareSingleColumn:(I)V
35: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.arrayDataType:Lorg/hsqldb/types/ArrayType;
aload 1
aload 3
aload 4
invokevirtual org.hsqldb.types.ArrayType.sort:(Lorg/hsqldb/Session;[Ljava/lang/Object;Lorg/hsqldb/SortAndSlice;)V
36: aload 3
arraylength
iconst_2
irem
ifne 37
iconst_1
goto 38
StackMap locals: org.hsqldb.SortAndSlice
StackMap stack:
37: iconst_0
StackMap locals:
StackMap stack: int
38: istore 5
start local 5 39: iload 5
ifeq 44
40: aload 3
aload 3
arraylength
iconst_2
idiv
iconst_1
isub
aaload
astore 6
start local 6 41: aload 3
aload 3
arraylength
iconst_2
idiv
aaload
astore 7
start local 7 42: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.dataType:Lorg/hsqldb/types/Type;
aload 1
aload 6
aload 7
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.add:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
astore 8
start local 8 43: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.dataType:Lorg/hsqldb/types/Type;
aload 1
aload 8
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.hsqldb.types.Type.divide:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 8 end local 7 end local 6 44: StackMap locals: int
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.dataType:Lorg/hsqldb/types/Type;
aload 1
45: aload 3
aload 3
arraylength
iconst_2
idiv
aaload
46: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.exprType:Lorg/hsqldb/types/Type;
47: invokevirtual org.hsqldb.types.Type.convertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
areturn
end local 5 end local 4 48: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lorg/hsqldb/ExpressionArrayAggregate;
0 49 1 session Lorg/hsqldb/Session;
0 49 2 currValue Lorg/hsqldb/SetFunction;
3 49 3 array [Ljava/lang/Object;
6 7 4 size I
11 18 4 resultArray [Ljava/lang/Object;
12 17 5 i I
14 15 6 row [Ljava/lang/Object;
19 33 4 sb Ljava/lang/StringBuilder;
20 32 5 i I
24 30 6 row [Ljava/lang/Object;
25 30 7 value Ljava/lang/Object;
29 30 8 string Ljava/lang/String;
34 48 4 exprSort Lorg/hsqldb/SortAndSlice;
39 48 5 even Z
41 44 6 val1 Ljava/lang/Object;
42 44 7 val2 Ljava/lang/Object;
43 44 8 val3 Ljava/lang/Object;
MethodParameters:
Name Flags
session
currValue
public org.hsqldb.Expression getCondition();
descriptor: ()Lorg/hsqldb/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.condition:Lorg/hsqldb/Expression;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/ExpressionArrayAggregate;
public boolean hasCondition();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.condition:Lorg/hsqldb/Expression;
ifnull 1
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.condition:Lorg/hsqldb/Expression;
invokevirtual org.hsqldb.Expression.isTrue:()Z
ifne 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/hsqldb/ExpressionArrayAggregate;
public void setCondition(org.hsqldb.ExpressionLogical);
descriptor: (Lorg/hsqldb/ExpressionLogical;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.hsqldb.ExpressionArrayAggregate.condition:Lorg/hsqldb/Expression;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hsqldb/ExpressionArrayAggregate;
0 2 1 e Lorg/hsqldb/ExpressionLogical;
MethodParameters:
Name Flags
e
public org.hsqldb.Expression duplicate();
descriptor: ()Lorg/hsqldb/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial org.hsqldb.Expression.duplicate:()Lorg/hsqldb/Expression;
checkcast org.hsqldb.ExpressionArrayAggregate
1: astore 1
start local 1 2: aload 0
getfield org.hsqldb.ExpressionArrayAggregate.condition:Lorg/hsqldb/Expression;
ifnull 4
3: aload 1
aload 0
getfield org.hsqldb.ExpressionArrayAggregate.condition:Lorg/hsqldb/Expression;
invokevirtual org.hsqldb.Expression.duplicate:()Lorg/hsqldb/Expression;
putfield org.hsqldb.ExpressionArrayAggregate.condition:Lorg/hsqldb/Expression;
4: StackMap locals: org.hsqldb.ExpressionArrayAggregate
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hsqldb/ExpressionArrayAggregate;
2 5 1 e Lorg/hsqldb/ExpressionArrayAggregate;
}
SourceFile: "ExpressionArrayAggregate.java"