public class org.hsqldb.SetFunctionValueAggregate implements org.hsqldb.SetFunction
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hsqldb.SetFunctionValueAggregate
super_class: java.lang.Object
{
private org.hsqldb.lib.HashSet distinctValues;
descriptor: Lorg/hsqldb/lib/HashSet;
flags: (0x0002) ACC_PRIVATE
private final boolean isDistinct;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hsqldb.Session session;
descriptor: Lorg/hsqldb/Session;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int setType;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int typeCode;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hsqldb.types.Type type;
descriptor: Lorg/hsqldb/types/Type;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hsqldb.types.Type returnType;
descriptor: Lorg/hsqldb/types/Type;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hsqldb.types.TypedComparator comparator;
descriptor: Lorg/hsqldb/types/TypedComparator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long count;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean hasNull;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean every;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean some;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long currentLong;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private double currentDouble;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private java.math.BigDecimal currentBigDecimal;
descriptor: Ljava/math/BigDecimal;
flags: (0x0002) ACC_PRIVATE
private java.lang.Object currentValue;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
static final java.math.BigInteger multiplier;
descriptor: Ljava/math/BigInteger;
flags: (0x0018) ACC_STATIC, ACC_FINAL
long hi;
descriptor: J
flags: (0x0000)
long lo;
descriptor: J
flags: (0x0000)
private double sk;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double vk;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private long n;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean initialized;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean sample;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc 4294967296
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
1: putstatic org.hsqldb.SetFunctionValueAggregate.multiplier:Ljava/math/BigInteger;
2: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.hsqldb.Session, int, org.hsqldb.types.Type, org.hsqldb.types.Type, boolean);
descriptor: (Lorg/hsqldb/Session;ILorg/hsqldb/types/Type;Lorg/hsqldb/types/Type;Z)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield org.hsqldb.SetFunctionValueAggregate.every:Z
2: aload 0
iconst_0
putfield org.hsqldb.SetFunctionValueAggregate.some:Z
3: aload 0
aload 1
putfield org.hsqldb.SetFunctionValueAggregate.session:Lorg/hsqldb/Session;
4: aload 0
iload 2
putfield org.hsqldb.SetFunctionValueAggregate.setType:I
5: aload 0
aload 3
putfield org.hsqldb.SetFunctionValueAggregate.type:Lorg/hsqldb/types/Type;
6: aload 0
aload 4
putfield org.hsqldb.SetFunctionValueAggregate.returnType:Lorg/hsqldb/types/Type;
7: aload 0
iload 5
putfield org.hsqldb.SetFunctionValueAggregate.isDistinct:Z
8: iload 5
ifeq 18
9: aload 0
new org.hsqldb.lib.HashSet
dup
invokespecial org.hsqldb.lib.HashSet.<init>:()V
putfield org.hsqldb.SetFunctionValueAggregate.distinctValues:Lorg/hsqldb/lib/HashSet;
10: aload 3
invokevirtual org.hsqldb.types.Type.isRowType:()Z
ifne 12
aload 3
invokevirtual org.hsqldb.types.Type.isArrayType:()Z
ifne 12
11: aload 3
invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
ifeq 16
12: StackMap locals: org.hsqldb.SetFunctionValueAggregate org.hsqldb.Session int org.hsqldb.types.Type org.hsqldb.types.Type int
StackMap stack:
aload 0
new org.hsqldb.types.TypedComparator
dup
aload 1
invokespecial org.hsqldb.types.TypedComparator.<init>:(Lorg/hsqldb/Session;)V
putfield org.hsqldb.SetFunctionValueAggregate.comparator:Lorg/hsqldb/types/TypedComparator;
13: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.comparator:Lorg/hsqldb/types/TypedComparator;
aload 3
aconst_null
invokevirtual org.hsqldb.types.TypedComparator.setType:(Lorg/hsqldb/types/Type;Lorg/hsqldb/SortAndSlice;)V
14: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.distinctValues:Lorg/hsqldb/lib/HashSet;
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.comparator:Lorg/hsqldb/types/TypedComparator;
invokevirtual org.hsqldb.lib.HashSet.setComparator:(Lorg/hsqldb/lib/ObjectComparator;)V
15: goto 19
16: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.hsqldb.SetFunctionValueAggregate.comparator:Lorg/hsqldb/types/TypedComparator;
17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.hsqldb.SetFunctionValueAggregate.comparator:Lorg/hsqldb/types/TypedComparator;
19: StackMap locals:
StackMap stack:
iload 2
tableswitch { // 82 - 84
82: 20
83: 21
84: 20
default: 21
}
20: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.hsqldb.SetFunctionValueAggregate.sample:Z
21: StackMap locals:
StackMap stack:
aload 3
ifnonnull 24
22: aload 0
iconst_0
putfield org.hsqldb.SetFunctionValueAggregate.typeCode:I
23: goto 31
24: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.hsqldb.types.Type.isIntervalYearMonthType:()Z
ifeq 27
25: aload 0
bipush 102
putfield org.hsqldb.SetFunctionValueAggregate.typeCode:I
26: goto 31
StackMap locals:
StackMap stack:
27: aload 3
invokevirtual org.hsqldb.types.Type.isIntervalDaySecondType:()Z
ifeq 30
28: aload 0
bipush 106
putfield org.hsqldb.SetFunctionValueAggregate.typeCode:I
29: goto 31
30: StackMap locals:
StackMap stack:
aload 0
aload 3
getfield org.hsqldb.types.Type.typeCode:I
putfield org.hsqldb.SetFunctionValueAggregate.typeCode:I
31: 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 32 0 this Lorg/hsqldb/SetFunctionValueAggregate;
0 32 1 session Lorg/hsqldb/Session;
0 32 2 setType I
0 32 3 type Lorg/hsqldb/types/Type;
0 32 4 returnType Lorg/hsqldb/types/Type;
0 32 5 isDistinct Z
MethodParameters:
Name Flags
session
setType
type
returnType
isDistinct
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/SetFunctionValueAggregate;
public void add(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/SetFunctionValueAggregate;
0 1 1 itemLeft Ljava/lang/Object;
0 1 2 itemRight Ljava/lang/Object;
MethodParameters:
Name Flags
itemLeft
itemRight
public void add(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
iconst_1
putfield org.hsqldb.SetFunctionValueAggregate.hasNull:Z
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.isDistinct:Z
ifeq 5
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.distinctValues:Lorg/hsqldb/lib/HashSet;
aload 1
invokevirtual org.hsqldb.lib.HashSet.add:(Ljava/lang/Object;)Z
ifne 5
4: return
5: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.count:J
lconst_1
ladd
putfield org.hsqldb.SetFunctionValueAggregate.count:J
6: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.setType:I
tableswitch { // 74 - 98
74: 7
75: 8
76: 42
77: 48
78: 8
79: 54
80: 60
81: 66
82: 66
83: 66
84: 66
85: 70
86: 70
87: 70
88: 70
89: 70
90: 70
91: 70
92: 70
93: 70
94: 70
95: 70
96: 70
97: 70
98: 68
default: 70
}
7: StackMap locals:
StackMap stack:
return
8: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.typeCode:I
lookupswitch { // 14
-6: 9
2: 34
3: 34
4: 9
5: 9
6: 32
7: 32
8: 32
25: 30
91: 23
93: 23
95: 23
102: 20
106: 11
default: 41
}
9: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
i2l
ladd
putfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
10: return
11: StackMap locals:
StackMap stack:
aload 1
instanceof org.hsqldb.types.IntervalSecondData
ifeq 19
12: aload 0
aload 1
checkcast org.hsqldb.types.IntervalSecondData
invokevirtual org.hsqldb.types.IntervalSecondData.getSeconds:()J
invokevirtual org.hsqldb.SetFunctionValueAggregate.addLong:(J)V
13: aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
14: aload 1
checkcast org.hsqldb.types.IntervalSecondData
invokevirtual org.hsqldb.types.IntervalSecondData.getNanos:()I
i2l
ladd
15: putfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
16: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
ldc 1000000000
lcmp
ifle 19
17: aload 0
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
ldc 1000000000
ldiv
invokevirtual org.hsqldb.SetFunctionValueAggregate.addLong:(J)V
18: aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
ldc 1000000000
lrem
putfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
19: StackMap locals:
StackMap stack:
return
20: StackMap locals:
StackMap stack:
aload 1
instanceof org.hsqldb.types.IntervalMonthData
ifeq 22
21: aload 0
aload 1
checkcast org.hsqldb.types.IntervalMonthData
getfield org.hsqldb.types.IntervalMonthData.units:I
i2l
invokevirtual org.hsqldb.SetFunctionValueAggregate.addLong:(J)V
22: StackMap locals:
StackMap stack:
return
23: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast org.hsqldb.types.TimestampData
invokevirtual org.hsqldb.types.TimestampData.getSeconds:()J
invokevirtual org.hsqldb.SetFunctionValueAggregate.addLong:(J)V
24: aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
aload 1
checkcast org.hsqldb.types.TimestampData
invokevirtual org.hsqldb.types.TimestampData.getNanos:()I
i2l
ladd
putfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
25: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
ldc 1000000000
lcmp
ifle 28
26: aload 0
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
ldc 1000000000
ldiv
invokevirtual org.hsqldb.SetFunctionValueAggregate.addLong:(J)V
27: aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
ldc 1000000000
lrem
putfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
28: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast org.hsqldb.types.TimestampData
invokevirtual org.hsqldb.types.TimestampData.getZone:()I
i2d
putfield org.hsqldb.SetFunctionValueAggregate.currentDouble:D
29: return
30: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
invokevirtual org.hsqldb.SetFunctionValueAggregate.addLong:(J)V
31: return
32: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.currentDouble:D
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dadd
putfield org.hsqldb.SetFunctionValueAggregate.currentDouble:D
33: return
34: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentBigDecimal:Ljava/math/BigDecimal;
ifnonnull 37
35: aload 0
aload 1
checkcast java.math.BigDecimal
putfield org.hsqldb.SetFunctionValueAggregate.currentBigDecimal:Ljava/math/BigDecimal;
36: goto 40
37: StackMap locals:
StackMap stack:
aload 0
38: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentBigDecimal:Ljava/math/BigDecimal;
aload 1
checkcast java.math.BigDecimal
invokevirtual java.math.BigDecimal.add:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
39: putfield org.hsqldb.SetFunctionValueAggregate.currentBigDecimal:Ljava/math/BigDecimal;
40: StackMap locals:
StackMap stack:
return
41: StackMap locals:
StackMap stack:
sipush 5563
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
42: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentValue:Ljava/lang/Object;
ifnonnull 45
43: aload 0
aload 1
putfield org.hsqldb.SetFunctionValueAggregate.currentValue:Ljava/lang/Object;
44: return
45: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.type:Lorg/hsqldb/types/Type;
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.session:Lorg/hsqldb/Session;
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentValue:Ljava/lang/Object;
aload 1
invokevirtual org.hsqldb.types.Type.compare:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)I
ifle 47
46: aload 0
aload 1
putfield org.hsqldb.SetFunctionValueAggregate.currentValue:Ljava/lang/Object;
47: StackMap locals:
StackMap stack:
return
48: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentValue:Ljava/lang/Object;
ifnonnull 51
49: aload 0
aload 1
putfield org.hsqldb.SetFunctionValueAggregate.currentValue:Ljava/lang/Object;
50: return
51: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.type:Lorg/hsqldb/types/Type;
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.session:Lorg/hsqldb/Session;
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentValue:Ljava/lang/Object;
aload 1
invokevirtual org.hsqldb.types.Type.compare:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)I
ifge 53
52: aload 0
aload 1
putfield org.hsqldb.SetFunctionValueAggregate.currentValue:Ljava/lang/Object;
53: StackMap locals:
StackMap stack:
return
54: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Boolean
ifne 56
55: sipush 5563
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
56: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.every:Z
ifeq 57
aload 1
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 57
iconst_1
goto 58
StackMap locals:
StackMap stack: org.hsqldb.SetFunctionValueAggregate
57: iconst_0
StackMap locals: org.hsqldb.SetFunctionValueAggregate java.lang.Object
StackMap stack: org.hsqldb.SetFunctionValueAggregate int
58: putfield org.hsqldb.SetFunctionValueAggregate.every:Z
59: return
60: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Boolean
ifne 62
61: sipush 5563
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
62: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.some:Z
ifne 63
aload 1
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 63
iconst_0
goto 64
StackMap locals:
StackMap stack: org.hsqldb.SetFunctionValueAggregate
63: iconst_1
StackMap locals: org.hsqldb.SetFunctionValueAggregate java.lang.Object
StackMap stack: org.hsqldb.SetFunctionValueAggregate int
64: putfield org.hsqldb.SetFunctionValueAggregate.some:Z
65: return
66: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast java.lang.Number
invokevirtual org.hsqldb.SetFunctionValueAggregate.addDataPoint:(Ljava/lang/Number;)V
67: return
68: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.hsqldb.SetFunctionValueAggregate.currentValue:Ljava/lang/Object;
69: return
70: StackMap locals:
StackMap stack:
sipush 201
ldc "SetFunction"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 71 0 this Lorg/hsqldb/SetFunctionValueAggregate;
0 71 1 item Ljava/lang/Object;
MethodParameters:
Name Flags
item
public java.lang.Object getValue();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.hasNull:Z
ifeq 2
1: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.session:Lorg/hsqldb/Session;
sipush 1003
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
invokevirtual org.hsqldb.Session.addWarning:(Lorg/hsqldb/HsqlException;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.setType:I
bipush 74
if_icmpne 12
3: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.count:J
lconst_1
lcmp
ifle 11
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.isDistinct:Z
ifeq 11
4: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.type:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isRowType:()Z
ifne 6
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.type:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isArrayType:()Z
ifne 6
5: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.type:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
ifeq 11
6: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.distinctValues:Lorg/hsqldb/lib/HashSet;
invokevirtual org.hsqldb.lib.HashSet.toArray:()[Ljava/lang/Object;
astore 1
start local 1 7: aload 1
aload 1
arraylength
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.comparator:Lorg/hsqldb/types/TypedComparator;
invokestatic org.hsqldb.lib.ArraySort.sort:([Ljava/lang/Object;ILjava/util/Comparator;)V
8: aload 0
aload 1
aload 1
arraylength
9: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.comparator:Lorg/hsqldb/types/TypedComparator;
10: invokestatic org.hsqldb.lib.ArraySort.deDuplicate:([Ljava/lang/Object;ILjava/util/Comparator;)I
i2l
putfield org.hsqldb.SetFunctionValueAggregate.count:J
end local 1 11: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.count:J
invokestatic org.hsqldb.map.ValuePool.getLong:(J)Ljava/lang/Long;
areturn
12: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.count:J
lconst_0
lcmp
ifne 14
13: aconst_null
areturn
14: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.setType:I
tableswitch { // 75 - 98
75: 67
76: 86
77: 86
78: 15
79: 87
80: 90
81: 93
82: 93
83: 94
84: 94
85: 96
86: 96
87: 96
88: 96
89: 96
90: 96
91: 96
92: 96
93: 96
94: 96
95: 96
96: 96
97: 96
98: 95
default: 96
}
15: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.typeCode:I
lookupswitch { // 14
-6: 16
2: 29
3: 29
4: 16
5: 16
6: 28
7: 28
8: 28
25: 22
91: 56
93: 56
95: 56
102: 37
106: 37
default: 64
}
16: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.returnType:Lorg/hsqldb/types/Type;
getfield org.hsqldb.types.Type.scale:I
ifeq 21
17: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.returnType:Lorg/hsqldb/types/Type;
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.session:Lorg/hsqldb/Session;
18: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
19: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.count:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
20: invokevirtual org.hsqldb.types.Type.divide:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
21: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.count:J
ldiv
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
22: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.SetFunctionValueAggregate.getLongSum:()Ljava/math/BigInteger;
23: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.count:J
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
24: invokevirtual java.math.BigInteger.divide:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
25: invokevirtual java.math.BigInteger.longValue:()J
26: lstore 1
start local 1 27: lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 1 28: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentDouble:D
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.count:J
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
29: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.returnType:Lorg/hsqldb/types/Type;
getfield org.hsqldb.types.Type.scale:I
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.type:Lorg/hsqldb/types/Type;
getfield org.hsqldb.types.Type.scale:I
if_icmpne 33
30: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentBigDecimal:Ljava/math/BigDecimal;
31: new java.math.BigDecimal
dup
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.count:J
invokespecial java.math.BigDecimal.<init>:(J)V
getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
32: invokevirtual java.math.BigDecimal.divide:(Ljava/math/BigDecimal;Ljava/math/RoundingMode;)Ljava/math/BigDecimal;
areturn
33: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.returnType:Lorg/hsqldb/types/Type;
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.session:Lorg/hsqldb/Session;
34: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentBigDecimal:Ljava/math/BigDecimal;
35: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.count:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
36: invokevirtual org.hsqldb.types.Type.divide:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
37: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.SetFunctionValueAggregate.getLongSum:()Ljava/math/BigInteger;
38: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.count:J
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
39: invokevirtual java.math.BigInteger.divideAndRemainder:(Ljava/math/BigInteger;)[Ljava/math/BigInteger;
astore 1
start local 1 40: aload 1
iconst_0
aaload
invokestatic org.hsqldb.types.NumberType.compareToLongLimits:(Ljava/math/BigInteger;)I
ifeq 42
41: sipush 3435
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
42: StackMap locals: java.math.BigInteger[]
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.type:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isIntervalDaySecondType:()Z
ifeq 54
43: aload 1
iconst_1
aaload
invokevirtual java.math.BigInteger.longValue:()J
ldc 1000000000
lmul
44: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
45: ladd
46: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.count:J
47: ldiv
48: lstore 2
start local 2 49: new org.hsqldb.types.IntervalSecondData
dup
aload 1
iconst_0
aaload
invokevirtual java.math.BigInteger.longValue:()J
50: lload 2
51: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.type:Lorg/hsqldb/types/Type;
checkcast org.hsqldb.types.IntervalType
52: iconst_1
53: invokespecial org.hsqldb.types.IntervalSecondData.<init>:(JJLorg/hsqldb/types/IntervalType;Z)V
areturn
end local 2 54: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
invokevirtual java.math.BigInteger.longValue:()J
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.type:Lorg/hsqldb/types/Type;
checkcast org.hsqldb.types.IntervalType
55: invokestatic org.hsqldb.types.IntervalMonthData.newIntervalMonth:(JLorg/hsqldb/types/IntervalType;)Lorg/hsqldb/types/IntervalMonthData;
areturn
end local 1 56: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.SetFunctionValueAggregate.getLongSum:()Ljava/math/BigInteger;
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.count:J
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.divide:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
57: astore 1
start local 1 58: aload 1
invokestatic org.hsqldb.types.NumberType.compareToLongLimits:(Ljava/math/BigInteger;)I
ifeq 60
59: sipush 3435
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
60: StackMap locals: java.math.BigInteger
StackMap stack:
new org.hsqldb.types.TimestampData
dup
aload 1
invokevirtual java.math.BigInteger.longValue:()J
61: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
l2i
62: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentDouble:D
d2i
63: invokespecial org.hsqldb.types.TimestampData.<init>:(JII)V
areturn
end local 1 64: StackMap locals:
StackMap stack:
sipush 201
65: ldc "SetFunction"
66: invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
67: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.typeCode:I
lookupswitch { // 11
-6: 68
2: 71
3: 71
4: 68
5: 68
6: 70
7: 70
8: 70
25: 69
102: 72
106: 72
default: 83
}
68: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
69: StackMap locals:
StackMap stack:
new java.math.BigDecimal
dup
aload 0
invokevirtual org.hsqldb.SetFunctionValueAggregate.getLongSum:()Ljava/math/BigInteger;
invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;)V
areturn
70: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentDouble:D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
71: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentBigDecimal:Ljava/math/BigDecimal;
areturn
72: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.SetFunctionValueAggregate.getLongSum:()Ljava/math/BigInteger;
astore 1
start local 1 73: aload 1
invokestatic org.hsqldb.types.NumberType.compareToLongLimits:(Ljava/math/BigInteger;)I
ifeq 75
74: sipush 3435
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
75: StackMap locals: java.math.BigInteger
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.type:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isIntervalDaySecondType:()Z
ifeq 81
76: new org.hsqldb.types.IntervalSecondData
dup
aload 1
invokevirtual java.math.BigInteger.longValue:()J
77: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentLong:J
78: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.type:Lorg/hsqldb/types/Type;
checkcast org.hsqldb.types.IntervalType
79: iconst_1
80: invokespecial org.hsqldb.types.IntervalSecondData.<init>:(JJLorg/hsqldb/types/IntervalType;Z)V
areturn
81: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.math.BigInteger.longValue:()J
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.type:Lorg/hsqldb/types/Type;
checkcast org.hsqldb.types.IntervalType
82: invokestatic org.hsqldb.types.IntervalMonthData.newIntervalMonth:(JLorg/hsqldb/types/IntervalType;)Lorg/hsqldb/types/IntervalMonthData;
areturn
end local 1 83: StackMap locals:
StackMap stack:
sipush 201
84: ldc "SetFunction"
85: invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
86: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentValue:Ljava/lang/Object;
areturn
87: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.every:Z
ifeq 88
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
goto 89
88: StackMap locals:
StackMap stack:
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
89: StackMap locals:
StackMap stack: java.lang.Boolean
areturn
90: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.some:Z
ifeq 91
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
goto 92
91: StackMap locals:
StackMap stack:
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
92: StackMap locals:
StackMap stack: java.lang.Boolean
areturn
93: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.SetFunctionValueAggregate.getStdDev:()Ljava/lang/Double;
areturn
94: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.SetFunctionValueAggregate.getVariance:()Ljava/lang/Double;
areturn
95: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.currentValue:Ljava/lang/Object;
areturn
96: StackMap locals:
StackMap stack:
sipush 201
ldc "SetFunction"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 97 0 this Lorg/hsqldb/SetFunctionValueAggregate;
7 11 1 array [Ljava/lang/Object;
27 28 1 value J
40 56 1 bi [Ljava/math/BigInteger;
49 54 2 nanos J
58 64 1 bi Ljava/math/BigInteger;
73 83 1 bi Ljava/math/BigInteger;
private void addLong(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifeq 11
1: lload 1
lconst_0
lcmp
ifle 5
2: aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.hi:J
lload 1
bipush 32
lshr
ladd
putfield org.hsqldb.SetFunctionValueAggregate.hi:J
3: aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.lo:J
lload 1
ldc 4294967295
land
ladd
putfield org.hsqldb.SetFunctionValueAggregate.lo:J
4: goto 11
5: StackMap locals:
StackMap stack:
lload 1
ldc -9223372036854775808
lcmp
ifne 8
6: aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.hi:J
ldc 2147483648
lsub
putfield org.hsqldb.SetFunctionValueAggregate.hi:J
7: goto 11
8: StackMap locals:
StackMap stack:
lload 1
ldc -1
lxor
lconst_1
ladd
lstore 3
start local 3 9: aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.hi:J
lload 3
bipush 32
lshr
lsub
putfield org.hsqldb.SetFunctionValueAggregate.hi:J
10: aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.lo:J
lload 3
ldc 4294967295
land
lsub
putfield org.hsqldb.SetFunctionValueAggregate.lo:J
end local 3 11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/hsqldb/SetFunctionValueAggregate;
0 12 1 value J
9 11 3 temp J
MethodParameters:
Name Flags
value
private java.math.BigInteger getLongSum();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.lo:J
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
astore 1
start local 1 1: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.hi:J
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
astore 2
start local 2 2: aload 2
getstatic org.hsqldb.SetFunctionValueAggregate.multiplier:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
aload 1
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 3
start local 3 3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hsqldb/SetFunctionValueAggregate;
1 4 1 biglo Ljava/math/BigInteger;
2 4 2 bighi Ljava/math/BigInteger;
3 4 3 result Ljava/math/BigInteger;
private void addDataPoint(java.lang.Number);
descriptor: (Ljava/lang/Number;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Number.doubleValue:()D
dstore 2
start local 2 3: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.initialized:Z
ifne 9
4: aload 0
lconst_1
putfield org.hsqldb.SetFunctionValueAggregate.n:J
5: aload 0
dload 2
putfield org.hsqldb.SetFunctionValueAggregate.sk:D
6: aload 0
dconst_0
putfield org.hsqldb.SetFunctionValueAggregate.vk:D
7: aload 0
iconst_1
putfield org.hsqldb.SetFunctionValueAggregate.initialized:Z
8: return
9: StackMap locals: double
StackMap stack:
aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.n:J
lconst_1
ladd
putfield org.hsqldb.SetFunctionValueAggregate.n:J
10: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.n:J
lconst_1
lsub
lstore 6
start local 6 11: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.sk:D
dload 2
lload 6
l2d
dmul
dsub
dstore 4
start local 4 12: aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.vk:D
dload 4
dload 4
dmul
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.n:J
l2d
ddiv
lload 6
l2d
ddiv
dadd
putfield org.hsqldb.SetFunctionValueAggregate.vk:D
13: aload 0
dup
getfield org.hsqldb.SetFunctionValueAggregate.sk:D
dload 2
dadd
putfield org.hsqldb.SetFunctionValueAggregate.sk:D
14: return
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/hsqldb/SetFunctionValueAggregate;
0 15 1 x Ljava/lang/Number;
3 15 2 xi D
12 15 4 xsi D
11 15 6 nm1 J
MethodParameters:
Name Flags
x
private java.lang.Double getVariance();
descriptor: ()Ljava/lang/Double;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.initialized:Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.sample:Z
ifeq 4
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.n:J
lconst_1
lcmp
ifne 3
aconst_null
goto 5
3: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.vk:D
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.n:J
lconst_1
lsub
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
goto 5
4: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.vk:D
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.n:J
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
5: StackMap locals:
StackMap stack: java.lang.Double
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hsqldb/SetFunctionValueAggregate;
private java.lang.Double getStdDev();
descriptor: ()Ljava/lang/Double;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.initialized:Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.sample:Z
ifeq 7
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.n:J
lconst_1
lcmp
ifne 3
aconst_null
goto 8
3: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.vk:D
4: aload 0
getfield org.hsqldb.SetFunctionValueAggregate.n:J
lconst_1
lsub
l2d
5: ddiv
invokestatic java.lang.Math.sqrt:(D)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.vk:D
aload 0
getfield org.hsqldb.SetFunctionValueAggregate.n:J
l2d
ddiv
invokestatic java.lang.Math.sqrt:(D)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
8: StackMap locals:
StackMap stack: java.lang.Double
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/hsqldb/SetFunctionValueAggregate;
}
SourceFile: "SetFunctionValueAggregate.java"