public class org.h2.expression.aggregate.Aggregate extends org.h2.expression.aggregate.AbstractAggregate
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.expression.aggregate.Aggregate
super_class: org.h2.expression.aggregate.AbstractAggregate
{
private static final java.util.HashMap<java.lang.String, org.h2.expression.aggregate.AggregateType> AGGREGATES;
descriptor: Ljava/util/HashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;>;
private final org.h2.expression.aggregate.AggregateType aggregateType;
descriptor: Lorg/h2/expression/aggregate/AggregateType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.ArrayList<org.h2.command.dml.SelectOrderBy> orderByList;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lorg/h2/command/dml/SelectOrderBy;>;
private org.h2.result.SortOrder orderBySort;
descriptor: Lorg/h2/result/SortOrder;
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$org$h2$expression$aggregate$AggregateType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.HashMap
dup
bipush 64
invokespecial java.util.HashMap.<init>:(I)V
putstatic org.h2.expression.aggregate.Aggregate.AGGREGATES:Ljava/util/HashMap;
1: ldc "COUNT"
getstatic org.h2.expression.aggregate.AggregateType.COUNT:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
2: ldc "SUM"
getstatic org.h2.expression.aggregate.AggregateType.SUM:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
3: ldc "MIN"
getstatic org.h2.expression.aggregate.AggregateType.MIN:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
4: ldc "MAX"
getstatic org.h2.expression.aggregate.AggregateType.MAX:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
5: ldc "AVG"
getstatic org.h2.expression.aggregate.AggregateType.AVG:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
6: ldc "LISTAGG"
getstatic org.h2.expression.aggregate.AggregateType.LISTAGG:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
7: ldc "GROUP_CONCAT"
getstatic org.h2.expression.aggregate.AggregateType.LISTAGG:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
8: ldc "STRING_AGG"
getstatic org.h2.expression.aggregate.AggregateType.LISTAGG:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
9: ldc "STDDEV_SAMP"
getstatic org.h2.expression.aggregate.AggregateType.STDDEV_SAMP:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
10: ldc "STDDEV"
getstatic org.h2.expression.aggregate.AggregateType.STDDEV_SAMP:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
11: ldc "STDDEV_POP"
getstatic org.h2.expression.aggregate.AggregateType.STDDEV_POP:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
12: ldc "STDDEVP"
getstatic org.h2.expression.aggregate.AggregateType.STDDEV_POP:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
13: ldc "VAR_POP"
getstatic org.h2.expression.aggregate.AggregateType.VAR_POP:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
14: ldc "VARP"
getstatic org.h2.expression.aggregate.AggregateType.VAR_POP:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
15: ldc "VAR_SAMP"
getstatic org.h2.expression.aggregate.AggregateType.VAR_SAMP:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
16: ldc "VAR"
getstatic org.h2.expression.aggregate.AggregateType.VAR_SAMP:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
17: ldc "VARIANCE"
getstatic org.h2.expression.aggregate.AggregateType.VAR_SAMP:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
18: ldc "ANY"
getstatic org.h2.expression.aggregate.AggregateType.ANY:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
19: ldc "SOME"
getstatic org.h2.expression.aggregate.AggregateType.ANY:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
20: ldc "BOOL_OR"
getstatic org.h2.expression.aggregate.AggregateType.ANY:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
21: ldc "EVERY"
getstatic org.h2.expression.aggregate.AggregateType.EVERY:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
22: ldc "BOOL_AND"
getstatic org.h2.expression.aggregate.AggregateType.EVERY:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
23: ldc "SELECTIVITY"
getstatic org.h2.expression.aggregate.AggregateType.SELECTIVITY:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
24: ldc "HISTOGRAM"
getstatic org.h2.expression.aggregate.AggregateType.HISTOGRAM:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
25: ldc "BIT_OR"
getstatic org.h2.expression.aggregate.AggregateType.BIT_OR:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
26: ldc "BIT_AND"
getstatic org.h2.expression.aggregate.AggregateType.BIT_AND:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
27: ldc "RANK"
getstatic org.h2.expression.aggregate.AggregateType.RANK:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
28: ldc "DENSE_RANK"
getstatic org.h2.expression.aggregate.AggregateType.DENSE_RANK:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
29: ldc "PERCENT_RANK"
getstatic org.h2.expression.aggregate.AggregateType.PERCENT_RANK:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
30: ldc "CUME_DIST"
getstatic org.h2.expression.aggregate.AggregateType.CUME_DIST:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
31: ldc "PERCENTILE_CONT"
getstatic org.h2.expression.aggregate.AggregateType.PERCENTILE_CONT:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
32: ldc "PERCENTILE_DISC"
getstatic org.h2.expression.aggregate.AggregateType.PERCENTILE_DISC:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
33: ldc "MEDIAN"
getstatic org.h2.expression.aggregate.AggregateType.MEDIAN:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
34: ldc "ARRAY_AGG"
getstatic org.h2.expression.aggregate.AggregateType.ARRAY_AGG:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
35: ldc "MODE"
getstatic org.h2.expression.aggregate.AggregateType.MODE:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
36: ldc "STATS_MODE"
getstatic org.h2.expression.aggregate.AggregateType.MODE:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
37: ldc "ENVELOPE"
getstatic org.h2.expression.aggregate.AggregateType.ENVELOPE:Lorg/h2/expression/aggregate/AggregateType;
invokestatic org.h2.expression.aggregate.Aggregate.addAggregate:(Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
38: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.h2.expression.aggregate.AggregateType, org.h2.expression.Expression[], org.h2.command.dml.Select, boolean);
descriptor: (Lorg/h2/expression/aggregate/AggregateType;[Lorg/h2/expression/Expression;Lorg/h2/command/dml/Select;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 3
aload 2
iload 4
invokespecial org.h2.expression.aggregate.AbstractAggregate.<init>:(Lorg/h2/command/dml/Select;[Lorg/h2/expression/Expression;Z)V
1: iload 4
ifeq 3
aload 1
getstatic org.h2.expression.aggregate.AggregateType.COUNT_ALL:Lorg/h2/expression/aggregate/AggregateType;
if_acmpne 3
2: invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
athrow
3: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.expression.aggregate.AggregateType org.h2.expression.Expression[] org.h2.command.dml.Select int
StackMap stack:
aload 0
aload 1
putfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/expression/aggregate/Aggregate;
0 5 1 aggregateType Lorg/h2/expression/aggregate/AggregateType;
0 5 2 args [Lorg/h2/expression/Expression;
0 5 3 select Lorg/h2/command/dml/Select;
0 5 4 distinct Z
MethodParameters:
Name Flags
aggregateType
args
select
distinct
private static void addAggregate(java.lang.String, org.h2.expression.aggregate.AggregateType);
descriptor: (Ljava/lang/String;Lorg/h2/expression/aggregate/AggregateType;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.h2.expression.aggregate.Aggregate.AGGREGATES:Ljava/util/HashMap;
aload 0
aload 1
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
0 2 1 type Lorg/h2/expression/aggregate/AggregateType;
MethodParameters:
Name Flags
name
type
public static org.h2.expression.aggregate.AggregateType getAggregateType(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/h2/expression/aggregate/AggregateType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.h2.expression.aggregate.Aggregate.AGGREGATES:Ljava/util/HashMap;
aload 0
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.h2.expression.aggregate.AggregateType
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public void setOrderByList(java.util.ArrayList<org.h2.command.dml.SelectOrderBy>);
descriptor: (Ljava/util/ArrayList;)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.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/expression/aggregate/Aggregate;
0 2 1 orderByList Ljava/util/ArrayList<Lorg/h2/command/dml/SelectOrderBy;>;
Signature: (Ljava/util/ArrayList<Lorg/h2/command/dml/SelectOrderBy;>;)V
MethodParameters:
Name Flags
orderByList
public org.h2.expression.aggregate.AggregateType getAggregateType();
descriptor: ()Lorg/h2/expression/aggregate/AggregateType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/expression/aggregate/Aggregate;
private void sortWithOrderBy(org.h2.value.Value[]);
descriptor: ([Lorg/h2/value/Value;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderBySort:Lorg/h2/result/SortOrder;
astore 2
start local 2 1: aload 2
ifnull 4
2: aload 1
new org.h2.expression.aggregate.Aggregate$1
dup
aload 0
aload 2
invokespecial org.h2.expression.aggregate.Aggregate$1.<init>:(Lorg/h2/expression/aggregate/Aggregate;Lorg/h2/result/SortOrder;)V
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
3: goto 5
4: StackMap locals: org.h2.result.SortOrder
StackMap stack:
aload 1
aload 0
getfield org.h2.expression.aggregate.Aggregate.select:Lorg/h2/command/dml/Select;
invokevirtual org.h2.command.dml.Select.getSession:()Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
invokevirtual org.h2.engine.Database.getCompareMode:()Lorg/h2/value/CompareMode;
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/expression/aggregate/Aggregate;
0 6 1 array [Lorg/h2/value/Value;
1 6 2 sortOrder Lorg/h2/result/SortOrder;
MethodParameters:
Name Flags
array
protected void updateAggregate(org.h2.engine.Session, java.lang.Object);
descriptor: (Lorg/h2/engine/Session;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
checkcast org.h2.expression.aggregate.AggregateData
astore 3
start local 3 1: aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
arraylength
ifne 2
aconst_null
goto 3
StackMap locals: org.h2.expression.aggregate.AggregateData
StackMap stack:
2: aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iconst_0
aaload
aload 1
invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
StackMap locals:
StackMap stack: org.h2.value.Value
3: astore 4
start local 4 4: aload 0
aload 1
aload 3
aload 4
aconst_null
invokevirtual org.h2.expression.aggregate.Aggregate.updateData:(Lorg/h2/engine/Session;Lorg/h2/expression/aggregate/AggregateData;Lorg/h2/value/Value;[Lorg/h2/value/Value;)V
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/expression/aggregate/Aggregate;
0 6 1 session Lorg/h2/engine/Session;
0 6 2 aggregateData Ljava/lang/Object;
1 6 3 data Lorg/h2/expression/aggregate/AggregateData;
4 6 4 v Lorg/h2/value/Value;
MethodParameters:
Name Flags
session
aggregateData
private void updateData(org.h2.engine.Session, org.h2.expression.aggregate.AggregateData, org.h2.value.Value, org.h2.value.Value[]);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/expression/aggregate/AggregateData;Lorg/h2/value/Value;[Lorg/h2/value/Value;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic org.h2.expression.aggregate.Aggregate.$SWITCH_TABLE$org$h2$expression$aggregate$AggregateType:()[I
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
iaload
tableswitch { // 17 - 26
17: 12
18: 12
19: 12
20: 12
21: 32
22: 32
23: 40
24: 1
25: 9
26: 37
default: 40
}
1: StackMap locals:
StackMap stack:
aload 3
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpeq 3
2: aload 0
aload 1
aload 3
bipush 13
invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
aload 4
invokevirtual org.h2.expression.aggregate.Aggregate.updateCollecting:(Lorg/h2/engine/Session;Lorg/h2/value/Value;[Lorg/h2/value/Value;)Lorg/h2/value/Value;
astore 3
3: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
arraylength
iconst_2
if_icmplt 40
4: aload 2
checkcast org.h2.expression.aggregate.AggregateDataCollecting
5: aload 4
ifnull 6
aload 4
iconst_1
aaload
goto 7
StackMap locals:
StackMap stack: org.h2.expression.aggregate.AggregateDataCollecting
6: aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iconst_1
aaload
aload 1
invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
7: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData org.h2.value.Value org.h2.value.Value[]
StackMap stack: org.h2.expression.aggregate.AggregateDataCollecting org.h2.value.Value
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.setSharedArgument:(Lorg/h2/value/Value;)V
8: goto 40
9: StackMap locals:
StackMap stack:
aload 3
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpeq 40
10: aload 0
aload 1
aload 3
aload 4
invokevirtual org.h2.expression.aggregate.Aggregate.updateCollecting:(Lorg/h2/engine/Session;Lorg/h2/value/Value;[Lorg/h2/value/Value;)Lorg/h2/value/Value;
astore 3
11: goto 40
12: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
arraylength
istore 5
start local 5 13: iload 5
anewarray org.h2.value.Value
astore 6
start local 6 14: iconst_0
istore 7
start local 7 15: goto 20
16: StackMap locals: int org.h2.value.Value[] int
StackMap stack:
aload 6
iload 7
aload 4
ifnull 17
aload 4
iload 7
aaload
goto 18
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData org.h2.value.Value org.h2.value.Value[] int org.h2.value.Value[] int
StackMap stack: org.h2.value.Value[] int
17: aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iload 7
aaload
aload 1
invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData org.h2.value.Value org.h2.value.Value[] int org.h2.value.Value[] int
StackMap stack: org.h2.value.Value[] int org.h2.value.Value
18: aastore
19: iinc 7 1
StackMap locals:
StackMap stack:
20: iload 7
iload 5
if_icmplt 16
end local 7 21: aload 2
checkcast org.h2.expression.aggregate.AggregateDataCollecting
aload 6
invokestatic org.h2.value.ValueRow.get:([Lorg/h2/value/Value;)Lorg/h2/value/ValueRow;
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.setSharedArgument:(Lorg/h2/value/Value;)V
22: iload 5
anewarray org.h2.value.Value
astore 6
23: iconst_0
istore 7
start local 7 24: goto 29
25: StackMap locals:
StackMap stack:
aload 6
iload 7
aload 4
ifnull 26
aload 4
iload 5
iload 7
iadd
aaload
goto 27
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData org.h2.value.Value org.h2.value.Value[] int org.h2.value.Value[] int
StackMap stack: org.h2.value.Value[] int
26: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
iload 7
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
aload 1
invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData org.h2.value.Value org.h2.value.Value[] int org.h2.value.Value[] int
StackMap stack: org.h2.value.Value[] int org.h2.value.Value
27: aastore
28: iinc 7 1
StackMap locals:
StackMap stack:
29: iload 7
iload 5
if_icmplt 25
end local 7 30: aload 6
invokestatic org.h2.value.ValueRow.get:([Lorg/h2/value/Value;)Lorg/h2/value/ValueRow;
astore 3
31: goto 40
end local 6 end local 5 32: StackMap locals:
StackMap stack:
aload 2
checkcast org.h2.expression.aggregate.AggregateDataCollecting
aload 3
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.setSharedArgument:(Lorg/h2/value/Value;)V
33: aload 4
ifnull 34
aload 4
iconst_1
aaload
goto 35
StackMap locals:
StackMap stack:
34: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
aload 1
invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
StackMap locals:
StackMap stack: org.h2.value.Value
35: astore 3
36: goto 40
37: StackMap locals:
StackMap stack:
aload 4
ifnull 38
aload 4
iconst_0
aaload
goto 39
StackMap locals:
StackMap stack:
38: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
aload 1
invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
StackMap locals:
StackMap stack: org.h2.value.Value
39: astore 3
40: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
aload 3
invokevirtual org.h2.expression.aggregate.AggregateData.add:(Lorg/h2/engine/Database;Lorg/h2/value/Value;)V
41: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lorg/h2/expression/aggregate/Aggregate;
0 42 1 session Lorg/h2/engine/Session;
0 42 2 data Lorg/h2/expression/aggregate/AggregateData;
0 42 3 v Lorg/h2/value/Value;
0 42 4 remembered [Lorg/h2/value/Value;
13 32 5 count I
14 32 6 a [Lorg/h2/value/Value;
15 21 7 i I
24 30 7 i I
MethodParameters:
Name Flags
session
data
v
remembered
protected void updateGroupAggregates(org.h2.engine.Session, int);
descriptor: (Lorg/h2/engine/Session;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokespecial org.h2.expression.aggregate.AbstractAggregate.updateGroupAggregates:(Lorg/h2/engine/Session;I)V
1: aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session int top int int org.h2.expression.Expression[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 3
aload 1
iload 2
invokevirtual org.h2.expression.Expression.updateAggregate:(Lorg/h2/engine/Session;I)V
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnull 11
7: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session int top java.util.Iterator
StackMap stack:
8: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
astore 3
start local 3 9: aload 3
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
aload 1
iload 2
invokevirtual org.h2.expression.Expression.updateAggregate:(Lorg/h2/engine/Session;I)V
end local 3 10: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/h2/expression/aggregate/Aggregate;
0 12 1 session Lorg/h2/engine/Session;
0 12 2 stage I
3 4 3 arg Lorg/h2/expression/Expression;
9 10 3 orderBy Lorg/h2/command/dml/SelectOrderBy;
MethodParameters:
Name Flags
session
stage
private org.h2.value.Value updateCollecting(org.h2.engine.Session, org.h2.value.Value, org.h2.value.Value[]);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/value/Value;[Lorg/h2/value/Value;)Lorg/h2/value/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnull 14
1: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 4
start local 4 2: iconst_1
iload 4
iadd
anewarray org.h2.value.Value
astore 5
start local 5 3: aload 5
iconst_0
aload 2
aastore
4: aload 3
ifnonnull 12
5: iconst_0
istore 6
start local 6 6: goto 10
7: StackMap locals: int org.h2.value.Value[] int
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
iload 6
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
astore 7
start local 7 8: aload 5
iload 6
iconst_1
iadd
aload 7
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
aload 1
invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
aastore
end local 7 9: iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
iload 4
if_icmplt 7
end local 6 11: goto 13
12: StackMap locals:
StackMap stack:
aload 3
iconst_1
aload 5
iconst_1
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: StackMap locals:
StackMap stack:
aload 5
invokestatic org.h2.value.ValueArray.get:([Lorg/h2/value/Value;)Lorg/h2/value/ValueArray;
astore 2
end local 5 end local 4 14: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/h2/expression/aggregate/Aggregate;
0 15 1 session Lorg/h2/engine/Session;
0 15 2 v Lorg/h2/value/Value;
0 15 3 remembered [Lorg/h2/value/Value;
2 14 4 size I
3 14 5 array [Lorg/h2/value/Value;
6 11 6 i I
8 9 7 o Lorg/h2/command/dml/SelectOrderBy;
MethodParameters:
Name Flags
session
v
remembered
protected int getNumExpressions();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
arraylength
istore 1
start local 1 1: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnull 3
2: iload 1
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iadd
istore 1
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.filterCondition:Lorg/h2/expression/Expression;
ifnull 5
4: iinc 1 1
5: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/expression/aggregate/Aggregate;
1 6 1 n I
protected void rememberExpressions(org.h2.engine.Session, org.h2.value.Value[]);
descriptor: (Lorg/h2/engine/Session;[Lorg/h2/value/Value;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 5
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.value.Value[] int top int int org.h2.expression.Expression[]
StackMap stack:
2: aload 7
iload 5
aaload
astore 4
start local 4 3: aload 2
iload 3
iinc 3 1
aload 4
aload 1
invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
aastore
end local 4 4: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
iload 6
if_icmplt 2
6: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnull 11
7: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.value.Value[] int top java.util.Iterator
StackMap stack:
8: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
astore 4
start local 4 9: aload 2
iload 3
iinc 3 1
aload 4
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
aload 1
invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
aastore
end local 4 10: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.value.Value[] int
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.filterCondition:Lorg/h2/expression/Expression;
ifnull 13
12: aload 2
iload 3
aload 0
getfield org.h2.expression.aggregate.Aggregate.filterCondition:Lorg/h2/expression/Expression;
aload 1
invokevirtual org.h2.expression.Expression.getBooleanValue:(Lorg/h2/engine/Session;)Z
invokestatic org.h2.value.ValueBoolean.get:(Z)Lorg/h2/value/ValueBoolean;
aastore
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/h2/expression/aggregate/Aggregate;
0 14 1 session Lorg/h2/engine/Session;
0 14 2 array [Lorg/h2/value/Value;
1 14 3 offset I
3 4 4 arg Lorg/h2/expression/Expression;
9 10 4 o Lorg/h2/command/dml/SelectOrderBy;
MethodParameters:
Name Flags
session
array
protected void updateFromExpressions(org.h2.engine.Session, java.lang.Object, org.h2.value.Value[]);
descriptor: (Lorg/h2/engine/Session;Ljava/lang/Object;[Lorg/h2/value/Value;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.h2.expression.aggregate.Aggregate.filterCondition:Lorg/h2/expression/Expression;
ifnull 1
aload 3
aload 0
invokevirtual org.h2.expression.aggregate.Aggregate.getNumExpressions:()I
iconst_1
isub
aaload
invokevirtual org.h2.value.Value.getBoolean:()Z
ifeq 6
1: StackMap locals:
StackMap stack:
aload 2
checkcast org.h2.expression.aggregate.AggregateData
astore 4
start local 4 2: aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
arraylength
ifne 3
aconst_null
goto 4
StackMap locals: org.h2.expression.aggregate.AggregateData
StackMap stack:
3: aload 3
iconst_0
aaload
StackMap locals:
StackMap stack: org.h2.value.Value
4: astore 5
start local 5 5: aload 0
aload 1
aload 4
aload 5
aload 3
invokevirtual org.h2.expression.aggregate.Aggregate.updateData:(Lorg/h2/engine/Session;Lorg/h2/expression/aggregate/AggregateData;Lorg/h2/value/Value;[Lorg/h2/value/Value;)V
end local 5 end local 4 6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/expression/aggregate/Aggregate;
0 7 1 session Lorg/h2/engine/Session;
0 7 2 aggregateData Ljava/lang/Object;
0 7 3 array [Lorg/h2/value/Value;
2 6 4 data Lorg/h2/expression/aggregate/AggregateData;
5 6 5 v Lorg/h2/value/Value;
MethodParameters:
Name Flags
session
aggregateData
array
protected java.lang.Object createAggregateData();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
aload 0
getfield org.h2.expression.aggregate.Aggregate.distinct:Z
aload 0
getfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
invokestatic org.h2.expression.aggregate.AggregateData.create:(Lorg/h2/expression/aggregate/AggregateType;ZI)Lorg/h2/expression/aggregate/AggregateData;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/expression/aggregate/Aggregate;
public org.h2.value.Value getValue(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)Lorg/h2/value/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.expression.aggregate.Aggregate.select:Lorg/h2/command/dml/Select;
invokevirtual org.h2.command.dml.Select.isQuickAggregateQuery:()Z
ifeq 1
aload 0
aload 1
invokevirtual org.h2.expression.aggregate.Aggregate.getValueQuick:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
aload 1
invokespecial org.h2.expression.aggregate.AbstractAggregate.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
StackMap locals:
StackMap stack: org.h2.value.Value
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/expression/aggregate/Aggregate;
0 3 1 session Lorg/h2/engine/Session;
MethodParameters:
Name Flags
session
private org.h2.value.Value getValueQuick(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)Lorg/h2/value/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=2
start local 0 start local 1 0: invokestatic org.h2.expression.aggregate.Aggregate.$SWITCH_TABLE$org$h2$expression$aggregate$AggregateType:()[I
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
iaload
lookupswitch { // 8
1: 1
2: 1
4: 3
5: 3
21: 19
22: 19
23: 33
27: 34
default: 35
}
1: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.select:Lorg/h2/command/dml/Select;
invokevirtual org.h2.command.dml.Select.getTopTableFilter:()Lorg/h2/table/TableFilter;
invokevirtual org.h2.table.TableFilter.getTable:()Lorg/h2/table/Table;
astore 2
start local 2 2: aload 2
aload 1
invokevirtual org.h2.table.Table.getRowCount:(Lorg/h2/engine/Session;)J
invokestatic org.h2.value.ValueLong.get:(J)Lorg/h2/value/ValueLong;
areturn
end local 2 3: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
getstatic org.h2.expression.aggregate.AggregateType.MIN:Lorg/h2/expression/aggregate/AggregateType;
if_acmpne 4
iconst_1
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: aload 0
invokevirtual org.h2.expression.aggregate.Aggregate.getMinMaxColumnIndex:()Lorg/h2/index/Index;
astore 4
start local 4 7: aload 4
invokeinterface org.h2.index.Index.getIndexColumns:()[Lorg/h2/table/IndexColumn;
iconst_0
aaload
getfield org.h2.table.IndexColumn.sortType:I
istore 5
start local 5 8: iload 5
iconst_1
iand
ifeq 12
9: iload 3
ifeq 10
iconst_0
goto 11
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session top int org.h2.index.Index int
StackMap stack:
10: iconst_1
StackMap locals:
StackMap stack: int
11: istore 3
12: StackMap locals:
StackMap stack:
aload 4
aload 1
iload 3
invokeinterface org.h2.index.Index.findFirstOrLast:(Lorg/h2/engine/Session;Z)Lorg/h2/index/Cursor;
astore 6
start local 6 13: aload 6
invokeinterface org.h2.index.Cursor.getSearchRow:()Lorg/h2/result/SearchRow;
astore 7
start local 7 14: aload 7
ifnonnull 17
15: getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
astore 8
start local 8 16: goto 18
end local 8 17: StackMap locals: org.h2.index.Cursor org.h2.result.SearchRow
StackMap stack:
aload 7
aload 4
invokeinterface org.h2.index.Index.getColumns:()[Lorg/h2/table/Column;
iconst_0
aaload
invokevirtual org.h2.table.Column.getColumnId:()I
invokeinterface org.h2.result.SearchRow.getValue:(I)Lorg/h2/value/Value;
astore 8
start local 8 18: StackMap locals: org.h2.value.Value
StackMap stack:
aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 19: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iconst_0
aaload
aload 1
invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
astore 3
start local 3 20: aload 3
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 22
21: getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
areturn
22: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session top org.h2.value.Value
StackMap stack:
aload 3
invokevirtual org.h2.value.Value.getBigDecimal:()Ljava/math/BigDecimal;
astore 4
start local 4 23: aload 4
invokevirtual java.math.BigDecimal.signum:()I
iflt 28
aload 4
getstatic java.math.BigDecimal.ONE:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ifgt 28
24: aload 1
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
aload 0
getfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
25: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
aload 4
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
getstatic org.h2.expression.aggregate.AggregateType.PERCENTILE_CONT:Lorg/h2/expression/aggregate/AggregateType;
if_acmpne 26
iconst_1
goto 27
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session top org.h2.value.Value java.math.BigDecimal
StackMap stack: org.h2.engine.Session org.h2.expression.Expression int java.util.ArrayList java.math.BigDecimal
26: iconst_0
27: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session top org.h2.value.Value java.math.BigDecimal
StackMap stack: org.h2.engine.Session org.h2.expression.Expression int java.util.ArrayList java.math.BigDecimal int
invokestatic org.h2.expression.aggregate.Percentile.getFromIndex:(Lorg/h2/engine/Session;Lorg/h2/expression/Expression;ILjava/util/ArrayList;Ljava/math/BigDecimal;Z)Lorg/h2/value/Value;
areturn
28: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
getstatic org.h2.expression.aggregate.AggregateType.PERCENTILE_CONT:Lorg/h2/expression/aggregate/AggregateType;
if_acmpne 30
29: ldc "PERCENTILE_CONT argument"
goto 31
StackMap locals:
StackMap stack:
30: ldc "PERCENTILE_DISC argument"
StackMap locals:
StackMap stack: java.lang.String
31: aload 4
32: invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
athrow
end local 4 end local 3 33: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session
StackMap stack:
aload 1
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iconst_0
aaload
aload 0
getfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
getstatic org.h2.expression.aggregate.Percentile.HALF:Ljava/math/BigDecimal;
iconst_1
invokestatic org.h2.expression.aggregate.Percentile.getFromIndex:(Lorg/h2/engine/Session;Lorg/h2/expression/Expression;ILjava/util/ArrayList;Ljava/math/BigDecimal;Z)Lorg/h2/value/Value;
areturn
34: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iconst_0
aaload
invokestatic org.h2.expression.aggregate.AggregateDataEnvelope.getGeometryColumnIndex:(Lorg/h2/expression/Expression;)Lorg/h2/index/Index;
checkcast org.h2.mvstore.db.MVSpatialIndex
aload 1
invokevirtual org.h2.mvstore.db.MVSpatialIndex.getBounds:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
areturn
35: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "type="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/h2/expression/aggregate/Aggregate;
0 36 1 session Lorg/h2/engine/Session;
2 3 2 table Lorg/h2/table/Table;
6 19 3 first Z
7 19 4 index Lorg/h2/index/Index;
8 19 5 sortType I
13 19 6 cursor Lorg/h2/index/Cursor;
14 19 7 row Lorg/h2/result/SearchRow;
16 17 8 v Lorg/h2/value/Value;
18 19 8 v Lorg/h2/value/Value;
20 33 3 v Lorg/h2/value/Value;
23 33 4 arg Ljava/math/BigDecimal;
MethodParameters:
Name Flags
session
public org.h2.value.Value getAggregatedValue(org.h2.engine.Session, java.lang.Object);
descriptor: (Lorg/h2/engine/Session;Ljava/lang/Object;)Lorg/h2/value/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
checkcast org.h2.expression.aggregate.AggregateData
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aload 0
invokevirtual org.h2.expression.aggregate.Aggregate.createAggregateData:()Ljava/lang/Object;
checkcast org.h2.expression.aggregate.AggregateData
astore 3
3: StackMap locals: org.h2.expression.aggregate.AggregateData
StackMap stack:
invokestatic org.h2.expression.aggregate.Aggregate.$SWITCH_TABLE$org$h2$expression$aggregate$AggregateType:()[I
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
iaload
tableswitch { // 2 - 26
2: 4
3: 6
4: 58
5: 58
6: 6
7: 6
8: 6
9: 6
10: 6
11: 58
12: 58
13: 58
14: 58
15: 58
16: 18
17: 32
18: 32
19: 32
20: 32
21: 33
22: 33
23: 51
24: 19
25: 20
26: 57
default: 58
}
4: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.distinct:Z
ifeq 58
5: aload 3
checkcast org.h2.expression.aggregate.AggregateDataCollecting
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.getCount:()I
i2l
invokestatic org.h2.value.ValueLong.get:(J)Lorg/h2/value/ValueLong;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.distinct:Z
ifeq 58
7: aload 3
checkcast org.h2.expression.aggregate.AggregateDataCollecting
astore 4
start local 4 8: aload 4
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.getCount:()I
ifne 10
9: getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
areturn
10: StackMap locals: org.h2.expression.aggregate.AggregateDataCollecting
StackMap stack:
new org.h2.expression.aggregate.AggregateDataDefault
dup
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
aload 0
getfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
invokespecial org.h2.expression.aggregate.AggregateDataDefault.<init>:(Lorg/h2/expression/aggregate/AggregateType;I)V
astore 5
start local 5 11: aload 1
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
astore 6
start local 6 12: aload 0
getfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
istore 7
start local 7 13: aload 4
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.iterator:()Ljava/util/Iterator;
astore 9
goto 16
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session java.lang.Object org.h2.expression.aggregate.AggregateData org.h2.expression.aggregate.AggregateDataCollecting org.h2.expression.aggregate.AggregateDataDefault org.h2.engine.Database int top java.util.Iterator
StackMap stack:
14: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.value.Value
astore 8
start local 8 15: aload 5
aload 6
aload 8
invokevirtual org.h2.expression.aggregate.AggregateDataDefault.add:(Lorg/h2/engine/Database;Lorg/h2/value/Value;)V
end local 8 16: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
17: aload 5
aload 6
iload 7
invokevirtual org.h2.expression.aggregate.AggregateDataDefault.getValue:(Lorg/h2/engine/Database;I)Lorg/h2/value/Value;
areturn
end local 7 end local 6 end local 5 end local 4 18: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session java.lang.Object org.h2.expression.aggregate.AggregateData
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.h2.expression.aggregate.Aggregate.getHistogram:(Lorg/h2/engine/Session;Lorg/h2/expression/aggregate/AggregateData;)Lorg/h2/value/Value;
areturn
19: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.h2.expression.aggregate.Aggregate.getListagg:(Lorg/h2/engine/Session;Lorg/h2/expression/aggregate/AggregateData;)Lorg/h2/value/Value;
areturn
20: StackMap locals:
StackMap stack:
aload 3
checkcast org.h2.expression.aggregate.AggregateDataCollecting
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.getArray:()[Lorg/h2/value/Value;
astore 4
start local 4 21: aload 4
ifnonnull 23
22: getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
areturn
23: StackMap locals: org.h2.value.Value[]
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnonnull 24
aload 0
getfield org.h2.expression.aggregate.Aggregate.distinct:Z
ifeq 25
24: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual org.h2.expression.aggregate.Aggregate.sortWithOrderBy:([Lorg/h2/value/Value;)V
25: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnull 31
26: iconst_0
istore 5
start local 5 27: goto 30
28: StackMap locals: int
StackMap stack:
aload 4
iload 5
aload 4
iload 5
aaload
checkcast org.h2.value.ValueArray
invokevirtual org.h2.value.ValueArray.getList:()[Lorg/h2/value/Value;
iconst_0
aaload
aastore
29: iinc 5 1
StackMap locals:
StackMap stack:
30: iload 5
aload 4
arraylength
if_icmplt 28
end local 5 31: StackMap locals:
StackMap stack:
aload 4
invokestatic org.h2.value.ValueArray.get:([Lorg/h2/value/Value;)Lorg/h2/value/ValueArray;
areturn
end local 4 32: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.h2.expression.aggregate.Aggregate.getHypotheticalSet:(Lorg/h2/engine/Session;Lorg/h2/expression/aggregate/AggregateData;)Lorg/h2/value/Value;
areturn
33: StackMap locals:
StackMap stack:
aload 3
checkcast org.h2.expression.aggregate.AggregateDataCollecting
astore 4
start local 4 34: aload 4
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.getArray:()[Lorg/h2/value/Value;
astore 5
start local 5 35: aload 5
ifnonnull 37
36: getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
areturn
37: StackMap locals: org.h2.expression.aggregate.AggregateDataCollecting org.h2.value.Value[]
StackMap stack:
aload 4
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.getSharedArgument:()Lorg/h2/value/Value;
astore 6
start local 6 38: aload 6
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 40
39: getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
areturn
40: StackMap locals: org.h2.value.Value
StackMap stack:
aload 6
invokevirtual org.h2.value.Value.getBigDecimal:()Ljava/math/BigDecimal;
astore 7
start local 7 41: aload 7
invokevirtual java.math.BigDecimal.signum:()I
iflt 46
aload 7
getstatic java.math.BigDecimal.ONE:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ifgt 46
42: aload 1
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
aload 5
aload 0
getfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
aload 7
43: aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
getstatic org.h2.expression.aggregate.AggregateType.PERCENTILE_CONT:Lorg/h2/expression/aggregate/AggregateType;
if_acmpne 44
iconst_1
goto 45
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session java.lang.Object org.h2.expression.aggregate.AggregateData org.h2.expression.aggregate.AggregateDataCollecting org.h2.value.Value[] org.h2.value.Value java.math.BigDecimal
StackMap stack: org.h2.engine.Database org.h2.value.Value[] int java.util.ArrayList java.math.BigDecimal
44: iconst_0
45: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session java.lang.Object org.h2.expression.aggregate.AggregateData org.h2.expression.aggregate.AggregateDataCollecting org.h2.value.Value[] org.h2.value.Value java.math.BigDecimal
StackMap stack: org.h2.engine.Database org.h2.value.Value[] int java.util.ArrayList java.math.BigDecimal int
invokestatic org.h2.expression.aggregate.Percentile.getValue:(Lorg/h2/engine/Database;[Lorg/h2/value/Value;ILjava/util/ArrayList;Ljava/math/BigDecimal;Z)Lorg/h2/value/Value;
areturn
46: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
getstatic org.h2.expression.aggregate.AggregateType.PERCENTILE_CONT:Lorg/h2/expression/aggregate/AggregateType;
if_acmpne 48
47: ldc "PERCENTILE_CONT argument"
goto 49
StackMap locals:
StackMap stack:
48: ldc "PERCENTILE_DISC argument"
StackMap locals:
StackMap stack: java.lang.String
49: aload 7
50: invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
athrow
end local 7 end local 6 end local 5 end local 4 51: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session java.lang.Object org.h2.expression.aggregate.AggregateData
StackMap stack:
aload 3
checkcast org.h2.expression.aggregate.AggregateDataCollecting
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.getArray:()[Lorg/h2/value/Value;
astore 4
start local 4 52: aload 4
ifnonnull 54
53: getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
areturn
54: StackMap locals: org.h2.value.Value[]
StackMap stack:
aload 1
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
aload 4
aload 0
getfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
getstatic org.h2.expression.aggregate.Percentile.HALF:Ljava/math/BigDecimal;
55: iconst_1
56: invokestatic org.h2.expression.aggregate.Percentile.getValue:(Lorg/h2/engine/Database;[Lorg/h2/value/Value;ILjava/util/ArrayList;Ljava/math/BigDecimal;Z)Lorg/h2/value/Value;
areturn
end local 4 57: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.h2.expression.aggregate.Aggregate.getMode:(Lorg/h2/engine/Session;Lorg/h2/expression/aggregate/AggregateData;)Lorg/h2/value/Value;
areturn
58: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
aload 0
getfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
invokevirtual org.h2.expression.aggregate.AggregateData.getValue:(Lorg/h2/engine/Database;I)Lorg/h2/value/Value;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 59 0 this Lorg/h2/expression/aggregate/Aggregate;
0 59 1 session Lorg/h2/engine/Session;
0 59 2 aggregateData Ljava/lang/Object;
1 59 3 data Lorg/h2/expression/aggregate/AggregateData;
8 18 4 c Lorg/h2/expression/aggregate/AggregateDataCollecting;
11 18 5 d Lorg/h2/expression/aggregate/AggregateDataDefault;
12 18 6 db Lorg/h2/engine/Database;
13 18 7 dataType I
15 16 8 v Lorg/h2/value/Value;
21 32 4 array [Lorg/h2/value/Value;
27 31 5 i I
34 51 4 collectingData Lorg/h2/expression/aggregate/AggregateDataCollecting;
35 51 5 array [Lorg/h2/value/Value;
38 51 6 v Lorg/h2/value/Value;
41 51 7 arg Ljava/math/BigDecimal;
52 57 4 array [Lorg/h2/value/Value;
MethodParameters:
Name Flags
session
aggregateData
private org.h2.value.Value getHypotheticalSet(org.h2.engine.Session, org.h2.expression.aggregate.AggregateData);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/expression/aggregate/AggregateData;)Lorg/h2/value/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
checkcast org.h2.expression.aggregate.AggregateDataCollecting
astore 3
start local 3 1: aload 3
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.getSharedArgument:()Lorg/h2/value/Value;
astore 4
start local 4 2: aload 4
ifnonnull 8
3: invokestatic org.h2.expression.aggregate.Aggregate.$SWITCH_TABLE$org$h2$expression$aggregate$AggregateType:()[I
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
iaload
tableswitch { // 17 - 20
17: 4
18: 4
19: 5
20: 6
default: 7
}
4: StackMap locals: org.h2.expression.aggregate.AggregateDataCollecting org.h2.value.Value
StackMap stack:
iconst_1
invokestatic org.h2.value.ValueInt.get:(I)Lorg/h2/value/ValueInt;
areturn
5: StackMap locals:
StackMap stack:
getstatic org.h2.value.ValueDouble.ZERO:Lorg/h2/value/ValueDouble;
areturn
6: StackMap locals:
StackMap stack:
getstatic org.h2.value.ValueDouble.ONE:Lorg/h2/value/ValueDouble;
areturn
7: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "aggregateType="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
8: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
aload 4
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.add:(Lorg/h2/engine/Database;Lorg/h2/value/Value;)V
9: aload 3
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.getArray:()[Lorg/h2/value/Value;
astore 5
start local 5 10: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderBySort:Lorg/h2/result/SortOrder;
invokevirtual org.h2.result.SortOrder.getRowValueComparator:()Ljava/util/Comparator;
astore 6
start local 6 11: aload 5
aload 6
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
12: aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
getstatic org.h2.expression.aggregate.AggregateType.CUME_DIST:Lorg/h2/expression/aggregate/AggregateType;
if_acmpne 13
aload 5
aload 4
aload 6
invokestatic org.h2.expression.aggregate.Aggregate.getCumeDist:([Lorg/h2/value/Value;Lorg/h2/value/Value;Ljava/util/Comparator;)Lorg/h2/value/Value;
goto 14
StackMap locals: org.h2.value.Value[] java.util.Comparator
StackMap stack:
13: aload 0
aload 5
aload 4
aload 6
invokevirtual org.h2.expression.aggregate.Aggregate.getRank:([Lorg/h2/value/Value;Lorg/h2/value/Value;Ljava/util/Comparator;)Lorg/h2/value/Value;
StackMap locals:
StackMap stack: org.h2.value.Value
14: areturn
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 15 0 this Lorg/h2/expression/aggregate/Aggregate;
0 15 1 session Lorg/h2/engine/Session;
0 15 2 data Lorg/h2/expression/aggregate/AggregateData;
1 15 3 collectingData Lorg/h2/expression/aggregate/AggregateDataCollecting;
2 15 4 arg Lorg/h2/value/Value;
10 15 5 array [Lorg/h2/value/Value;
11 15 6 sort Ljava/util/Comparator<Lorg/h2/value/Value;>;
MethodParameters:
Name Flags
session
data
private org.h2.value.Value getRank(org.h2.value.Value[], org.h2.value.Value, java.util.Comparator<org.h2.value.Value>);
descriptor: ([Lorg/h2/value/Value;Lorg/h2/value/Value;Ljava/util/Comparator;)Lorg/h2/value/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
arraylength
istore 4
start local 4 1: iconst_0
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 23
4: StackMap locals: int int int
StackMap stack:
aload 1
iload 6
aaload
astore 7
start local 7 5: iload 6
ifne 8
6: iconst_1
istore 5
7: goto 13
StackMap locals: org.h2.value.Value
StackMap stack:
8: aload 3
aload 1
iload 6
iconst_1
isub
aaload
aload 7
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifeq 13
9: aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
getstatic org.h2.expression.aggregate.AggregateType.DENSE_RANK:Lorg/h2/expression/aggregate/AggregateType;
if_acmpne 12
10: iinc 5 1
11: goto 13
12: StackMap locals:
StackMap stack:
iload 6
iconst_1
iadd
istore 5
13: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
getstatic org.h2.expression.aggregate.AggregateType.PERCENT_RANK:Lorg/h2/expression/aggregate/AggregateType;
if_acmpne 19
14: iload 5
iconst_1
isub
istore 9
start local 9 15: iload 9
ifne 16
getstatic org.h2.value.ValueDouble.ZERO:Lorg/h2/value/ValueDouble;
goto 17
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.value.Value[] org.h2.value.Value java.util.Comparator int int int org.h2.value.Value top int
StackMap stack:
16: iload 9
i2d
iload 4
iconst_1
isub
i2d
ddiv
invokestatic org.h2.value.ValueDouble.get:(D)Lorg/h2/value/ValueDouble;
StackMap locals:
StackMap stack: org.h2.value.ValueDouble
17: astore 8
end local 9 start local 8 18: goto 20
end local 8 19: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.value.Value[] org.h2.value.Value java.util.Comparator int int int org.h2.value.Value
StackMap stack:
iload 5
i2l
invokestatic org.h2.value.ValueLong.get:(J)Lorg/h2/value/ValueLong;
astore 8
start local 8 20: StackMap locals: org.h2.value.Value
StackMap stack:
aload 3
aload 7
aload 2
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifne 22
21: aload 8
areturn
end local 8 end local 7 22: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
23: iload 6
iload 4
if_icmplt 4
end local 6 24: invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/h2/expression/aggregate/Aggregate;
0 25 1 ordered [Lorg/h2/value/Value;
0 25 2 arg Lorg/h2/value/Value;
0 25 3 sort Ljava/util/Comparator<Lorg/h2/value/Value;>;
1 25 4 size I
2 25 5 number I
3 24 6 i I
5 22 7 row Lorg/h2/value/Value;
18 19 8 v Lorg/h2/value/Value;
20 22 8 v Lorg/h2/value/Value;
15 18 9 nm I
Signature: ([Lorg/h2/value/Value;Lorg/h2/value/Value;Ljava/util/Comparator<Lorg/h2/value/Value;>;)Lorg/h2/value/Value;
MethodParameters:
Name Flags
ordered
arg
sort
private static org.h2.value.Value getCumeDist(org.h2.value.Value[], org.h2.value.Value, java.util.Comparator<org.h2.value.Value>);
descriptor: ([Lorg/h2/value/Value;Lorg/h2/value/Value;Ljava/util/Comparator;)Lorg/h2/value/Value;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 16
3: StackMap locals: int int
StackMap stack:
aload 0
iload 4
aaload
astore 5
start local 5 4: iload 4
iconst_1
iadd
istore 6
start local 6 5: goto 7
6: StackMap locals: org.h2.value.Value int
StackMap stack:
iinc 6 1
7: StackMap locals:
StackMap stack:
iload 6
iload 3
if_icmpge 8
aload 2
aload 5
aload 0
iload 6
aaload
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifeq 6
8: StackMap locals:
StackMap stack:
iload 6
i2d
iload 3
i2d
ddiv
invokestatic org.h2.value.ValueDouble.get:(D)Lorg/h2/value/ValueDouble;
astore 7
start local 7 9: iload 4
istore 8
start local 8 10: goto 14
11: StackMap locals: org.h2.value.ValueDouble int
StackMap stack:
aload 2
aload 0
iload 8
aaload
aload 1
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifne 13
12: aload 7
areturn
13: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
14: iload 8
iload 6
if_icmplt 11
end local 8 15: iload 6
istore 4
end local 7 end local 6 end local 5 16: StackMap locals: org.h2.value.Value[] org.h2.value.Value java.util.Comparator int int
StackMap stack:
iload 4
iload 3
if_icmplt 3
end local 4 17: invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 ordered [Lorg/h2/value/Value;
0 18 1 arg Lorg/h2/value/Value;
0 18 2 sort Ljava/util/Comparator<Lorg/h2/value/Value;>;
1 18 3 size I
2 17 4 start I
4 16 5 array Lorg/h2/value/Value;
5 16 6 end I
9 16 7 v Lorg/h2/value/ValueDouble;
10 15 8 i I
Signature: ([Lorg/h2/value/Value;Lorg/h2/value/Value;Ljava/util/Comparator<Lorg/h2/value/Value;>;)Lorg/h2/value/Value;
MethodParameters:
Name Flags
ordered
arg
sort
private org.h2.value.Value getListagg(org.h2.engine.Session, org.h2.expression.aggregate.AggregateData);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/expression/aggregate/AggregateData;)Lorg/h2/value/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 2
checkcast org.h2.expression.aggregate.AggregateDataCollecting
astore 3
start local 3 1: aload 3
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.getArray:()[Lorg/h2/value/Value;
astore 4
start local 4 2: aload 4
ifnonnull 4
3: getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
areturn
4: StackMap locals: org.h2.expression.aggregate.AggregateDataCollecting org.h2.value.Value[]
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnonnull 5
aload 0
getfield org.h2.expression.aggregate.Aggregate.distinct:Z
ifeq 6
5: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual org.h2.expression.aggregate.Aggregate.sortWithOrderBy:([Lorg/h2/value/Value;)V
6: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 7: aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
arraylength
iconst_2
if_icmpge 8
ldc ","
goto 9
StackMap locals: java.lang.StringBuilder
StackMap stack:
8: aload 3
invokevirtual org.h2.expression.aggregate.AggregateDataCollecting.getSharedArgument:()Lorg/h2/value/Value;
invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
9: astore 6
start local 6 10: iconst_0
istore 7
start local 7 11: aload 4
arraylength
istore 8
start local 8 12: goto 22
13: StackMap locals: java.lang.String int int
StackMap stack:
aload 4
iload 7
aaload
astore 9
start local 9 14: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnull 17
15: aload 9
checkcast org.h2.value.ValueArray
invokevirtual org.h2.value.ValueArray.getList:()[Lorg/h2/value/Value;
iconst_0
aaload
invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
astore 10
start local 10 16: goto 18
end local 10 17: StackMap locals: org.h2.value.Value
StackMap stack:
aload 9
invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
astore 10
start local 10 18: StackMap locals: java.lang.String
StackMap stack:
aload 6
ifnull 20
iload 7
ifle 20
19: aload 5
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: StackMap locals:
StackMap stack:
aload 5
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 10 end local 9 21: iinc 7 1
StackMap locals:
StackMap stack:
22: iload 7
iload 8
if_icmplt 13
end local 8 end local 7 23: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.value.ValueString.get:(Ljava/lang/String;)Lorg/h2/value/Value;
areturn
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 24 0 this Lorg/h2/expression/aggregate/Aggregate;
0 24 1 session Lorg/h2/engine/Session;
0 24 2 data Lorg/h2/expression/aggregate/AggregateData;
1 24 3 collectingData Lorg/h2/expression/aggregate/AggregateDataCollecting;
2 24 4 array [Lorg/h2/value/Value;
7 24 5 builder Ljava/lang/StringBuilder;
10 24 6 sep Ljava/lang/String;
11 23 7 i I
12 23 8 length I
14 21 9 val Lorg/h2/value/Value;
16 17 10 s Ljava/lang/String;
18 21 10 s Ljava/lang/String;
MethodParameters:
Name Flags
session
data
private org.h2.value.Value getHistogram(org.h2.engine.Session, org.h2.expression.aggregate.AggregateData);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/expression/aggregate/AggregateData;)Lorg/h2/value/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
checkcast org.h2.expression.aggregate.AggregateDataDistinctWithCounts
invokevirtual org.h2.expression.aggregate.AggregateDataDistinctWithCounts.getValues:()Ljava/util/TreeMap;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: invokestatic org.h2.value.ValueArray.getEmpty:()Lorg/h2/value/ValueArray;
areturn
3: StackMap locals: java.util.TreeMap
StackMap stack:
aload 3
invokevirtual java.util.TreeMap.size:()I
anewarray org.h2.value.ValueArray
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: aload 3
invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 12
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData java.util.TreeMap org.h2.value.ValueArray[] int top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 7: aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.h2.expression.aggregate.LongDataCounter
astore 8
start local 8 8: aload 4
iload 5
iconst_2
anewarray org.h2.value.Value
dup
iconst_0
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.h2.value.Value
aastore
dup
iconst_1
aload 0
getfield org.h2.expression.aggregate.Aggregate.distinct:Z
ifeq 9
lconst_1
goto 10
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData java.util.TreeMap org.h2.value.ValueArray[] int java.util.Map$Entry java.util.Iterator org.h2.expression.aggregate.LongDataCounter
StackMap stack: org.h2.value.ValueArray[] int org.h2.value.Value[] org.h2.value.Value[] int
9: aload 8
getfield org.h2.expression.aggregate.LongDataCounter.count:J
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData java.util.TreeMap org.h2.value.ValueArray[] int java.util.Map$Entry java.util.Iterator org.h2.expression.aggregate.LongDataCounter
StackMap stack: org.h2.value.ValueArray[] int org.h2.value.Value[] org.h2.value.Value[] int long
10: invokestatic org.h2.value.ValueLong.get:(J)Lorg/h2/value/ValueLong;
aastore
invokestatic org.h2.value.ValueArray.get:([Lorg/h2/value/Value;)Lorg/h2/value/ValueArray;
aastore
11: iinc 5 1
end local 8 end local 6 12: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData java.util.TreeMap org.h2.value.ValueArray[] int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
13: aload 1
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
astore 6
start local 6 14: aload 6
invokevirtual org.h2.engine.Database.getMode:()Lorg/h2/engine/Mode;
astore 7
start local 7 15: aload 6
invokevirtual org.h2.engine.Database.getCompareMode:()Lorg/h2/value/CompareMode;
astore 8
start local 8 16: aload 4
new org.h2.expression.aggregate.Aggregate$2
dup
aload 0
aload 7
aload 8
invokespecial org.h2.expression.aggregate.Aggregate$2.<init>:(Lorg/h2/expression/aggregate/Aggregate;Lorg/h2/engine/Mode;Lorg/h2/value/CompareMode;)V
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
17: aload 4
invokestatic org.h2.value.ValueArray.get:([Lorg/h2/value/Value;)Lorg/h2/value/ValueArray;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/h2/expression/aggregate/Aggregate;
0 18 1 session Lorg/h2/engine/Session;
0 18 2 data Lorg/h2/expression/aggregate/AggregateData;
1 18 3 distinctValues Ljava/util/TreeMap<Lorg/h2/value/Value;Lorg/h2/expression/aggregate/LongDataCounter;>;
4 18 4 values [Lorg/h2/value/ValueArray;
5 18 5 i I
7 12 6 entry Ljava/util/Map$Entry<Lorg/h2/value/Value;Lorg/h2/expression/aggregate/LongDataCounter;>;
8 12 8 d Lorg/h2/expression/aggregate/LongDataCounter;
14 18 6 db Lorg/h2/engine/Database;
15 18 7 mode Lorg/h2/engine/Mode;
16 18 8 compareMode Lorg/h2/value/CompareMode;
MethodParameters:
Name Flags
session
data
private org.h2.value.Value getMode(org.h2.engine.Session, org.h2.expression.aggregate.AggregateData);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/expression/aggregate/AggregateData;)Lorg/h2/value/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=14, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
astore 3
start local 3 1: aload 2
checkcast org.h2.expression.aggregate.AggregateDataDistinctWithCounts
invokevirtual org.h2.expression.aggregate.AggregateDataDistinctWithCounts.getValues:()Ljava/util/TreeMap;
astore 4
start local 4 2: aload 4
ifnonnull 4
3: aload 3
areturn
4: StackMap locals: org.h2.value.Value java.util.TreeMap
StackMap stack:
lconst_0
lstore 5
start local 5 5: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnull 27
6: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
getfield org.h2.command.dml.SelectOrderBy.sortType:I
iconst_1
iand
ifeq 7
iconst_1
goto 8
StackMap locals: long
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 7
start local 7 9: aload 4
invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 25
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData org.h2.value.Value java.util.TreeMap long int top java.util.Iterator
StackMap stack:
10: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 8
start local 8 11: aload 8
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.h2.expression.aggregate.LongDataCounter
getfield org.h2.expression.aggregate.LongDataCounter.count:J
lstore 10
start local 10 12: lload 10
lload 5
lcmp
ifle 16
13: aload 8
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.h2.value.Value
astore 3
14: lload 10
lstore 5
15: goto 25
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData org.h2.value.Value java.util.TreeMap long int java.util.Map$Entry java.util.Iterator long
StackMap stack:
16: lload 10
lload 5
lcmp
ifne 25
17: aload 8
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.h2.value.Value
astore 12
start local 12 18: aload 1
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
aload 3
aload 12
invokevirtual org.h2.engine.Database.compareTypeSafe:(Lorg/h2/value/Value;Lorg/h2/value/Value;)I
istore 13
start local 13 19: iload 7
ifeq 22
20: iload 13
iflt 24
21: goto 25
22: StackMap locals: org.h2.value.Value int
StackMap stack:
iload 13
ifgt 24
23: goto 25
24: StackMap locals:
StackMap stack:
aload 12
astore 3
end local 13 end local 12 end local 10 end local 8 25: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData org.h2.value.Value java.util.TreeMap long int top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 7 26: goto 34
27: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData org.h2.value.Value java.util.TreeMap long
StackMap stack:
aload 4
invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 33
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData org.h2.value.Value java.util.TreeMap long top java.util.Iterator
StackMap stack:
28: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 29: aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.h2.expression.aggregate.LongDataCounter
getfield org.h2.expression.aggregate.LongDataCounter.count:J
lstore 9
start local 9 30: lload 9
lload 5
lcmp
ifle 33
31: aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.h2.value.Value
astore 3
32: lload 9
lstore 5
end local 9 end local 7 33: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
34: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session org.h2.expression.aggregate.AggregateData org.h2.value.Value java.util.TreeMap long
StackMap stack:
aload 3
aload 0
getfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/h2/expression/aggregate/Aggregate;
0 35 1 session Lorg/h2/engine/Session;
0 35 2 data Lorg/h2/expression/aggregate/AggregateData;
1 35 3 v Lorg/h2/value/Value;
2 35 4 distinctValues Ljava/util/TreeMap<Lorg/h2/value/Value;Lorg/h2/expression/aggregate/LongDataCounter;>;
5 35 5 count J
9 26 7 desc Z
11 25 8 entry Ljava/util/Map$Entry<Lorg/h2/value/Value;Lorg/h2/expression/aggregate/LongDataCounter;>;
12 25 10 c J
18 25 12 v2 Lorg/h2/value/Value;
19 25 13 cmp I
29 33 7 entry Ljava/util/Map$Entry<Lorg/h2/value/Value;Lorg/h2/expression/aggregate/LongDataCounter;>;
30 33 9 c J
MethodParameters:
Name Flags
session
data
public void mapColumnsAnalysis(org.h2.table.ColumnResolver, int, int);
descriptor: (Lorg/h2/table/ColumnResolver;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnull 5
1: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 4
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.table.ColumnResolver int int top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
astore 4
start local 4 3: aload 4
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
aload 1
iload 2
iload 3
invokevirtual org.h2.expression.Expression.mapColumns:(Lorg/h2/table/ColumnResolver;II)V
end local 4 4: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.table.ColumnResolver int int
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokespecial org.h2.expression.aggregate.AbstractAggregate.mapColumnsAnalysis:(Lorg/h2/table/ColumnResolver;II)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/expression/aggregate/Aggregate;
0 7 1 resolver Lorg/h2/table/ColumnResolver;
0 7 2 level I
0 7 3 innerState I
3 4 4 o Lorg/h2/command/dml/SelectOrderBy;
MethodParameters:
Name Flags
resolver
level
innerState
public org.h2.expression.Expression optimize(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)Lorg/h2/expression/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.h2.expression.aggregate.AbstractAggregate.optimize:(Lorg/h2/engine/Session;)Lorg/h2/expression/Expression;
pop
1: aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
arraylength
iconst_1
if_icmpne 3
2: aload 0
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iconst_0
aaload
invokevirtual org.h2.expression.Expression.getType:()Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
3: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnull 13
4: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
astore 2
start local 2 6: aload 2
aload 2
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
aload 1
invokevirtual org.h2.expression.Expression.optimize:(Lorg/h2/engine/Session;)Lorg/h2/expression/Expression;
putfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: invokestatic org.h2.expression.aggregate.Aggregate.$SWITCH_TABLE$org$h2$expression$aggregate$AggregateType:()[I
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
iaload
tableswitch { // 24 - 25
24: 9
25: 9
default: 11
}
9: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.engine.Session
StackMap stack:
iconst_1
istore 2
start local 2 10: goto 12
end local 2 11: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 12: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
iload 2
invokestatic org.h2.expression.aggregate.Aggregate.createOrder:(Lorg/h2/engine/Session;Ljava/util/ArrayList;I)Lorg/h2/result/SortOrder;
putfield org.h2.expression.aggregate.Aggregate.orderBySort:Lorg/h2/result/SortOrder;
end local 2 13: StackMap locals:
StackMap stack:
invokestatic org.h2.expression.aggregate.Aggregate.$SWITCH_TABLE$org$h2$expression$aggregate$AggregateType:()[I
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
iaload
tableswitch { // 1 - 27
1: 16
2: 16
3: 22
4: 32
5: 32
6: 30
7: 43
8: 43
9: 43
10: 43
11: 45
12: 45
13: 47
14: 47
15: 18
16: 20
17: 33
18: 33
19: 35
20: 35
21: 37
22: 41
23: 38
24: 14
25: 49
26: 41
27: 51
default: 53
}
14: StackMap locals:
StackMap stack:
aload 0
getstatic org.h2.value.TypeInfo.TYPE_STRING:Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
15: goto 54
16: StackMap locals:
StackMap stack:
aload 0
getstatic org.h2.value.TypeInfo.TYPE_LONG:Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
17: goto 54
18: StackMap locals:
StackMap stack:
aload 0
getstatic org.h2.value.TypeInfo.TYPE_INT:Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
19: goto 54
20: StackMap locals:
StackMap stack:
aload 0
getstatic org.h2.value.TypeInfo.TYPE_ARRAY:Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
21: goto 54
22: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
istore 2
start local 2 23: iload 2
iconst_1
if_icmpne 26
24: aload 0
getstatic org.h2.value.TypeInfo.TYPE_LONG:Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
25: goto 54
StackMap locals: int
StackMap stack:
26: iload 2
invokestatic org.h2.value.DataType.supportsAdd:(I)Z
ifne 28
27: ldc 90015
aload 0
iconst_0
invokevirtual org.h2.expression.aggregate.Aggregate.getSQL:(Z)Ljava/lang/String;
invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
28: StackMap locals:
StackMap stack:
aload 0
iload 2
invokestatic org.h2.value.DataType.getAddProofType:(I)I
invokestatic org.h2.value.TypeInfo.getTypeInfo:(I)Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
29: goto 54
end local 2 30: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
invokestatic org.h2.value.DataType.supportsAdd:(I)Z
ifne 54
31: ldc 90015
aload 0
iconst_0
invokevirtual org.h2.expression.aggregate.Aggregate.getSQL:(Z)Ljava/lang/String;
invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
32: StackMap locals:
StackMap stack:
goto 54
33: StackMap locals:
StackMap stack:
aload 0
getstatic org.h2.value.TypeInfo.TYPE_LONG:Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
34: goto 54
35: StackMap locals:
StackMap stack:
aload 0
getstatic org.h2.value.TypeInfo.TYPE_DOUBLE:Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
36: goto 54
37: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
invokevirtual org.h2.expression.Expression.getType:()Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
38: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
tableswitch { // 2 - 8
2: 39
3: 39
4: 39
5: 39
6: 39
7: 39
8: 39
default: 40
}
39: StackMap locals:
StackMap stack:
aload 0
getstatic org.h2.value.TypeInfo.TYPE_DECIMAL_DEFAULT:Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
40: StackMap locals:
StackMap stack:
goto 54
41: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
invokevirtual org.h2.expression.Expression.getType:()Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
42: goto 54
43: StackMap locals:
StackMap stack:
aload 0
getstatic org.h2.value.TypeInfo.TYPE_DOUBLE:Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
44: goto 54
45: StackMap locals:
StackMap stack:
aload 0
getstatic org.h2.value.TypeInfo.TYPE_BOOLEAN:Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
46: goto 54
47: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
invokestatic org.h2.value.DataType.supportsAdd:(I)Z
ifne 54
48: ldc 90015
aload 0
iconst_0
invokevirtual org.h2.expression.aggregate.Aggregate.getSQL:(Z)Ljava/lang/String;
invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
49: StackMap locals:
StackMap stack:
aload 0
getstatic org.h2.value.TypeInfo.TYPE_ARRAY:Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
50: goto 54
51: StackMap locals:
StackMap stack:
aload 0
getstatic org.h2.value.TypeInfo.TYPE_GEOMETRY:Lorg/h2/value/TypeInfo;
putfield org.h2.expression.aggregate.Aggregate.type:Lorg/h2/value/TypeInfo;
52: goto 54
53: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "type="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
54: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Lorg/h2/expression/aggregate/Aggregate;
0 55 1 session Lorg/h2/engine/Session;
6 7 2 o Lorg/h2/command/dml/SelectOrderBy;
10 11 2 offset I
12 13 2 offset I
23 30 2 dataType I
MethodParameters:
Name Flags
session
public void setEvaluatable(org.h2.table.TableFilter, boolean);
descriptor: (Lorg/h2/table/TableFilter;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnull 5
1: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.table.TableFilter int top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
astore 3
start local 3 3: aload 3
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
aload 1
iload 2
invokevirtual org.h2.expression.Expression.setEvaluatable:(Lorg/h2/table/TableFilter;Z)V
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.table.TableFilter int
StackMap stack:
aload 0
aload 1
iload 2
invokespecial org.h2.expression.aggregate.AbstractAggregate.setEvaluatable:(Lorg/h2/table/TableFilter;Z)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/expression/aggregate/Aggregate;
0 7 1 tableFilter Lorg/h2/table/TableFilter;
0 7 2 b Z
3 4 3 o Lorg/h2/command/dml/SelectOrderBy;
MethodParameters:
Name Flags
tableFilter
b
private java.lang.StringBuilder getSQLArrayAggregate(java.lang.StringBuilder, boolean);
descriptor: (Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "ARRAY_AGG("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
1: aload 0
getfield org.h2.expression.aggregate.Aggregate.distinct:Z
ifeq 3
2: aload 1
ldc "DISTINCT "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iconst_0
aaload
aload 1
iload 2
invokevirtual org.h2.expression.Expression.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
pop
4: aload 1
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
iload 2
invokestatic org.h2.expression.analysis.Window.appendOrderBy:(Ljava/lang/StringBuilder;Ljava/util/ArrayList;Z)V
5: aload 1
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: aload 0
aload 1
iload 2
invokevirtual org.h2.expression.aggregate.Aggregate.appendTailConditions:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/expression/aggregate/Aggregate;
0 7 1 builder Ljava/lang/StringBuilder;
0 7 2 alwaysQuote Z
MethodParameters:
Name Flags
builder
alwaysQuote
public java.lang.StringBuilder getSQL(java.lang.StringBuilder, boolean);
descriptor: (Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.h2.expression.aggregate.Aggregate.$SWITCH_TABLE$org$h2$expression$aggregate$AggregateType:()[I
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
iaload
tableswitch { // 1 - 27
1: 1
2: 2
3: 8
4: 10
5: 12
6: 14
7: 16
8: 18
9: 20
10: 22
11: 26
12: 24
13: 30
14: 28
15: 4
16: 6
17: 32
18: 34
19: 36
20: 38
21: 40
22: 42
23: 44
24: 46
25: 48
26: 49
27: 51
default: 53
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
ldc "COUNT(*)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual org.h2.expression.aggregate.Aggregate.appendTailConditions:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
areturn
2: StackMap locals:
StackMap stack:
ldc "COUNT"
astore 3
start local 3 3: goto 54
end local 3 4: StackMap locals:
StackMap stack:
ldc "SELECTIVITY"
astore 3
start local 3 5: goto 54
end local 3 6: StackMap locals:
StackMap stack:
ldc "HISTOGRAM"
astore 3
start local 3 7: goto 54
end local 3 8: StackMap locals:
StackMap stack:
ldc "SUM"
astore 3
start local 3 9: goto 54
end local 3 10: StackMap locals:
StackMap stack:
ldc "MIN"
astore 3
start local 3 11: goto 54
end local 3 12: StackMap locals:
StackMap stack:
ldc "MAX"
astore 3
start local 3 13: goto 54
end local 3 14: StackMap locals:
StackMap stack:
ldc "AVG"
astore 3
start local 3 15: goto 54
end local 3 16: StackMap locals:
StackMap stack:
ldc "STDDEV_POP"
astore 3
start local 3 17: goto 54
end local 3 18: StackMap locals:
StackMap stack:
ldc "STDDEV_SAMP"
astore 3
start local 3 19: goto 54
end local 3 20: StackMap locals:
StackMap stack:
ldc "VAR_POP"
astore 3
start local 3 21: goto 54
end local 3 22: StackMap locals:
StackMap stack:
ldc "VAR_SAMP"
astore 3
start local 3 23: goto 54
end local 3 24: StackMap locals:
StackMap stack:
ldc "EVERY"
astore 3
start local 3 25: goto 54
end local 3 26: StackMap locals:
StackMap stack:
ldc "ANY"
astore 3
start local 3 27: goto 54
end local 3 28: StackMap locals:
StackMap stack:
ldc "BIT_AND"
astore 3
start local 3 29: goto 54
end local 3 30: StackMap locals:
StackMap stack:
ldc "BIT_OR"
astore 3
start local 3 31: goto 54
end local 3 32: StackMap locals:
StackMap stack:
ldc "RANK"
astore 3
start local 3 33: goto 54
end local 3 34: StackMap locals:
StackMap stack:
ldc "DENSE_RANK"
astore 3
start local 3 35: goto 54
end local 3 36: StackMap locals:
StackMap stack:
ldc "PERCENT_RANK"
astore 3
start local 3 37: goto 54
end local 3 38: StackMap locals:
StackMap stack:
ldc "CUME_DIST"
astore 3
start local 3 39: goto 54
end local 3 40: StackMap locals:
StackMap stack:
ldc "PERCENTILE_CONT"
astore 3
start local 3 41: goto 54
end local 3 42: StackMap locals:
StackMap stack:
ldc "PERCENTILE_DISC"
astore 3
start local 3 43: goto 54
end local 3 44: StackMap locals:
StackMap stack:
ldc "MEDIAN"
astore 3
start local 3 45: goto 54
end local 3 46: StackMap locals:
StackMap stack:
ldc "LISTAGG"
astore 3
start local 3 47: goto 54
end local 3 48: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual org.h2.expression.aggregate.Aggregate.getSQLArrayAggregate:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
areturn
49: StackMap locals:
StackMap stack:
ldc "MODE"
astore 3
start local 3 50: goto 54
end local 3 51: StackMap locals:
StackMap stack:
ldc "ENVELOPE"
astore 3
start local 3 52: goto 54
end local 3 53: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "type="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
start local 3 54: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
55: aload 0
getfield org.h2.expression.aggregate.Aggregate.distinct:Z
ifeq 58
56: aload 1
ldc "(DISTINCT "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
57: goto 59
58: StackMap locals:
StackMap stack:
aload 1
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
59: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 60: goto 69
61: StackMap locals: int
StackMap stack:
iload 4
ifle 63
62: aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
63: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iload 4
aaload
astore 5
start local 5 64: aload 5
instanceof org.h2.expression.Subquery
ifeq 67
65: aload 5
aload 1
iload 2
invokevirtual org.h2.expression.Expression.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
pop
66: goto 68
67: StackMap locals: org.h2.expression.Expression
StackMap stack:
aload 5
aload 1
iload 2
invokevirtual org.h2.expression.Expression.getUnenclosedSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
pop
end local 5 68: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
69: iload 4
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
arraylength
if_icmplt 61
end local 4 70: aload 1
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
71: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnull 75
72: aload 1
ldc " WITHIN GROUP ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
73: aload 1
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
iload 2
invokestatic org.h2.expression.analysis.Window.appendOrderBy:(Ljava/lang/StringBuilder;Ljava/util/ArrayList;Z)V
74: aload 1
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
75: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual org.h2.expression.aggregate.Aggregate.appendTailConditions:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 76 0 this Lorg/h2/expression/aggregate/Aggregate;
0 76 1 builder Ljava/lang/StringBuilder;
0 76 2 alwaysQuote Z
3 4 3 text Ljava/lang/String;
5 6 3 text Ljava/lang/String;
7 8 3 text Ljava/lang/String;
9 10 3 text Ljava/lang/String;
11 12 3 text Ljava/lang/String;
13 14 3 text Ljava/lang/String;
15 16 3 text Ljava/lang/String;
17 18 3 text Ljava/lang/String;
19 20 3 text Ljava/lang/String;
21 22 3 text Ljava/lang/String;
23 24 3 text Ljava/lang/String;
25 26 3 text Ljava/lang/String;
27 28 3 text Ljava/lang/String;
29 30 3 text Ljava/lang/String;
31 32 3 text Ljava/lang/String;
33 34 3 text Ljava/lang/String;
35 36 3 text Ljava/lang/String;
37 38 3 text Ljava/lang/String;
39 40 3 text Ljava/lang/String;
41 42 3 text Ljava/lang/String;
43 44 3 text Ljava/lang/String;
45 46 3 text Ljava/lang/String;
47 48 3 text Ljava/lang/String;
50 51 3 text Ljava/lang/String;
52 53 3 text Ljava/lang/String;
54 76 3 text Ljava/lang/String;
60 70 4 i I
64 68 5 arg Lorg/h2/expression/Expression;
MethodParameters:
Name Flags
builder
alwaysQuote
private org.h2.index.Index getMinMaxColumnIndex();
descriptor: ()Lorg/h2/index/Index;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iconst_0
aaload
astore 1
start local 1 1: aload 1
instanceof org.h2.expression.ExpressionColumn
ifeq 8
2: aload 1
checkcast org.h2.expression.ExpressionColumn
astore 2
start local 2 3: aload 2
invokevirtual org.h2.expression.ExpressionColumn.getColumn:()Lorg/h2/table/Column;
astore 3
start local 3 4: aload 2
invokevirtual org.h2.expression.ExpressionColumn.getTableFilter:()Lorg/h2/table/TableFilter;
astore 4
start local 4 5: aload 4
ifnull 8
6: aload 4
invokevirtual org.h2.table.TableFilter.getTable:()Lorg/h2/table/Table;
astore 5
start local 5 7: aload 5
aload 3
iconst_1
iconst_0
invokevirtual org.h2.table.Table.getIndexForColumn:(Lorg/h2/table/Column;ZZ)Lorg/h2/index/Index;
areturn
end local 5 end local 4 end local 3 end local 2 8: StackMap locals: org.h2.expression.Expression
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/h2/expression/aggregate/Aggregate;
1 9 1 arg Lorg/h2/expression/Expression;
3 8 2 col Lorg/h2/expression/ExpressionColumn;
4 8 3 column Lorg/h2/table/Column;
5 8 4 filter Lorg/h2/table/TableFilter;
7 8 5 table Lorg/h2/table/Table;
public boolean isEverything(org.h2.expression.ExpressionVisitor);
descriptor: (Lorg/h2/expression/ExpressionVisitor;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.h2.expression.aggregate.AbstractAggregate.isEverything:(Lorg/h2/expression/ExpressionVisitor;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.filterCondition:Lorg/h2/expression/Expression;
ifnull 4
aload 0
getfield org.h2.expression.aggregate.Aggregate.filterCondition:Lorg/h2/expression/Expression;
aload 1
invokevirtual org.h2.expression.Expression.isEverything:(Lorg/h2/expression/ExpressionVisitor;)Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.h2.expression.ExpressionVisitor.getType:()I
iconst_1
if_icmpne 22
5: invokestatic org.h2.expression.aggregate.Aggregate.$SWITCH_TABLE$org$h2$expression$aggregate$AggregateType:()[I
aload 0
getfield org.h2.expression.aggregate.Aggregate.aggregateType:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
iaload
lookupswitch { // 8
1: 9
2: 6
4: 10
5: 10
21: 13
22: 13
23: 15
27: 19
default: 21
}
6: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.distinct:Z
ifne 8
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iconst_0
aaload
invokevirtual org.h2.expression.Expression.getNullable:()I
ifne 8
7: aload 1
invokevirtual org.h2.expression.ExpressionVisitor.getTable:()Lorg/h2/table/Table;
invokevirtual org.h2.table.Table.canGetRowCount:()Z
ireturn
8: StackMap locals:
StackMap stack:
iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.h2.expression.ExpressionVisitor.getTable:()Lorg/h2/table/Table;
invokevirtual org.h2.table.Table.canGetRowCount:()Z
ireturn
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.expression.aggregate.Aggregate.getMinMaxColumnIndex:()Lorg/h2/index/Index;
astore 2
start local 2 11: aload 2
ifnull 12
iconst_1
ireturn
StackMap locals: org.h2.index.Index
StackMap stack:
12: iconst_0
ireturn
end local 2 13: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iconst_0
aaload
invokevirtual org.h2.expression.Expression.isConstant:()Z
ifeq 14
aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
invokestatic org.h2.expression.aggregate.Percentile.getColumnIndex:(Lorg/h2/expression/Expression;)Lorg/h2/index/Index;
ifnull 14
iconst_1
ireturn
StackMap locals:
StackMap stack:
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.distinct:Z
ifeq 17
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iconst_0
aaload
invokestatic org.h2.expression.aggregate.Percentile.getColumnIndex:(Lorg/h2/expression/Expression;)Lorg/h2/index/Index;
ifnull 18
iconst_1
ireturn
StackMap locals:
StackMap stack:
18: iconst_0
ireturn
19: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
iconst_0
aaload
invokestatic org.h2.expression.aggregate.AggregateDataEnvelope.getGeometryColumnIndex:(Lorg/h2/expression/Expression;)Lorg/h2/index/Index;
ifnull 20
iconst_1
ireturn
StackMap locals:
StackMap stack:
20: iconst_0
ireturn
21: StackMap locals:
StackMap stack:
iconst_0
ireturn
22: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 27
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.expression.ExpressionVisitor top int int org.h2.expression.Expression[]
StackMap stack:
23: aload 5
iload 3
aaload
astore 2
start local 2 24: aload 2
aload 1
invokevirtual org.h2.expression.Expression.isEverything:(Lorg/h2/expression/ExpressionVisitor;)Z
ifne 26
25: iconst_0
ireturn
end local 2 26: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
27: iload 3
iload 4
if_icmplt 23
28: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnull 34
29: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 33
StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.expression.ExpressionVisitor top java.util.Iterator
StackMap stack:
30: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
astore 2
start local 2 31: aload 2
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
aload 1
invokevirtual org.h2.expression.Expression.isEverything:(Lorg/h2/expression/ExpressionVisitor;)Z
ifne 33
32: iconst_0
ireturn
end local 2 33: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
34: StackMap locals: org.h2.expression.aggregate.Aggregate org.h2.expression.ExpressionVisitor
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/h2/expression/aggregate/Aggregate;
0 35 1 visitor Lorg/h2/expression/ExpressionVisitor;
11 13 2 index Lorg/h2/index/Index;
24 26 2 arg Lorg/h2/expression/Expression;
31 33 2 o Lorg/h2/command/dml/SelectOrderBy;
MethodParameters:
Name Flags
visitor
public int getCost();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: aload 0
getfield org.h2.expression.aggregate.Aggregate.args:[Lorg/h2/expression/Expression;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: org.h2.expression.aggregate.Aggregate int top int int org.h2.expression.Expression[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: iload 1
aload 2
invokevirtual org.h2.expression.Expression.getCost:()I
iadd
istore 1
end local 2 4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
ifnull 11
7: aload 0
getfield org.h2.expression.aggregate.Aggregate.orderByList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: org.h2.expression.aggregate.Aggregate int top java.util.Iterator
StackMap stack:
8: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.command.dml.SelectOrderBy
astore 2
start local 2 9: iload 1
aload 2
getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
invokevirtual org.h2.expression.Expression.getCost:()I
iadd
istore 1
end local 2 10: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: StackMap locals: org.h2.expression.aggregate.Aggregate int
StackMap stack:
aload 0
getfield org.h2.expression.aggregate.Aggregate.filterCondition:Lorg/h2/expression/Expression;
ifnull 13
12: iload 1
aload 0
getfield org.h2.expression.aggregate.Aggregate.filterCondition:Lorg/h2/expression/Expression;
invokevirtual org.h2.expression.Expression.getCost:()I
iadd
istore 1
13: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/h2/expression/aggregate/Aggregate;
1 14 1 cost I
3 4 2 arg Lorg/h2/expression/Expression;
9 10 2 o Lorg/h2/command/dml/SelectOrderBy;
static int[] $SWITCH_TABLE$org$h2$expression$aggregate$AggregateType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.h2.expression.aggregate.Aggregate.$SWITCH_TABLE$org$h2$expression$aggregate$AggregateType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.h2.expression.aggregate.AggregateType.values:()[Lorg/h2/expression/aggregate/AggregateType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.h2.expression.aggregate.AggregateType.ANY:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 11
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.h2.expression.aggregate.AggregateType.ARRAY_AGG:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 25
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.h2.expression.aggregate.AggregateType.AVG:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 6
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.h2.expression.aggregate.AggregateType.BIT_AND:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 14
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.h2.expression.aggregate.AggregateType.BIT_OR:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 13
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.h2.expression.aggregate.AggregateType.COUNT:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
iconst_2
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.h2.expression.aggregate.AggregateType.COUNT_ALL:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
iconst_1
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic org.h2.expression.aggregate.AggregateType.CUME_DIST:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 20
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic org.h2.expression.aggregate.AggregateType.DENSE_RANK:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 18
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic org.h2.expression.aggregate.AggregateType.ENVELOPE:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 27
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic org.h2.expression.aggregate.AggregateType.EVERY:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 12
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic org.h2.expression.aggregate.AggregateType.HISTOGRAM:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 16
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic org.h2.expression.aggregate.AggregateType.LISTAGG:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 24
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic org.h2.expression.aggregate.AggregateType.MAX:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
iconst_5
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic org.h2.expression.aggregate.AggregateType.MEDIAN:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 23
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic org.h2.expression.aggregate.AggregateType.MIN:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
iconst_4
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic org.h2.expression.aggregate.AggregateType.MODE:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 26
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic org.h2.expression.aggregate.AggregateType.PERCENTILE_CONT:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 21
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic org.h2.expression.aggregate.AggregateType.PERCENTILE_DISC:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 22
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic org.h2.expression.aggregate.AggregateType.PERCENT_RANK:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 19
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic org.h2.expression.aggregate.AggregateType.RANK:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 17
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic org.h2.expression.aggregate.AggregateType.SELECTIVITY:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 15
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
getstatic org.h2.expression.aggregate.AggregateType.STDDEV_POP:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 7
iastore
69: goto 71
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
70: pop
StackMap locals:
StackMap stack:
71: aload 0
getstatic org.h2.expression.aggregate.AggregateType.STDDEV_SAMP:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 8
iastore
72: goto 74
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
73: pop
StackMap locals:
StackMap stack:
74: aload 0
getstatic org.h2.expression.aggregate.AggregateType.SUM:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
iconst_3
iastore
75: goto 77
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
76: pop
StackMap locals:
StackMap stack:
77: aload 0
getstatic org.h2.expression.aggregate.AggregateType.VAR_POP:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 9
iastore
78: goto 80
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
79: pop
StackMap locals:
StackMap stack:
80: aload 0
getstatic org.h2.expression.aggregate.AggregateType.VAR_SAMP:Lorg/h2/expression/aggregate/AggregateType;
invokevirtual org.h2.expression.aggregate.AggregateType.ordinal:()I
bipush 10
iastore
81: goto 83
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
82: pop
StackMap locals:
StackMap stack:
83: aload 0
dup
putstatic org.h2.expression.aggregate.Aggregate.$SWITCH_TABLE$org$h2$expression$aggregate$AggregateType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
65 66 67 Class java.lang.NoSuchFieldError
68 69 70 Class java.lang.NoSuchFieldError
71 72 73 Class java.lang.NoSuchFieldError
74 75 76 Class java.lang.NoSuchFieldError
77 78 79 Class java.lang.NoSuchFieldError
80 81 82 Class java.lang.NoSuchFieldError
}
SourceFile: "Aggregate.java"
NestMembers:
org.h2.expression.aggregate.Aggregate$1 org.h2.expression.aggregate.Aggregate$2
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
org.h2.expression.aggregate.Aggregate$1
org.h2.expression.aggregate.Aggregate$2