class io.ebeaninternal.server.query.CQueryPlanRawSql extends io.ebeaninternal.server.query.CQueryPlan
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.ebeaninternal.server.query.CQueryPlanRawSql
super_class: io.ebeaninternal.server.query.CQueryPlan
{
private final int[] rsetIndexPositions;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(io.ebeaninternal.server.core.OrmQueryRequest<?>, io.ebean.config.dbplatform.SqlLimitResponse, io.ebeaninternal.server.query.SqlTree, java.lang.String);
descriptor: (Lio/ebeaninternal/server/core/OrmQueryRequest;Lio/ebean/config/dbplatform/SqlLimitResponse;Lio/ebeaninternal/server/query/SqlTree;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
iconst_1
aload 4
invokespecial io.ebeaninternal.server.query.CQueryPlan.<init>:(Lio/ebeaninternal/server/core/OrmQueryRequest;Lio/ebean/config/dbplatform/SqlLimitResponse;Lio/ebeaninternal/server/query/SqlTree;ZLjava/lang/String;)V
1: aload 0
aload 0
aload 1
aload 3
invokevirtual io.ebeaninternal.server.query.CQueryPlanRawSql.createIndexPositions:(Lio/ebeaninternal/server/core/OrmQueryRequest;Lio/ebeaninternal/server/query/SqlTree;)[I
putfield io.ebeaninternal.server.query.CQueryPlanRawSql.rsetIndexPositions:[I
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/query/CQueryPlanRawSql;
0 3 1 request Lio/ebeaninternal/server/core/OrmQueryRequest<*>;
0 3 2 sqlRes Lio/ebean/config/dbplatform/SqlLimitResponse;
0 3 3 sqlTree Lio/ebeaninternal/server/query/SqlTree;
0 3 4 logWhereSql Ljava/lang/String;
Signature: (Lio/ebeaninternal/server/core/OrmQueryRequest<*>;Lio/ebean/config/dbplatform/SqlLimitResponse;Lio/ebeaninternal/server/query/SqlTree;Ljava/lang/String;)V
MethodParameters:
Name Flags
request
sqlRes
sqlTree
logWhereSql
public io.ebean.core.type.DataReader createDataReader(java.sql.ResultSet);
descriptor: (Ljava/sql/ResultSet;)Lio/ebean/core/type/DataReader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new io.ebeaninternal.server.type.RsetDataReaderIndexed
dup
aload 0
getfield io.ebeaninternal.server.query.CQueryPlanRawSql.dataTimeZone:Lio/ebeaninternal/server/core/timezone/DataTimeZone;
aload 1
aload 0
getfield io.ebeaninternal.server.query.CQueryPlanRawSql.rsetIndexPositions:[I
invokespecial io.ebeaninternal.server.type.RsetDataReaderIndexed.<init>:(Lio/ebeaninternal/server/core/timezone/DataTimeZone;Ljava/sql/ResultSet;[I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/query/CQueryPlanRawSql;
0 1 1 rset Ljava/sql/ResultSet;
MethodParameters:
Name Flags
rset
private int[] createIndexPositions(io.ebeaninternal.server.core.OrmQueryRequest<?>, io.ebeaninternal.server.query.SqlTree);
descriptor: (Lio/ebeaninternal/server/core/OrmQueryRequest;Lio/ebeaninternal/server/query/SqlTree;)[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual io.ebeaninternal.server.query.SqlTree.buildRawSqlSelectChain:()Ljava/util/List;
astore 3
start local 3 1: aload 1
invokevirtual io.ebeaninternal.server.core.OrmQueryRequest.getQuery:()Lio/ebeaninternal/api/SpiQuery;
invokeinterface io.ebeaninternal.api.SpiQuery.getRawSql:()Lio/ebeaninternal/server/rawsql/SpiRawSql;
invokeinterface io.ebeaninternal.server.rawsql.SpiRawSql.getColumnMapping:()Lio/ebeaninternal/server/rawsql/SpiRawSql$ColumnMapping;
astore 4
start local 4 2: aload 3
invokeinterface java.util.List.size:()I
newarray 10
astore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 11
5: StackMap locals: io.ebeaninternal.server.query.CQueryPlanRawSql io.ebeaninternal.server.core.OrmQueryRequest io.ebeaninternal.server.query.SqlTree java.util.List io.ebeaninternal.server.rawsql.SpiRawSql$ColumnMapping int[] int
StackMap stack:
aload 3
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 6: aload 4
aload 7
invokevirtual io.ebeaninternal.server.rawsql.SpiRawSql$ColumnMapping.getIndexPosition:(Ljava/lang/String;)I
istore 8
start local 8 7: iload 8
iconst_m1
if_icmpne 9
aload 7
ldc ".id"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 9
8: aload 4
aload 0
aload 7
invokevirtual io.ebeaninternal.server.query.CQueryPlanRawSql.foreignKeyPath:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.ebeaninternal.server.rawsql.SpiRawSql$ColumnMapping.getIndexPosition:(Ljava/lang/String;)I
istore 8
9: StackMap locals: java.lang.String int
StackMap stack:
aload 5
iload 6
iconst_1
iload 8
iadd
iastore
end local 8 end local 7 10: iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
aload 3
invokeinterface java.util.List.size:()I
if_icmplt 5
end local 6 12: iconst_0
istore 6
start local 6 13: goto 17
14: StackMap locals:
StackMap stack:
aload 5
iload 6
iaload
ifne 16
15: aload 5
iload 6
aload 5
iload 6
iconst_1
iadd
iaload
iconst_1
isub
iastore
16: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
17: iload 6
aload 5
arraylength
if_icmplt 14
end local 6 18: aload 5
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 19 0 this Lio/ebeaninternal/server/query/CQueryPlanRawSql;
0 19 1 request Lio/ebeaninternal/server/core/OrmQueryRequest<*>;
0 19 2 sqlTree Lio/ebeaninternal/server/query/SqlTree;
1 19 3 chain Ljava/util/List<Ljava/lang/String;>;
2 19 4 columnMapping Lio/ebeaninternal/server/rawsql/SpiRawSql$ColumnMapping;
3 19 5 indexPositions [I
4 12 6 i I
6 10 7 logicalPropertyPath Ljava/lang/String;
7 10 8 mappedPosition I
13 18 6 i I
Signature: (Lio/ebeaninternal/server/core/OrmQueryRequest<*>;Lio/ebeaninternal/server/query/SqlTree;)[I
MethodParameters:
Name Flags
request
sqlTree
private java.lang.String foreignKeyPath(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
iconst_3
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Id"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/query/CQueryPlanRawSql;
0 1 1 logicalPropertyPath Ljava/lang/String;
MethodParameters:
Name Flags
logicalPropertyPath
}
SourceFile: "CQueryPlanRawSql.java"
InnerClasses:
public final ColumnMapping = io.ebeaninternal.server.rawsql.SpiRawSql$ColumnMapping of io.ebeaninternal.server.rawsql.SpiRawSql