public class org.hsqldb.RangeVariable$RangeIteratorMain extends org.hsqldb.RangeVariable$RangeIteratorBase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hsqldb.RangeVariable$RangeIteratorMain
super_class: org.hsqldb.RangeVariable$RangeIteratorBase
{
boolean hasLeftOuterRow;
descriptor: Z
flags: (0x0000)
boolean isFullIterator;
descriptor: Z
flags: (0x0000)
org.hsqldb.RangeVariable$RangeVariableConditions[] conditions;
descriptor: [Lorg/hsqldb/RangeVariable$RangeVariableConditions;
flags: (0x0000)
org.hsqldb.RangeVariable$RangeVariableConditions[] whereConditions;
descriptor: [Lorg/hsqldb/RangeVariable$RangeVariableConditions;
flags: (0x0000)
org.hsqldb.RangeVariable$RangeVariableConditions[] joinConditions;
descriptor: [Lorg/hsqldb/RangeVariable$RangeVariableConditions;
flags: (0x0000)
org.hsqldb.ExpressionPeriodOp periodCondition;
descriptor: Lorg/hsqldb/ExpressionPeriodOp;
flags: (0x0000)
org.hsqldb.ExpressionLogical filterCondition;
descriptor: Lorg/hsqldb/ExpressionLogical;
flags: (0x0000)
int condIndex;
descriptor: I
flags: (0x0000)
org.hsqldb.lib.OrderedLongHashSet lookup;
descriptor: Lorg/hsqldb/lib/OrderedLongHashSet;
flags: (0x0000)
java.lang.Object[] currentJoinData;
descriptor: [Ljava/lang/Object;
flags: (0x0000)
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.hsqldb.RangeVariable$RangeIteratorBase.<init>:()V
1: aload 0
iconst_0
putfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
2: aload 0
aconst_null
putfield org.hsqldb.RangeVariable$RangeIteratorMain.currentJoinData:[Ljava/lang/Object;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hsqldb/RangeVariable$RangeIteratorMain;
private void <init>(org.hsqldb.Session, org.hsqldb.RangeVariable);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/RangeVariable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.hsqldb.RangeVariable$RangeIteratorBase.<init>:()V
1: aload 0
iconst_0
putfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
2: aload 0
aconst_null
putfield org.hsqldb.RangeVariable$RangeIteratorMain.currentJoinData:[Ljava/lang/Object;
3: aload 0
aload 2
getfield org.hsqldb.RangeVariable.rangePosition:I
putfield org.hsqldb.RangeVariable$RangeIteratorMain.rangePosition:I
4: aload 0
aload 2
getfield org.hsqldb.RangeVariable.rangeTable:Lorg/hsqldb/Table;
aload 1
invokevirtual org.hsqldb.Table.getRowStore:(Lorg/hsqldb/Session;)Lorg/hsqldb/persist/PersistentStore;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.store:Lorg/hsqldb/persist/PersistentStore;
5: aload 0
aload 1
putfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
6: aload 0
aload 2
putfield org.hsqldb.RangeVariable$RangeIteratorMain.rangeVar:Lorg/hsqldb/RangeVariable;
7: aload 0
iconst_1
putfield org.hsqldb.RangeVariable$RangeIteratorMain.isBeforeFirst:Z
8: aload 0
aload 2
getfield org.hsqldb.RangeVariable.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
9: aload 0
aload 2
getfield org.hsqldb.RangeVariable.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
10: aload 0
aload 2
getfield org.hsqldb.RangeVariable.periodCondition:Lorg/hsqldb/ExpressionPeriodOp;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.periodCondition:Lorg/hsqldb/ExpressionPeriodOp;
11: aload 0
aload 2
getfield org.hsqldb.RangeVariable.filterCondition:Lorg/hsqldb/ExpressionLogical;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.filterCondition:Lorg/hsqldb/ExpressionLogical;
12: aload 2
getfield org.hsqldb.RangeVariable.isRightJoin:Z
ifeq 14
13: aload 0
new org.hsqldb.lib.OrderedLongHashSet
dup
invokespecial org.hsqldb.lib.OrderedLongHashSet.<init>:()V
putfield org.hsqldb.RangeVariable$RangeIteratorMain.lookup:Lorg/hsqldb/lib/OrderedLongHashSet;
14: StackMap locals: org.hsqldb.RangeVariable$RangeIteratorMain org.hsqldb.Session org.hsqldb.RangeVariable
StackMap stack:
aload 0
aload 2
getfield org.hsqldb.RangeVariable.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
15: aload 2
getfield org.hsqldb.RangeVariable.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
iconst_0
aaload
invokevirtual org.hsqldb.RangeVariable$RangeVariableConditions.hasIndexCondition:()Z
ifeq 17
16: aload 0
aload 2
getfield org.hsqldb.RangeVariable.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/hsqldb/RangeVariable$RangeIteratorMain;
0 18 1 session Lorg/hsqldb/Session;
0 18 2 rangeVar Lorg/hsqldb/RangeVariable;
MethodParameters:
Name Flags
session
rangeVar
public boolean isBeforeFirst();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.isBeforeFirst:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/RangeVariable$RangeIteratorMain;
public boolean next();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
getfield org.hsqldb.Session.abortTransaction:Z
ifeq 2
1: sipush 4860
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
getfield org.hsqldb.Session.abortAction:Z
ifeq 14
3: sipush 4872
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.isBeforeFirst:Z
ifeq 7
5: aload 0
iconst_0
putfield org.hsqldb.RangeVariable$RangeIteratorMain.isBeforeFirst:Z
6: aload 0
invokevirtual org.hsqldb.RangeVariable$RangeIteratorMain.initialiseIterator:()V
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.RangeVariable$RangeIteratorMain.findNext:()Z
istore 1
start local 1 8: iload 1
ifeq 10
9: iconst_1
ireturn
10: StackMap locals: int
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
invokeinterface org.hsqldb.navigator.RowIterator.release:()V
11: aload 0
getstatic org.hsqldb.RangeVariable.emptyIterator:Lorg/hsqldb/navigator/RowIterator;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
12: aload 0
iconst_1
putfield org.hsqldb.RangeVariable$RangeIteratorMain.isBeforeFirst:Z
13: aload 0
dup
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
iconst_1
iadd
putfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
end local 1 14: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
arraylength
if_icmplt 4
15: aload 0
iconst_0
putfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
16: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/hsqldb/RangeVariable$RangeIteratorMain;
8 14 1 result Z
public void removeCurrent();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/RangeVariable$RangeIteratorMain;
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
invokeinterface org.hsqldb.navigator.RowIterator.release:()V
1: aload 0
getstatic org.hsqldb.RangeVariable.emptyIterator:Lorg/hsqldb/navigator/RowIterator;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
2: aload 0
iconst_1
putfield org.hsqldb.RangeVariable$RangeIteratorMain.isBeforeFirst:Z
3: aload 0
iconst_0
putfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hsqldb/RangeVariable$RangeIteratorMain;
public int getRangePosition();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.rangeVar:Lorg/hsqldb/RangeVariable;
getfield org.hsqldb.RangeVariable.rangePosition:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/RangeVariable$RangeIteratorMain;
protected void initialiseIterator();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
ifne 2
1: aload 0
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.rangeVar:Lorg/hsqldb/RangeVariable;
getfield org.hsqldb.RangeVariable.isLeftJoin:Z
putfield org.hsqldb.RangeVariable$RangeIteratorMain.hasLeftOuterRow:Z
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.isFalse:Z
ifeq 5
3: aload 0
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeIndex:Lorg/hsqldb/index/Index;
invokeinterface org.hsqldb.index.Index.emptyIterator:()Lorg/hsqldb/navigator/RowIterator;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
4: return
5: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.rangeVar:Lorg/hsqldb/RangeVariable;
getfield org.hsqldb.RangeVariable.rangeTable:Lorg/hsqldb/Table;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
invokevirtual org.hsqldb.Table.materialiseCorrelated:(Lorg/hsqldb/Session;)V
6: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexCond:[Lorg/hsqldb/Expression;
ifnonnull 16
7: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.reversed:Z
ifeq 12
8: aload 0
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeIndex:Lorg/hsqldb/index/Index;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
9: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.store:Lorg/hsqldb/persist/PersistentStore;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.rangeVar:Lorg/hsqldb/RangeVariable;
getfield org.hsqldb.RangeVariable.indexDistinctCount:I
aconst_null
10: invokeinterface org.hsqldb.index.Index.lastRow:(Lorg/hsqldb/Session;Lorg/hsqldb/persist/PersistentStore;I[Z)Lorg/hsqldb/navigator/RowIterator;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
11: goto 19
12: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeIndex:Lorg/hsqldb/index/Index;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
13: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.store:Lorg/hsqldb/persist/PersistentStore;
aconst_null
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.rangeVar:Lorg/hsqldb/RangeVariable;
getfield org.hsqldb.RangeVariable.indexDistinctCount:I
aconst_null
14: invokeinterface org.hsqldb.index.Index.firstRow:(Lorg/hsqldb/Session;Lorg/hsqldb/persist/PersistentStore;[Lorg/hsqldb/RangeVariable$RangeVariableConditions;I[Z)Lorg/hsqldb/navigator/RowIterator;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
15: goto 19
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.RangeVariable$RangeIteratorMain.getFirstRow:()V
17: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.isJoin:Z
ifne 19
18: aload 0
iconst_0
putfield org.hsqldb.RangeVariable$RangeIteratorMain.hasLeftOuterRow:Z
19: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/hsqldb/RangeVariable$RangeIteratorMain;
private void getFirstRow();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=9, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.currentJoinData:[Ljava/lang/Object;
ifnull 3
1: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.currentJoinData:[Ljava/lang/Object;
arraylength
2: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexedColumnCount:I
if_icmpge 6
3: StackMap locals:
StackMap stack:
aload 0
4: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexedColumnCount:I
anewarray java.lang.Object
5: putfield org.hsqldb.RangeVariable$RangeIteratorMain.currentJoinData:[Ljava/lang/Object;
6: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.opType:I
istore 1
start local 1 7: iconst_0
istore 2
start local 2 8: goto 64
9: StackMap locals: int int
StackMap stack:
iconst_0
istore 3
start local 3 10: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.opTypes:[I
iload 2
iaload
istore 4
start local 4 11: iload 4
bipush 47
if_icmpeq 13
iload 4
bipush 48
if_icmpeq 13
12: iload 4
bipush 77
if_icmpne 15
13: StackMap locals: int int
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.currentJoinData:[Ljava/lang/Object;
iload 2
aconst_null
aastore
14: goto 63
15: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexCond:[Lorg/hsqldb/Expression;
iload 2
aaload
invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
16: invokevirtual org.hsqldb.Expression.getDataType:()Lorg/hsqldb/types/Type;
17: astore 5
start local 5 18: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexCond:[Lorg/hsqldb/Expression;
iload 2
aaload
invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
19: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
20: invokevirtual org.hsqldb.Expression.getValue:(Lorg/hsqldb/Session;)Ljava/lang/Object;
21: astore 6
start local 6 22: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexCond:[Lorg/hsqldb/Expression;
iload 2
aaload
invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
23: invokevirtual org.hsqldb.Expression.getDataType:()Lorg/hsqldb/types/Type;
24: astore 7
start local 7 25: iload 2
ifne 28
aload 6
ifnonnull 28
26: aload 0
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeIndex:Lorg/hsqldb/index/Index;
invokeinterface org.hsqldb.index.Index.emptyIterator:()Lorg/hsqldb/navigator/RowIterator;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
27: return
28: StackMap locals: org.hsqldb.types.Type java.lang.Object org.hsqldb.types.Type
StackMap stack:
aload 7
aload 5
if_acmpeq 37
29: aload 7
aload 6
invokevirtual org.hsqldb.types.Type.compareToTypeRange:(Ljava/lang/Object;)I
istore 3
30: iload 3
ifne 37
31: aload 7
getfield org.hsqldb.types.Type.typeComparisonGroup:I
32: aload 5
getfield org.hsqldb.types.Type.typeComparisonGroup:I
33: if_icmpeq 37
34: aload 7
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
aload 6
35: aload 5
36: invokevirtual org.hsqldb.types.Type.convertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
astore 6
37: StackMap locals:
StackMap stack:
iload 2
ifne 62
38: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexCond:[Lorg/hsqldb/Expression;
iconst_0
aaload
invokevirtual org.hsqldb.Expression.getType:()I
39: istore 8
start local 8 40: iload 3
ifge 50
41: iload 8
tableswitch { // 41 - 43
41: 42
42: 42
43: 42
default: 45
}
42: StackMap locals: int
StackMap stack:
bipush 48
istore 1
43: aconst_null
astore 6
44: goto 62
45: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeIndex:Lorg/hsqldb/index/Index;
46: invokeinterface org.hsqldb.index.Index.emptyIterator:()Lorg/hsqldb/navigator/RowIterator;
47: putfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
48: return
49: StackMap locals:
StackMap stack:
goto 62
StackMap locals:
StackMap stack:
50: iload 3
ifle 62
51: iload 8
tableswitch { // 44 - 48
44: 54
45: 54
46: 58
47: 58
48: 52
default: 58
}
52: StackMap locals:
StackMap stack:
aconst_null
astore 6
53: goto 62
54: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.reversed:Z
ifeq 58
55: bipush 77
istore 1
56: aconst_null
astore 6
57: goto 62
58: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeIndex:Lorg/hsqldb/index/Index;
59: invokeinterface org.hsqldb.index.Index.emptyIterator:()Lorg/hsqldb/navigator/RowIterator;
60: putfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
61: return
end local 8 62: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.currentJoinData:[Ljava/lang/Object;
iload 2
aload 6
aastore
end local 7 end local 6 end local 5 end local 4 end local 3 63: StackMap locals: org.hsqldb.RangeVariable$RangeIteratorMain int int
StackMap stack:
iinc 2 1
64: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexedColumnCount:I
if_icmplt 9
end local 2 65: aload 0
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeIndex:Lorg/hsqldb/index/Index;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.store:Lorg/hsqldb/persist/PersistentStore;
66: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.currentJoinData:[Ljava/lang/Object;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexedColumnCount:I
67: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.rangeVar:Lorg/hsqldb/RangeVariable;
getfield org.hsqldb.RangeVariable.indexDistinctCount:I
iload 1
68: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.reversed:Z
aconst_null
69: invokeinterface org.hsqldb.index.Index.findFirstRow:(Lorg/hsqldb/Session;Lorg/hsqldb/persist/PersistentStore;[Ljava/lang/Object;IIIZ[Z)Lorg/hsqldb/navigator/RowIterator;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
70: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 71 0 this Lorg/hsqldb/RangeVariable$RangeIteratorMain;
7 71 1 opType I
8 65 2 i I
10 63 3 range I
11 63 4 tempType I
18 63 5 valueType Lorg/hsqldb/types/Type;
22 63 6 value Ljava/lang/Object;
25 63 7 targetType Lorg/hsqldb/types/Type;
40 62 8 exprType I
private boolean findNext();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: StackMap locals: int
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
getfield org.hsqldb.Session.abortTransaction:Z
ifeq 3
2: sipush 4860
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
getfield org.hsqldb.Session.abortAction:Z
ifeq 5
4: sipush 4872
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
invokeinterface org.hsqldb.navigator.RowIterator.next:()Z
ifne 9
6: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
invokeinterface org.hsqldb.navigator.RowIterator.release:()V
7: aload 0
getstatic org.hsqldb.RangeVariable.emptyIterator:Lorg/hsqldb/navigator/RowIterator;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
8: goto 45
9: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.periodCondition:Lorg/hsqldb/ExpressionPeriodOp;
ifnull 12
10: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.periodCondition:Lorg/hsqldb/ExpressionPeriodOp;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
invokevirtual org.hsqldb.ExpressionPeriodOp.testCondition:(Lorg/hsqldb/Session;)Z
ifne 12
11: goto 1
12: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.filterCondition:Lorg/hsqldb/ExpressionLogical;
ifnull 15
13: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.filterCondition:Lorg/hsqldb/ExpressionLogical;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
invokevirtual org.hsqldb.ExpressionLogical.testCondition:(Lorg/hsqldb/Session;)Z
ifne 15
14: goto 1
15: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.terminalCondition:Lorg/hsqldb/Expression;
ifnull 21
16: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.terminalCondition:Lorg/hsqldb/Expression;
17: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
18: invokevirtual org.hsqldb.Expression.testCondition:(Lorg/hsqldb/Session;)Z
19: ifne 21
20: goto 45
21: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexEndCondition:Lorg/hsqldb/Expression;
ifnull 29
22: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexEndCondition:Lorg/hsqldb/Expression;
23: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
24: invokevirtual org.hsqldb.Expression.testCondition:(Lorg/hsqldb/Session;)Z
25: ifne 29
26: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.isJoin:Z
ifne 45
27: aload 0
iconst_0
putfield org.hsqldb.RangeVariable$RangeIteratorMain.hasLeftOuterRow:Z
28: goto 45
29: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.nonIndexCondition:Lorg/hsqldb/Expression;
ifnull 33
30: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.nonIndexCondition:Lorg/hsqldb/Expression;
31: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
invokevirtual org.hsqldb.Expression.testCondition:(Lorg/hsqldb/Session;)Z
ifne 33
32: goto 1
33: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.nonIndexCondition:Lorg/hsqldb/Expression;
ifnull 39
34: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.nonIndexCondition:Lorg/hsqldb/Expression;
35: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
invokevirtual org.hsqldb.Expression.testCondition:(Lorg/hsqldb/Session;)Z
ifne 39
36: aload 0
iconst_0
putfield org.hsqldb.RangeVariable$RangeIteratorMain.hasLeftOuterRow:Z
37: aload 0
invokevirtual org.hsqldb.RangeVariable$RangeIteratorMain.addFoundRow:()V
38: goto 1
39: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.excludeConditions:Lorg/hsqldb/Expression;
astore 2
start local 2 40: aload 2
ifnull 42
aload 2
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
invokevirtual org.hsqldb.Expression.testCondition:(Lorg/hsqldb/Session;)Z
ifeq 42
41: goto 1
42: StackMap locals: org.hsqldb.Expression
StackMap stack:
aload 0
invokevirtual org.hsqldb.RangeVariable$RangeIteratorMain.addFoundRow:()V
43: aload 0
iconst_0
putfield org.hsqldb.RangeVariable$RangeIteratorMain.hasLeftOuterRow:Z
44: iconst_1
ireturn
end local 2 45: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
invokeinterface org.hsqldb.navigator.RowIterator.release:()V
46: aload 0
getstatic org.hsqldb.RangeVariable.emptyIterator:Lorg/hsqldb/navigator/RowIterator;
putfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
47: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.hasLeftOuterRow:Z
ifeq 55
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.conditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
arraylength
iconst_1
isub
if_icmpne 55
48: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.nonIndexCondition:Lorg/hsqldb/Expression;
ifnull 52
49: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.condIndex:I
aaload
getfield org.hsqldb.RangeVariable$RangeVariableConditions.nonIndexCondition:Lorg/hsqldb/Expression;
50: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.session:Lorg/hsqldb/Session;
invokevirtual org.hsqldb.Expression.testCondition:(Lorg/hsqldb/Session;)Z
ifne 52
51: iconst_0
goto 53
StackMap locals:
StackMap stack:
52: iconst_1
StackMap locals:
StackMap stack: int
53: istore 1
54: aload 0
iconst_0
putfield org.hsqldb.RangeVariable$RangeIteratorMain.hasLeftOuterRow:Z
55: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lorg/hsqldb/RangeVariable$RangeIteratorMain;
1 56 1 result Z
40 45 2 e Lorg/hsqldb/Expression;
private void addFoundRow();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.rangeVar:Lorg/hsqldb/RangeVariable;
getfield org.hsqldb.RangeVariable.isRightJoin:Z
ifeq 3
1: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.it:Lorg/hsqldb/navigator/RowIterator;
invokeinterface org.hsqldb.navigator.RowIterator.getRowId:()J
lstore 1
start local 1 2: aload 0
getfield org.hsqldb.RangeVariable$RangeIteratorMain.lookup:Lorg/hsqldb/lib/OrderedLongHashSet;
lload 1
invokevirtual org.hsqldb.lib.OrderedLongHashSet.add:(J)Z
pop
end local 1 3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hsqldb/RangeVariable$RangeIteratorMain;
2 3 1 position J
}
SourceFile: "RangeVariable.java"
NestHost: org.hsqldb.RangeVariable
InnerClasses:
public RangeIteratorBase = org.hsqldb.RangeVariable$RangeIteratorBase of org.hsqldb.RangeVariable
public RangeIteratorMain = org.hsqldb.RangeVariable$RangeIteratorMain of org.hsqldb.RangeVariable
public RangeVariableConditions = org.hsqldb.RangeVariable$RangeVariableConditions of org.hsqldb.RangeVariable