class io.ebeaninternal.server.query.CQueryBuilderRawSql
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.ebeaninternal.server.query.CQueryBuilderRawSql
super_class: java.lang.Object
{
private final io.ebean.config.dbplatform.SqlLimiter sqlLimiter;
descriptor: Lio/ebean/config/dbplatform/SqlLimiter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.ebean.config.dbplatform.DatabasePlatform dbPlatform;
descriptor: Lio/ebean/config/dbplatform/DatabasePlatform;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(io.ebean.config.dbplatform.SqlLimiter, io.ebean.config.dbplatform.DatabasePlatform);
descriptor: (Lio/ebean/config/dbplatform/SqlLimiter;Lio/ebean/config/dbplatform/DatabasePlatform;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.ebeaninternal.server.query.CQueryBuilderRawSql.sqlLimiter:Lio/ebean/config/dbplatform/SqlLimiter;
2: aload 0
aload 2
putfield io.ebeaninternal.server.query.CQueryBuilderRawSql.dbPlatform:Lio/ebean/config/dbplatform/DatabasePlatform;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/ebeaninternal/server/query/CQueryBuilderRawSql;
0 4 1 sqlLimiter Lio/ebean/config/dbplatform/SqlLimiter;
0 4 2 dbPlatform Lio/ebean/config/dbplatform/DatabasePlatform;
MethodParameters:
Name Flags
sqlLimiter
dbPlatform
io.ebean.config.dbplatform.SqlLimitResponse buildSql(io.ebeaninternal.server.core.OrmQueryRequest<?>, io.ebeaninternal.server.query.CQueryPredicates, io.ebeaninternal.server.rawsql.SpiRawSql$Sql);
descriptor: (Lio/ebeaninternal/server/core/OrmQueryRequest;Lio/ebeaninternal/server/query/CQueryPredicates;Lio/ebeaninternal/server/rawsql/SpiRawSql$Sql;)Lio/ebean/config/dbplatform/SqlLimitResponse;
flags: (0x0000)
Code:
stack=8, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnonnull 2
1: new io.ebean.config.dbplatform.SqlLimitResponse
dup
ldc "--ResultSetBasedRawSql"
invokespecial io.ebean.config.dbplatform.SqlLimitResponse.<init>:(Ljava/lang/String;)V
areturn
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.ebeaninternal.server.rawsql.SpiRawSql$Sql.isParsed:()Z
ifne 8
3: aload 3
invokevirtual io.ebeaninternal.server.rawsql.SpiRawSql$Sql.getUnparsedSql:()Ljava/lang/String;
astore 4
start local 4 4: aload 1
invokevirtual io.ebeaninternal.server.core.OrmQueryRequest.getQuery:()Lio/ebeaninternal/api/SpiQuery;
invokeinterface io.ebeaninternal.api.SpiQuery.getBindParams:()Lio/ebeaninternal/api/BindParams;
astore 5
start local 5 5: aload 5
ifnull 7
aload 5
invokevirtual io.ebeaninternal.api.BindParams.requiresNamedParamsPrepare:()Z
ifeq 7
6: aload 5
aload 4
invokestatic io.ebeaninternal.server.util.BindParamsParser.parse:(Lio/ebeaninternal/api/BindParams;Ljava/lang/String;)Ljava/lang/String;
astore 4
7: StackMap locals: java.lang.String io.ebeaninternal.api.BindParams
StackMap stack:
new io.ebean.config.dbplatform.SqlLimitResponse
dup
aload 4
invokespecial io.ebean.config.dbplatform.SqlLimitResponse.<init>:(Ljava/lang/String;)V
areturn
end local 5 end local 4 8: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual io.ebeaninternal.server.query.CQueryBuilderRawSql.getOrderBy:(Lio/ebeaninternal/server/query/CQueryPredicates;Lio/ebeaninternal/server/rawsql/SpiRawSql$Sql;)Ljava/lang/String;
astore 4
start local 4 9: aload 0
aload 4
aload 1
aload 2
aload 3
invokevirtual io.ebeaninternal.server.query.CQueryBuilderRawSql.buildMainQuery:(Ljava/lang/String;Lio/ebeaninternal/server/core/OrmQueryRequest;Lio/ebeaninternal/server/query/CQueryPredicates;Lio/ebeaninternal/server/rawsql/SpiRawSql$Sql;)Ljava/lang/String;
astore 5
start local 5 10: aload 1
invokevirtual io.ebeaninternal.server.core.OrmQueryRequest.getQuery:()Lio/ebeaninternal/api/SpiQuery;
astore 6
start local 6 11: aload 6
invokeinterface io.ebeaninternal.api.SpiQuery.hasMaxRowsOrFirstRow:()Z
ifeq 16
aload 0
getfield io.ebeaninternal.server.query.CQueryBuilderRawSql.sqlLimiter:Lio/ebean/config/dbplatform/SqlLimiter;
ifnull 16
12: aload 0
getfield io.ebeaninternal.server.query.CQueryBuilderRawSql.sqlLimiter:Lio/ebean/config/dbplatform/SqlLimiter;
13: new io.ebeaninternal.server.querydefn.OrmQueryLimitRequest
dup
aload 5
aload 4
aload 6
aload 0
getfield io.ebeaninternal.server.query.CQueryBuilderRawSql.dbPlatform:Lio/ebean/config/dbplatform/DatabasePlatform;
aload 3
invokevirtual io.ebeaninternal.server.rawsql.SpiRawSql$Sql.isDistinct:()Z
ifne 14
aload 6
invokeinterface io.ebeaninternal.api.SpiQuery.isDistinct:()Z
ifne 14
iconst_0
goto 15
StackMap locals: io.ebeaninternal.server.query.CQueryBuilderRawSql io.ebeaninternal.server.core.OrmQueryRequest io.ebeaninternal.server.query.CQueryPredicates io.ebeaninternal.server.rawsql.SpiRawSql$Sql java.lang.String java.lang.String io.ebeaninternal.api.SpiQuery
StackMap stack: io.ebean.config.dbplatform.SqlLimiter new 13 new 13 java.lang.String java.lang.String io.ebeaninternal.api.SpiQuery io.ebean.config.dbplatform.DatabasePlatform
14: iconst_1
StackMap locals: io.ebeaninternal.server.query.CQueryBuilderRawSql io.ebeaninternal.server.core.OrmQueryRequest io.ebeaninternal.server.query.CQueryPredicates io.ebeaninternal.server.rawsql.SpiRawSql$Sql java.lang.String java.lang.String io.ebeaninternal.api.SpiQuery
StackMap stack: io.ebean.config.dbplatform.SqlLimiter new 13 new 13 java.lang.String java.lang.String io.ebeaninternal.api.SpiQuery io.ebean.config.dbplatform.DatabasePlatform int
15: invokespecial io.ebeaninternal.server.querydefn.OrmQueryLimitRequest.<init>:(Ljava/lang/String;Ljava/lang/String;Lio/ebeaninternal/api/SpiQuery;Lio/ebean/config/dbplatform/DatabasePlatform;Z)V
invokeinterface io.ebean.config.dbplatform.SqlLimiter.limit:(Lio/ebean/config/dbplatform/SqlLimitRequest;)Lio/ebean/config/dbplatform/SqlLimitResponse;
areturn
16: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "select "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual io.ebeaninternal.server.rawsql.SpiRawSql$Sql.isDistinct:()Z
ifeq 17
ldc "distinct "
goto 18
StackMap locals:
StackMap stack: java.lang.StringBuilder
17: ldc ""
StackMap locals: io.ebeaninternal.server.query.CQueryBuilderRawSql io.ebeaninternal.server.core.OrmQueryRequest io.ebeaninternal.server.query.CQueryPredicates io.ebeaninternal.server.rawsql.SpiRawSql$Sql java.lang.String java.lang.String io.ebeaninternal.api.SpiQuery
StackMap stack: java.lang.StringBuilder java.lang.String
18: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 19: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
20: new io.ebean.config.dbplatform.SqlLimitResponse
dup
aload 5
invokespecial io.ebean.config.dbplatform.SqlLimitResponse.<init>:(Ljava/lang/String;)V
areturn
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 21 0 this Lio/ebeaninternal/server/query/CQueryBuilderRawSql;
0 21 1 request Lio/ebeaninternal/server/core/OrmQueryRequest<*>;
0 21 2 predicates Lio/ebeaninternal/server/query/CQueryPredicates;
0 21 3 rsql Lio/ebeaninternal/server/rawsql/SpiRawSql$Sql;
4 8 4 sql Ljava/lang/String;
5 8 5 bindParams Lio/ebeaninternal/api/BindParams;
9 21 4 orderBy Ljava/lang/String;
10 21 5 sql Ljava/lang/String;
11 21 6 query Lio/ebeaninternal/api/SpiQuery<*>;
19 21 7 prefix Ljava/lang/String;
Signature: (Lio/ebeaninternal/server/core/OrmQueryRequest<*>;Lio/ebeaninternal/server/query/CQueryPredicates;Lio/ebeaninternal/server/rawsql/SpiRawSql$Sql;)Lio/ebean/config/dbplatform/SqlLimitResponse;
MethodParameters:
Name Flags
request
predicates
rsql
private java.lang.String buildMainQuery(java.lang.String, io.ebeaninternal.server.core.OrmQueryRequest<?>, io.ebeaninternal.server.query.CQueryPredicates, io.ebeaninternal.server.rawsql.SpiRawSql$Sql);
descriptor: (Ljava/lang/String;Lio/ebeaninternal/server/core/OrmQueryRequest;Lio/ebeaninternal/server/query/CQueryPredicates;Lio/ebeaninternal/server/rawsql/SpiRawSql$Sql;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 1: aload 5
aload 4
invokevirtual io.ebeaninternal.server.rawsql.SpiRawSql$Sql.getPreFrom:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 5
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 4
invokevirtual io.ebeaninternal.server.rawsql.SpiRawSql$Sql.getPreWhere:()Ljava/lang/String;
astore 6
start local 6 4: aload 2
invokevirtual io.ebeaninternal.server.core.OrmQueryRequest.getQuery:()Lio/ebeaninternal/api/SpiQuery;
invokeinterface io.ebeaninternal.api.SpiQuery.getBindParams:()Lio/ebeaninternal/api/BindParams;
astore 7
start local 7 5: aload 7
ifnull 7
aload 7
invokevirtual io.ebeaninternal.api.BindParams.requiresNamedParamsPrepare:()Z
ifeq 7
6: aload 7
aload 6
invokestatic io.ebeaninternal.server.util.BindParamsParser.parse:(Lio/ebeaninternal/api/BindParams;Ljava/lang/String;)Ljava/lang/String;
astore 6
7: StackMap locals: java.lang.StringBuilder java.lang.String io.ebeaninternal.api.BindParams
StackMap stack:
aload 5
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 5
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aconst_null
astore 8
start local 8 10: aload 2
invokevirtual io.ebeaninternal.server.core.OrmQueryRequest.getQuery:()Lio/ebeaninternal/api/SpiQuery;
invokeinterface io.ebeaninternal.api.SpiQuery.getId:()Ljava/lang/Object;
ifnull 13
11: aload 2
invokevirtual io.ebeaninternal.server.core.OrmQueryRequest.getBeanDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
astore 9
start local 9 12: aload 9
aconst_null
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdBinderIdSql:(Ljava/lang/String;)Ljava/lang/String;
astore 8
end local 9 13: StackMap locals: java.lang.String
StackMap stack:
aload 3
invokevirtual io.ebeaninternal.server.query.CQueryPredicates.getDbWhere:()Ljava/lang/String;
astore 9
start local 9 14: aload 0
aload 9
invokevirtual io.ebeaninternal.server.query.CQueryBuilderRawSql.hasValue:(Ljava/lang/String;)Z
ifeq 19
15: aload 8
ifnonnull 18
16: aload 9
astore 8
17: goto 19
18: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 8
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
19: StackMap locals:
StackMap stack:
aload 0
aload 8
invokevirtual io.ebeaninternal.server.query.CQueryBuilderRawSql.hasValue:(Ljava/lang/String;)Z
ifeq 26
20: aload 4
invokevirtual io.ebeaninternal.server.rawsql.SpiRawSql$Sql.isAndWhereExpr:()Z
ifeq 23
21: aload 5
ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: goto 24
23: StackMap locals:
StackMap stack:
aload 5
ldc " where "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
24: StackMap locals:
StackMap stack:
aload 5
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
25: aload 5
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: StackMap locals:
StackMap stack:
aload 4
invokevirtual io.ebeaninternal.server.rawsql.SpiRawSql$Sql.getPreHaving:()Ljava/lang/String;
astore 10
start local 10 27: aload 0
aload 10
invokevirtual io.ebeaninternal.server.query.CQueryBuilderRawSql.hasValue:(Ljava/lang/String;)Z
ifeq 30
28: aload 5
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
29: aload 5
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
30: StackMap locals: java.lang.String
StackMap stack:
aload 3
invokevirtual io.ebeaninternal.server.query.CQueryPredicates.getDbHaving:()Ljava/lang/String;
astore 11
start local 11 31: aload 0
aload 11
invokevirtual io.ebeaninternal.server.query.CQueryBuilderRawSql.hasValue:(Ljava/lang/String;)Z
ifeq 39
32: aload 5
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
33: aload 4
invokevirtual io.ebeaninternal.server.rawsql.SpiRawSql$Sql.isAndHavingExpr:()Z
ifeq 36
34: aload 5
ldc "and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
35: goto 37
36: StackMap locals: java.lang.String
StackMap stack:
aload 5
ldc "having "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
37: StackMap locals:
StackMap stack:
aload 5
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
38: aload 5
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
39: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.ebeaninternal.server.query.CQueryBuilderRawSql.hasValue:(Ljava/lang/String;)Z
ifeq 41
40: aload 5
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual io.ebeaninternal.server.rawsql.SpiRawSql$Sql.getOrderByPrefix:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
41: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
areturn
end local 11 end local 10 end local 9 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 42 0 this Lio/ebeaninternal/server/query/CQueryBuilderRawSql;
0 42 1 orderBy Ljava/lang/String;
0 42 2 request Lio/ebeaninternal/server/core/OrmQueryRequest<*>;
0 42 3 predicates Lio/ebeaninternal/server/query/CQueryPredicates;
0 42 4 sql Lio/ebeaninternal/server/rawsql/SpiRawSql$Sql;
1 42 5 sb Ljava/lang/StringBuilder;
4 42 6 s Ljava/lang/String;
5 42 7 bindParams Lio/ebeaninternal/api/BindParams;
10 42 8 dynamicWhere Ljava/lang/String;
12 13 9 descriptor Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
14 42 9 dbWhere Ljava/lang/String;
27 42 10 preHaving Ljava/lang/String;
31 42 11 dbHaving Ljava/lang/String;
Signature: (Ljava/lang/String;Lio/ebeaninternal/server/core/OrmQueryRequest<*>;Lio/ebeaninternal/server/query/CQueryPredicates;Lio/ebeaninternal/server/rawsql/SpiRawSql$Sql;)Ljava/lang/String;
MethodParameters:
Name Flags
orderBy
request
predicates
sql
private boolean hasValue(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/ebeaninternal/server/query/CQueryBuilderRawSql;
0 2 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private java.lang.String getOrderBy(io.ebeaninternal.server.query.CQueryPredicates, io.ebeaninternal.server.rawsql.SpiRawSql$Sql);
descriptor: (Lio/ebeaninternal/server/query/CQueryPredicates;Lio/ebeaninternal/server/rawsql/SpiRawSql$Sql;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.ebeaninternal.server.query.CQueryPredicates.getDbOrderBy:()Ljava/lang/String;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokevirtual io.ebeaninternal.server.rawsql.SpiRawSql$Sql.getOrderBy:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/ebeaninternal/server/query/CQueryBuilderRawSql;
0 4 1 predicates Lio/ebeaninternal/server/query/CQueryPredicates;
0 4 2 sql Lio/ebeaninternal/server/rawsql/SpiRawSql$Sql;
1 4 3 orderBy Ljava/lang/String;
MethodParameters:
Name Flags
predicates
sql
}
SourceFile: "CQueryBuilderRawSql.java"
InnerClasses:
public final Sql = io.ebeaninternal.server.rawsql.SpiRawSql$Sql of io.ebeaninternal.server.rawsql.SpiRawSql