final class org.h2.table.JoinBatch$JoinFilter
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.h2.table.JoinBatch$JoinFilter
super_class: java.lang.Object
{
final org.h2.index.IndexLookupBatch lookupBatch;
descriptor: Lorg/h2/index/IndexLookupBatch;
flags: (0x0010) ACC_FINAL
final int id;
descriptor: I
flags: (0x0010) ACC_FINAL
final org.h2.table.JoinBatch$JoinFilter join;
descriptor: Lorg/h2/table/JoinBatch$JoinFilter;
flags: (0x0010) ACC_FINAL
final org.h2.table.TableFilter filter;
descriptor: Lorg/h2/table/TableFilter;
flags: (0x0010) ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/h2/table/JoinBatch;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.h2.table.JoinBatch$JoinFilter.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.h2.index.IndexLookupBatch, org.h2.table.TableFilter, org.h2.table.JoinBatch$JoinFilter);
descriptor: (Lorg/h2/index/IndexLookupBatch;Lorg/h2/table/TableFilter;Lorg/h2/table/JoinBatch$JoinFilter;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield org.h2.table.JoinBatch$JoinFilter.filter:Lorg/h2/table/TableFilter;
2: aload 0
aload 2
invokevirtual org.h2.table.TableFilter.getJoinFilterId:()I
putfield org.h2.table.JoinBatch$JoinFilter.id:I
3: aload 0
aload 3
putfield org.h2.table.JoinBatch$JoinFilter.join:Lorg/h2/table/JoinBatch$JoinFilter;
4: aload 0
aload 1
putfield org.h2.table.JoinBatch$JoinFilter.lookupBatch:Lorg/h2/index/IndexLookupBatch;
5: getstatic org.h2.table.JoinBatch$JoinFilter.$assertionsDisabled:Z
ifne 6
aload 1
ifnonnull 6
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.id:I
ifeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: org.h2.table.JoinBatch$JoinFilter org.h2.index.IndexLookupBatch org.h2.table.TableFilter org.h2.table.JoinBatch$JoinFilter
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/table/JoinBatch$JoinFilter;
0 7 1 lookupBatch Lorg/h2/index/IndexLookupBatch;
0 7 2 filter Lorg/h2/table/TableFilter;
0 7 3 join Lorg/h2/table/JoinBatch$JoinFilter;
MethodParameters:
Name Flags
lookupBatch
filter
join
void reset(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.table.JoinBatch$JoinFilter.lookupBatch:Lorg/h2/index/IndexLookupBatch;
ifnull 2
1: aload 0
getfield org.h2.table.JoinBatch$JoinFilter.lookupBatch:Lorg/h2/index/IndexLookupBatch;
iload 1
invokeinterface org.h2.index.IndexLookupBatch.reset:(Z)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/table/JoinBatch$JoinFilter;
0 3 1 beforeQuery Z
MethodParameters:
Name Flags
beforeQuery
org.h2.result.Row getNullRow();
descriptor: ()Lorg/h2/result/Row;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.table.JoinBatch$JoinFilter.filter:Lorg/h2/table/TableFilter;
invokevirtual org.h2.table.TableFilter.getTable:()Lorg/h2/table/Table;
invokevirtual org.h2.table.Table.getNullRow:()Lorg/h2/result/Row;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/JoinBatch$JoinFilter;
boolean isOuterJoin();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.table.JoinBatch$JoinFilter.filter:Lorg/h2/table/TableFilter;
invokevirtual org.h2.table.TableFilter.isJoinOuter:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/JoinBatch$JoinFilter;
boolean isBatchFull();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.table.JoinBatch$JoinFilter.lookupBatch:Lorg/h2/index/IndexLookupBatch;
invokeinterface org.h2.index.IndexLookupBatch.isBatchFull:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/JoinBatch$JoinFilter;
boolean isOk(boolean);
descriptor: (Z)Z
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.table.JoinBatch$JoinFilter.filter:Lorg/h2/table/TableFilter;
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.filter:Lorg/h2/table/TableFilter;
invokevirtual org.h2.table.TableFilter.getFilterCondition:()Lorg/h2/expression/Expression;
invokevirtual org.h2.table.TableFilter.isOk:(Lorg/h2/expression/Expression;)Z
istore 2
start local 2 1: aload 0
getfield org.h2.table.JoinBatch$JoinFilter.filter:Lorg/h2/table/TableFilter;
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.filter:Lorg/h2/table/TableFilter;
invokevirtual org.h2.table.TableFilter.getJoinCondition:()Lorg/h2/expression/Expression;
invokevirtual org.h2.table.TableFilter.isOk:(Lorg/h2/expression/Expression;)Z
istore 3
start local 3 2: iload 2
ifeq 4
iload 1
ifne 3
iload 3
ifeq 4
StackMap locals: int int
StackMap stack:
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/table/JoinBatch$JoinFilter;
0 5 1 ignoreJoinCondition Z
1 5 2 filterOk Z
2 5 3 joinOk Z
MethodParameters:
Name Flags
ignoreJoinCondition
boolean collectSearchRows();
descriptor: ()Z
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic org.h2.table.JoinBatch$JoinFilter.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual org.h2.table.JoinBatch$JoinFilter.isBatchFull:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.filter:Lorg/h2/table/TableFilter;
invokevirtual org.h2.table.TableFilter.getIndexCursor:()Lorg/h2/index/IndexCursor;
astore 1
start local 1 2: aload 1
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.filter:Lorg/h2/table/TableFilter;
invokevirtual org.h2.table.TableFilter.getSession:()Lorg/h2/engine/Session;
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.filter:Lorg/h2/table/TableFilter;
invokevirtual org.h2.table.TableFilter.getIndexConditions:()Ljava/util/ArrayList;
invokevirtual org.h2.index.IndexCursor.prepare:(Lorg/h2/engine/Session;Ljava/util/ArrayList;)V
3: aload 1
invokevirtual org.h2.index.IndexCursor.isAlwaysFalse:()Z
ifeq 5
4: iconst_0
ireturn
5: StackMap locals: org.h2.index.IndexCursor
StackMap stack:
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.lookupBatch:Lorg/h2/index/IndexLookupBatch;
aload 1
invokevirtual org.h2.index.IndexCursor.getStart:()Lorg/h2/result/SearchRow;
aload 1
invokevirtual org.h2.index.IndexCursor.getEnd:()Lorg/h2/result/SearchRow;
invokeinterface org.h2.index.IndexLookupBatch.addSearchRows:(Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/table/JoinBatch$JoinFilter;
2 6 1 c Lorg/h2/index/IndexCursor;
java.util.List<java.util.concurrent.Future<org.h2.index.Cursor>> find();
descriptor: ()Ljava/util/List;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.table.JoinBatch$JoinFilter.lookupBatch:Lorg/h2/index/IndexLookupBatch;
invokeinterface org.h2.index.IndexLookupBatch.find:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/JoinBatch$JoinFilter;
Signature: ()Ljava/util/List<Ljava/util/concurrent/Future<Lorg/h2/index/Cursor;>;>;
org.h2.table.JoinBatch$JoinRow find(org.h2.table.JoinBatch$JoinRow);
descriptor: (Lorg/h2/table/JoinBatch$JoinRow;)Lorg/h2/table/JoinBatch$JoinRow;
flags: (0x0000)
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: getstatic org.h2.table.JoinBatch$JoinFilter.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.lookupBatch:Lorg/h2/index/IndexLookupBatch;
invokeinterface org.h2.index.IndexLookupBatch.find:()Ljava/util/List;
astore 2
start local 2 2: aload 2
invokeinterface java.util.List.size:()I
istore 3
start local 3 3: goto 17
4: StackMap locals: java.util.List int
StackMap stack:
getstatic org.h2.table.JoinBatch$JoinFilter.$assertionsDisabled:Z
ifne 5
aload 1
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.id:I
iconst_1
isub
invokevirtual org.h2.table.JoinBatch$JoinRow.isRow:(I)Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.id:I
invokevirtual org.h2.table.JoinBatch$JoinRow.row:(I)Ljava/lang/Object;
getstatic org.h2.table.JoinBatch.EMPTY_CURSOR:Lorg/h2/index/Cursor;
if_acmpne 8
6: aload 1
getfield org.h2.table.JoinBatch$JoinRow.prev:Lorg/h2/table/JoinBatch$JoinRow;
astore 1
7: goto 17
8: StackMap locals:
StackMap stack:
getstatic org.h2.table.JoinBatch$JoinFilter.$assertionsDisabled:Z
ifne 9
aload 1
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.id:I
invokevirtual org.h2.table.JoinBatch$JoinRow.row:(I)Ljava/lang/Object;
ifnull 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 2
iinc 3 -1
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.concurrent.Future
astore 4
start local 4 10: aload 4
ifnonnull 13
11: aload 1
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.id:I
getstatic org.h2.table.JoinBatch.EMPTY_CURSOR:Lorg/h2/index/Cursor;
lconst_0
ldc 2
invokevirtual org.h2.table.JoinBatch$JoinRow.updateRow:(ILjava/lang/Object;JJ)V
12: goto 14
13: StackMap locals: java.util.concurrent.Future
StackMap stack:
aload 1
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.id:I
aload 4
lconst_0
lconst_1
invokevirtual org.h2.table.JoinBatch$JoinRow.updateRow:(ILjava/lang/Object;JJ)V
14: StackMap locals:
StackMap stack:
aload 1
getfield org.h2.table.JoinBatch$JoinRow.prev:Lorg/h2/table/JoinBatch$JoinRow;
ifnull 20
iload 3
ifne 16
15: goto 20
16: StackMap locals:
StackMap stack:
aload 1
getfield org.h2.table.JoinBatch$JoinRow.prev:Lorg/h2/table/JoinBatch$JoinRow;
astore 1
end local 4 17: StackMap locals:
StackMap stack:
iload 3
ifgt 4
end local 3 18: goto 20
19: StackMap locals:
StackMap stack:
aload 1
getfield org.h2.table.JoinBatch$JoinRow.prev:Lorg/h2/table/JoinBatch$JoinRow;
astore 1
20: StackMap locals:
StackMap stack:
aload 1
getfield org.h2.table.JoinBatch$JoinRow.prev:Lorg/h2/table/JoinBatch$JoinRow;
ifnull 21
aload 1
getfield org.h2.table.JoinBatch$JoinRow.prev:Lorg/h2/table/JoinBatch$JoinRow;
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.id:I
invokevirtual org.h2.table.JoinBatch$JoinRow.row:(I)Ljava/lang/Object;
getstatic org.h2.table.JoinBatch.EMPTY_CURSOR:Lorg/h2/index/Cursor;
if_acmpeq 19
21: StackMap locals:
StackMap stack:
getstatic org.h2.table.JoinBatch$JoinFilter.$assertionsDisabled:Z
ifne 22
aload 1
getfield org.h2.table.JoinBatch$JoinRow.prev:Lorg/h2/table/JoinBatch$JoinRow;
ifnull 22
aload 1
getfield org.h2.table.JoinBatch$JoinRow.prev:Lorg/h2/table/JoinBatch$JoinRow;
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.id:I
invokevirtual org.h2.table.JoinBatch$JoinRow.isRow:(I)Z
ifne 22
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
22: StackMap locals:
StackMap stack:
getstatic org.h2.table.JoinBatch$JoinFilter.$assertionsDisabled:Z
ifne 23
aload 1
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.id:I
invokevirtual org.h2.table.JoinBatch$JoinRow.row:(I)Ljava/lang/Object;
ifnonnull 23
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
23: StackMap locals:
StackMap stack:
getstatic org.h2.table.JoinBatch$JoinFilter.$assertionsDisabled:Z
ifne 24
aload 1
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.id:I
invokevirtual org.h2.table.JoinBatch$JoinRow.isRow:(I)Z
ifeq 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/h2/table/JoinBatch$JoinFilter;
0 25 1 current Lorg/h2/table/JoinBatch$JoinRow;
2 25 2 result Ljava/util/List<Ljava/util/concurrent/Future<Lorg/h2/index/Cursor;>;>;
3 18 3 i I
10 17 4 future Ljava/util/concurrent/Future<Lorg/h2/index/Cursor;>;
MethodParameters:
Name Flags
current
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "JoinFilter->"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.table.JoinBatch$JoinFilter.filter:Lorg/h2/table/TableFilter;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/JoinBatch$JoinFilter;
}
SourceFile: "JoinBatch.java"
NestHost: org.h2.table.JoinBatch
InnerClasses:
private final JoinFilter = org.h2.table.JoinBatch$JoinFilter of org.h2.table.JoinBatch
private final JoinRow = org.h2.table.JoinBatch$JoinRow of org.h2.table.JoinBatch