public class org.hsqldb.ExpressionAggregate extends org.hsqldb.Expression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hsqldb.ExpressionAggregate
super_class: org.hsqldb.Expression
{
void <init>(int, boolean, org.hsqldb.Expression);
descriptor: (IZLorg/hsqldb/Expression;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
invokespecial org.hsqldb.Expression.<init>:(I)V
1: aload 0
iconst_2
anewarray org.hsqldb.Expression
putfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
2: aload 0
iload 2
putfield org.hsqldb.ExpressionAggregate.isDistinctAggregate:Z
3: aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_0
aload 3
aastore
4: aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_1
getstatic org.hsqldb.Expression.EXPR_TRUE:Lorg/hsqldb/Expression;
aastore
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hsqldb/ExpressionAggregate;
0 6 1 type I
0 6 2 distinct Z
0 6 3 e Lorg/hsqldb/Expression;
MethodParameters:
Name Flags
type
distinct
e
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/ExpressionAggregate;
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.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
arraylength
ifle 2
aload 0
getfield org.hsqldb.ExpressionAggregate.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.ExpressionAggregate.getContextSQL:(Lorg/hsqldb/Expression;)Ljava/lang/String;
astore 2
start local 2 4: aload 0
getfield org.hsqldb.ExpressionAggregate.opType:I
tableswitch { // 74 - 84
74: 5
75: 8
76: 11
77: 14
78: 17
79: 20
80: 23
81: 26
82: 29
83: 32
84: 35
default: 38
}
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "COUNT"
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 41
8: StackMap locals:
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "SUM"
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 41
11: StackMap locals:
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "MIN"
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 41
14: StackMap locals:
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "MAX"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: 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
16: goto 41
17: StackMap locals:
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "AVG"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
18: 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
19: goto 41
20: StackMap locals:
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "EVERY"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
21: 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
22: goto 41
23: StackMap locals:
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "SOME"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
24: 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
25: goto 41
26: StackMap locals:
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "STDDEV_POP"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
27: 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
28: goto 41
29: StackMap locals:
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "STDDEV_SAMP"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
30: 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
31: goto 41
32: StackMap locals:
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "VAR_POP"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
33: 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
34: goto 41
35: StackMap locals:
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "VAR_SAMP"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
36: 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
37: goto 41
38: StackMap locals:
StackMap stack:
sipush 201
39: ldc "ExpressionAggregate"
40: invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
41: 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 42 0 this Lorg/hsqldb/ExpressionAggregate;
1 42 1 sb Ljava/lang/StringBuilder;
4 42 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.ExpressionAggregate.opType:I
tableswitch { // 74 - 84
74: 8
75: 10
76: 12
77: 14
78: 16
79: 18
80: 20
81: 22
82: 24
83: 26
84: 28
default: 29
}
8: StackMap locals:
StackMap stack:
aload 3
ldc "COUNT"
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 29
10: StackMap locals:
StackMap stack:
aload 3
ldc "SUM"
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 29
12: StackMap locals:
StackMap stack:
aload 3
ldc "MIN"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
13: goto 29
14: StackMap locals:
StackMap stack:
aload 3
ldc "MAX"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: goto 29
16: StackMap locals:
StackMap stack:
aload 3
ldc "AVG"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
17: goto 29
18: StackMap locals:
StackMap stack:
aload 3
ldc "EVERY"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: goto 29
20: StackMap locals:
StackMap stack:
aload 3
ldc "SOME"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
21: goto 29
22: StackMap locals:
StackMap stack:
aload 3
ldc "STDDEV_POP"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
23: goto 29
24: StackMap locals:
StackMap stack:
aload 3
ldc "STDDEV_SAMP"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
25: goto 29
26: StackMap locals:
StackMap stack:
aload 3
ldc "VAR_POP"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
27: goto 29
28: StackMap locals:
StackMap stack:
aload 3
ldc "VAR_SAMP"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
29: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.ExpressionAggregate.getLeftNode:()Lorg/hsqldb/Expression;
ifnull 33
30: aload 3
ldc " arg=["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
31: aload 3
aload 0
getfield org.hsqldb.ExpressionAggregate.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
32: aload 3
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
33: 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 34 0 this Lorg/hsqldb/ExpressionAggregate;
0 34 1 session Lorg/hsqldb/Session;
0 34 2 blanks I
1 34 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.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
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.ExpressionAggregate.rangeGroups:[Lorg/hsqldb/RangeGroup;
10: aload 0
aload 2
putfield org.hsqldb.ExpressionAggregate.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/ExpressionAggregate;
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: iconst_0
istore 3
start local 3 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iload 3
aaload
ifnull 4
3: aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iload 3
aaload
aload 1
aload 0
invokevirtual org.hsqldb.Expression.resolveTypes:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
arraylength
if_icmplt 2
end local 3 6: aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
invokevirtual org.hsqldb.Expression.getDegree:()I
iconst_1
if_icmple 8
7: aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
new org.hsqldb.types.RowType
dup
aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.nodeDataTypes:[Lorg/hsqldb/types/Type;
invokespecial org.hsqldb.types.RowType.<init>:([Lorg/hsqldb/types/Type;)V
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
8: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
invokevirtual org.hsqldb.Expression.isUnresolvedParam:()Z
ifeq 10
9: sipush 5567
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionAggregate.isDistinctAggregate:Z
ifeq 13
11: aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isLobType:()Z
ifeq 13
12: sipush 5534
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
13: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield org.hsqldb.ExpressionAggregate.opType:I
aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokestatic org.hsqldb.ExpressionAggregate.getType:(Lorg/hsqldb/Session;ILorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
putfield org.hsqldb.ExpressionAggregate.dataType:Lorg/hsqldb/types/Type;
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/hsqldb/ExpressionAggregate;
0 15 1 session Lorg/hsqldb/Session;
0 15 2 parent Lorg/hsqldb/Expression;
1 6 3 i I
MethodParameters:
Name Flags
session
parent
static org.hsqldb.types.Type getType(org.hsqldb.Session, int, org.hsqldb.types.Type);
descriptor: (Lorg/hsqldb/Session;ILorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 1
bipush 74
if_icmpne 2
1: getstatic org.hsqldb.types.Type.SQL_BIGINT:Lorg/hsqldb/types/NumberType;
areturn
2: StackMap locals:
StackMap stack:
aload 2
getfield org.hsqldb.types.Type.typeCode:I
istore 3
start local 3 3: aload 2
invokevirtual org.hsqldb.types.Type.isIntervalYearMonthType:()Z
ifeq 6
4: bipush 102
istore 3
5: goto 8
StackMap locals: int
StackMap stack:
6: aload 2
invokevirtual org.hsqldb.types.Type.isIntervalDaySecondType:()Z
ifeq 8
7: bipush 106
istore 3
8: StackMap locals:
StackMap stack:
iload 1
tableswitch { // 75 - 98
75: 20
76: 32
77: 32
78: 9
79: 35
80: 35
81: 37
82: 37
83: 37
84: 37
85: 40
86: 40
87: 40
88: 9
89: 40
90: 40
91: 40
92: 40
93: 40
94: 40
95: 40
96: 40
97: 40
98: 39
default: 40
}
9: StackMap locals:
StackMap stack:
iload 3
lookupswitch { // 14
-6: 10
2: 10
3: 10
4: 10
5: 10
6: 18
7: 18
8: 18
25: 10
91: 18
93: 18
95: 18
102: 18
106: 18
default: 19
}
10: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sqlAvgScale:I
istore 4
start local 4 11: iload 4
aload 2
getfield org.hsqldb.types.Type.scale:I
if_icmpgt 13
12: aload 2
areturn
13: StackMap locals: int
StackMap stack:
aload 2
checkcast org.hsqldb.types.NumberType
invokevirtual org.hsqldb.types.NumberType.getDecimalPrecision:()I
14: istore 5
start local 5 15: iconst_3
16: iload 5
iload 4
iadd
i2l
iload 4
17: invokestatic org.hsqldb.types.NumberType.getNumberType:(IJI)Lorg/hsqldb/types/NumberType;
areturn
end local 5 end local 4 18: StackMap locals:
StackMap stack:
aload 2
areturn
19: StackMap locals:
StackMap stack:
sipush 5563
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
20: StackMap locals:
StackMap stack:
iload 3
lookupswitch { // 11
-6: 21
2: 24
3: 24
4: 21
5: 21
6: 23
7: 23
8: 23
25: 22
102: 28
106: 28
default: 31
}
21: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.Type.SQL_BIGINT:Lorg/hsqldb/types/NumberType;
areturn
22: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.Type.SQL_DECIMAL_BIGINT_SQR:Lorg/hsqldb/types/NumberType;
areturn
23: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.Type.SQL_DOUBLE:Lorg/hsqldb/types/NumberType;
areturn
24: StackMap locals:
StackMap stack:
aload 2
getfield org.hsqldb.types.Type.typeCode:I
aconst_null
aconst_null
25: aload 2
getfield org.hsqldb.types.Type.precision:J
ldc 2
lmul
26: aload 2
getfield org.hsqldb.types.Type.scale:I
27: invokestatic org.hsqldb.types.Type.getType:(ILorg/hsqldb/types/Charset;Lorg/hsqldb/types/Collation;JI)Lorg/hsqldb/types/Type;
areturn
28: StackMap locals:
StackMap stack:
aload 2
getfield org.hsqldb.types.Type.typeCode:I
ldc 9
29: aload 2
getfield org.hsqldb.types.Type.scale:I
30: invokestatic org.hsqldb.types.IntervalType.newIntervalType:(IJI)Lorg/hsqldb/types/IntervalType;
areturn
31: StackMap locals:
StackMap stack:
sipush 5563
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
32: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.types.Type.isArrayType:()Z
ifne 33
aload 2
invokevirtual org.hsqldb.types.Type.isLobType:()Z
ifeq 34
33: StackMap locals:
StackMap stack:
sipush 5563
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
34: StackMap locals:
StackMap stack:
aload 2
areturn
35: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.types.Type.isBooleanType:()Z
ifeq 43
36: getstatic org.hsqldb.types.Type.SQL_BOOLEAN:Lorg/hsqldb/types/BooleanType;
areturn
37: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.types.Type.isNumberType:()Z
ifeq 43
38: getstatic org.hsqldb.types.Type.SQL_DOUBLE:Lorg/hsqldb/types/NumberType;
areturn
39: StackMap locals:
StackMap stack:
aload 2
areturn
40: StackMap locals:
StackMap stack:
sipush 201
41: ldc "ExpressionAggregate"
42: invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
43: StackMap locals:
StackMap stack:
sipush 5563
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 session Lorg/hsqldb/Session;
0 44 1 setType I
0 44 2 dataType Lorg/hsqldb/types/Type;
3 44 3 typeCode I
11 18 4 scale I
15 18 5 digits I
MethodParameters:
Name Flags
session
setType
dataType
boolean equals(org.hsqldb.Expression);
descriptor: (Lorg/hsqldb/Expression;)Z
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.hsqldb.ExpressionAggregate
ifeq 8
1: aload 1
checkcast org.hsqldb.ExpressionAggregate
astore 2
start local 2 2: aload 0
aload 1
invokespecial org.hsqldb.Expression.equals:(Lorg/hsqldb/Expression;)Z
ifeq 5
3: aload 0
getfield org.hsqldb.ExpressionAggregate.isDistinctAggregate:Z
aload 2
getfield org.hsqldb.ExpressionAggregate.isDistinctAggregate:Z
if_icmpne 5
4: iconst_1
goto 6
StackMap locals: org.hsqldb.ExpressionAggregate
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 3
start local 3 7: iload 3
ireturn
end local 3 end local 2 8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/hsqldb/ExpressionAggregate;
0 9 1 other Lorg/hsqldb/Expression;
2 8 2 o Lorg/hsqldb/ExpressionAggregate;
7 8 3 result Z
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=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
aload 1
invokevirtual org.hsqldb.Expression.testCondition:(Lorg/hsqldb/Session;)Z
ifne 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: aload 0
aload 1
invokevirtual org.hsqldb.ExpressionAggregate.getSetFunction:(Lorg/hsqldb/Session;)Lorg/hsqldb/SetFunction;
astore 2
4: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.opType:I
bipush 11
if_icmpne 6
5: getstatic org.hsqldb.map.ValuePool.INTEGER_1:Ljava/lang/Integer;
goto 7
6: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
aload 1
invokevirtual org.hsqldb.Expression.getValue:(Lorg/hsqldb/Session;)Ljava/lang/Object;
7: StackMap locals:
StackMap stack: java.lang.Object
astore 3
start local 3 8: aload 2
aload 3
invokeinterface org.hsqldb.SetFunction.add:(Ljava/lang/Object;)V
9: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/hsqldb/ExpressionAggregate;
0 10 1 session Lorg/hsqldb/Session;
0 10 2 currValue Lorg/hsqldb/SetFunction;
8 10 3 newValue Ljava/lang/Object;
MethodParameters:
Name Flags
session
currValue
org.hsqldb.SetFunction getSetFunction(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)Lorg/hsqldb/SetFunction;
flags: (0x0000)
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: new org.hsqldb.SetFunctionValueAggregate
dup
aload 1
aload 0
getfield org.hsqldb.ExpressionAggregate.opType:I
1: aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
aload 0
getfield org.hsqldb.ExpressionAggregate.dataType:Lorg/hsqldb/types/Type;
2: aload 0
getfield org.hsqldb.ExpressionAggregate.isDistinctAggregate:Z
3: invokespecial org.hsqldb.SetFunctionValueAggregate.<init>:(Lorg/hsqldb/Session;ILorg/hsqldb/types/Type;Lorg/hsqldb/types/Type;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hsqldb/ExpressionAggregate;
0 4 1 session Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
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=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 4
1: aload 0
getfield org.hsqldb.ExpressionAggregate.opType:I
bipush 74
if_icmpne 2
lconst_0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
goto 3
2: StackMap locals:
StackMap stack:
aconst_null
3: StackMap locals:
StackMap stack: java.lang.Long
areturn
4: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.hsqldb.SetFunction.getValue:()Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hsqldb/ExpressionAggregate;
0 5 1 session Lorg/hsqldb/Session;
0 5 2 currValue Lorg/hsqldb/SetFunction;
MethodParameters:
Name Flags
session
currValue
public org.hsqldb.Expression getCondition();
descriptor: ()Lorg/hsqldb/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/ExpressionAggregate;
public boolean hasCondition();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
invokevirtual org.hsqldb.Expression.isTrue:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/ExpressionAggregate;
public void setCondition(org.hsqldb.ExpressionLogical);
descriptor: (Lorg/hsqldb/ExpressionLogical;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hsqldb.ExpressionAggregate.nodes:[Lorg/hsqldb/Expression;
iconst_1
aload 1
aastore
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hsqldb/ExpressionAggregate;
0 2 1 e Lorg/hsqldb/ExpressionLogical;
MethodParameters:
Name Flags
e
}
SourceFile: "ExpressionAggregate.java"