class io.ebeaninternal.server.persist.ExeCallableSql
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.ebeaninternal.server.persist.ExeCallableSql
super_class: java.lang.Object
{
private final io.ebeaninternal.server.persist.Binder binder;
descriptor: Lio/ebeaninternal/server/persist/Binder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.ebeaninternal.server.persist.PstmtFactory pstmtFactory;
descriptor: Lio/ebeaninternal/server/persist/PstmtFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(io.ebeaninternal.server.persist.Binder);
descriptor: (Lio/ebeaninternal/server/persist/Binder;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 // io.ebeaninternal.server.persist.ExeCallableSql this
start local 1 // io.ebeaninternal.server.persist.Binder binder
0: .line 22
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 23
aload 0 /* this */
aload 1 /* binder */
putfield io.ebeaninternal.server.persist.ExeCallableSql.binder:Lio/ebeaninternal/server/persist/Binder;
2: .line 24
aload 0 /* this */
new io.ebeaninternal.server.persist.PstmtFactory
dup
invokespecial io.ebeaninternal.server.persist.PstmtFactory.<init>:()V
putfield io.ebeaninternal.server.persist.ExeCallableSql.pstmtFactory:Lio/ebeaninternal/server/persist/PstmtFactory;
3: .line 25
return
end local 1 // io.ebeaninternal.server.persist.Binder binder
end local 0 // io.ebeaninternal.server.persist.ExeCallableSql this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/ebeaninternal/server/persist/ExeCallableSql;
0 4 1 binder Lio/ebeaninternal/server/persist/Binder;
MethodParameters:
Name Flags
binder
public int execute(io.ebeaninternal.server.core.PersistRequestCallableSql);
descriptor: (Lio/ebeaninternal/server/core/PersistRequestCallableSql;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 // io.ebeaninternal.server.persist.ExeCallableSql this
start local 1 // io.ebeaninternal.server.core.PersistRequestCallableSql request
0: .line 32
aload 1 /* request */
invokevirtual io.ebeaninternal.server.core.PersistRequestCallableSql.isBatchThisRequest:()Z
istore 2 /* batchThisRequest */
start local 2 // boolean batchThisRequest
1: .line 34
aconst_null
astore 3 /* cstmt */
start local 3 // java.sql.CallableStatement cstmt
2: .line 36
aload 0 /* this */
aload 1 /* request */
iload 2 /* batchThisRequest */
invokevirtual io.ebeaninternal.server.persist.ExeCallableSql.bindStmt:(Lio/ebeaninternal/server/core/PersistRequestCallableSql;Z)Ljava/sql/CallableStatement;
astore 3 /* cstmt */
3: .line 37
iload 2 /* batchThisRequest */
ifeq 8
4: .line 38
aload 3 /* cstmt */
invokeinterface java.sql.CallableStatement.addBatch:()V
5: .line 53
iload 2 /* batchThisRequest */
ifne 7
6: .line 54
aload 3 /* cstmt */
invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/Statement;)V
7: .line 40
StackMap locals: int java.sql.CallableStatement
StackMap stack:
iconst_m1
ireturn
8: .line 44
StackMap locals:
StackMap stack:
aload 1 /* request */
invokevirtual io.ebeaninternal.server.core.PersistRequestCallableSql.executeUpdate:()I
istore 4 /* rowCount */
start local 4 // int rowCount
9: .line 45
aload 1 /* request */
invokevirtual io.ebeaninternal.server.core.PersistRequestCallableSql.postExecute:()V
10: .line 46
iload 4 /* rowCount */
istore 6
11: .line 53
iload 2 /* batchThisRequest */
ifne 13
12: .line 54
aload 3 /* cstmt */
invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/Statement;)V
13: .line 46
StackMap locals: io.ebeaninternal.server.persist.ExeCallableSql io.ebeaninternal.server.core.PersistRequestCallableSql int java.sql.CallableStatement int top int
StackMap stack:
iload 6
ireturn
end local 4 // int rowCount
14: .line 49
StackMap locals: io.ebeaninternal.server.persist.ExeCallableSql io.ebeaninternal.server.core.PersistRequestCallableSql int java.sql.CallableStatement
StackMap stack: java.sql.SQLException
astore 4 /* ex */
start local 4 // java.sql.SQLException ex
15: .line 50
aload 1 /* request */
aload 4 /* ex */
invokevirtual io.ebeaninternal.server.core.PersistRequestCallableSql.translateSqlException:(Ljava/sql/SQLException;)Ljavax/persistence/PersistenceException;
athrow
end local 4 // java.sql.SQLException ex
16: .line 52
StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
17: .line 53
iload 2 /* batchThisRequest */
ifne 19
18: .line 54
aload 3 /* cstmt */
invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/Statement;)V
19: .line 56
StackMap locals: io.ebeaninternal.server.persist.ExeCallableSql io.ebeaninternal.server.core.PersistRequestCallableSql int java.sql.CallableStatement top java.lang.Throwable
StackMap stack:
aload 5
athrow
end local 3 // java.sql.CallableStatement cstmt
end local 2 // boolean batchThisRequest
end local 1 // io.ebeaninternal.server.core.PersistRequestCallableSql request
end local 0 // io.ebeaninternal.server.persist.ExeCallableSql this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/ebeaninternal/server/persist/ExeCallableSql;
0 20 1 request Lio/ebeaninternal/server/core/PersistRequestCallableSql;
1 20 2 batchThisRequest Z
2 20 3 cstmt Ljava/sql/CallableStatement;
9 14 4 rowCount I
15 16 4 ex Ljava/sql/SQLException;
Exception table:
from to target type
2 5 14 Class java.sql.SQLException
8 11 14 Class java.sql.SQLException
2 5 16 any
8 11 16 any
14 16 16 any
MethodParameters:
Name Flags
request
private java.sql.CallableStatement bindStmt(io.ebeaninternal.server.core.PersistRequestCallableSql, boolean);
descriptor: (Lio/ebeaninternal/server/core/PersistRequestCallableSql;Z)Ljava/sql/CallableStatement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=3
start local 0 // io.ebeaninternal.server.persist.ExeCallableSql this
start local 1 // io.ebeaninternal.server.core.PersistRequestCallableSql request
start local 2 // boolean batchThisRequest
0: .line 62
aload 1 /* request */
iload 2 /* batchThisRequest */
invokevirtual io.ebeaninternal.server.core.PersistRequestCallableSql.startBind:(Z)V
1: .line 63
aload 1 /* request */
invokevirtual io.ebeaninternal.server.core.PersistRequestCallableSql.getCallableSql:()Lio/ebeaninternal/api/SpiCallableSql;
astore 3 /* callableSql */
start local 3 // io.ebeaninternal.api.SpiCallableSql callableSql
2: .line 64
aload 1 /* request */
invokevirtual io.ebeaninternal.server.core.PersistRequestCallableSql.getTransaction:()Lio/ebeaninternal/api/SpiTransaction;
astore 4 /* t */
start local 4 // io.ebeaninternal.api.SpiTransaction t
3: .line 66
aload 3 /* callableSql */
invokeinterface io.ebeaninternal.api.SpiCallableSql.getSql:()Ljava/lang/String;
astore 5 /* sql */
start local 5 // java.lang.String sql
4: .line 68
aload 3 /* callableSql */
invokeinterface io.ebeaninternal.api.SpiCallableSql.getBindParams:()Lio/ebeaninternal/api/BindParams;
astore 6 /* bindParams */
start local 6 // io.ebeaninternal.api.BindParams bindParams
5: .line 71
aload 6 /* bindParams */
aload 5 /* sql */
invokestatic io.ebeaninternal.server.util.BindParamsParser.parse:(Lio/ebeaninternal/api/BindParams;Ljava/lang/String;)Ljava/lang/String;
astore 5 /* sql */
6: .line 73
aload 1 /* request */
invokevirtual io.ebeaninternal.server.core.PersistRequestCallableSql.isLogSql:()Z
istore 7 /* logSql */
start local 7 // boolean logSql
7: .line 76
iload 2 /* batchThisRequest */
ifeq 10
8: .line 77
aload 0 /* this */
getfield io.ebeaninternal.server.persist.ExeCallableSql.pstmtFactory:Lio/ebeaninternal/server/persist/PstmtFactory;
aload 4 /* t */
iload 7 /* logSql */
aload 5 /* sql */
aload 1 /* request */
invokevirtual io.ebeaninternal.server.persist.PstmtFactory.getCstmtBatch:(Lio/ebeaninternal/api/SpiTransaction;ZLjava/lang/String;Lio/ebeaninternal/server/persist/BatchPostExecute;)Ljava/sql/CallableStatement;
astore 8 /* cstmt */
start local 8 // java.sql.CallableStatement cstmt
9: .line 78
goto 13
end local 8 // java.sql.CallableStatement cstmt
10: .line 79
StackMap locals: io.ebeaninternal.server.persist.ExeCallableSql io.ebeaninternal.server.core.PersistRequestCallableSql int io.ebeaninternal.api.SpiCallableSql io.ebeaninternal.api.SpiTransaction java.lang.String io.ebeaninternal.api.BindParams int
StackMap stack:
iload 7 /* logSql */
ifeq 12
11: .line 80
aload 4 /* t */
aload 5 /* sql */
invokestatic io.ebeaninternal.server.persist.TrimLogSql.trim:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface io.ebeaninternal.api.SpiTransaction.logSql:(Ljava/lang/String;)V
12: .line 82
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.ebeaninternal.server.persist.ExeCallableSql.pstmtFactory:Lio/ebeaninternal/server/persist/PstmtFactory;
aload 4 /* t */
aload 5 /* sql */
invokevirtual io.ebeaninternal.server.persist.PstmtFactory.getCstmt:(Lio/ebeaninternal/api/SpiTransaction;Ljava/lang/String;)Ljava/sql/CallableStatement;
astore 8 /* cstmt */
start local 8 // java.sql.CallableStatement cstmt
13: .line 85
StackMap locals: java.sql.CallableStatement
StackMap stack:
aload 3 /* callableSql */
invokeinterface io.ebeaninternal.api.SpiCallableSql.getTimeout:()I
ifle 15
14: .line 86
aload 8 /* cstmt */
aload 3 /* callableSql */
invokeinterface io.ebeaninternal.api.SpiCallableSql.getTimeout:()I
invokeinterface java.sql.CallableStatement.setQueryTimeout:(I)V
15: .line 89
StackMap locals:
StackMap stack:
aconst_null
astore 9 /* bindLog */
start local 9 // java.lang.String bindLog
16: .line 90
aload 6 /* bindParams */
invokevirtual io.ebeaninternal.api.BindParams.isEmpty:()Z
ifne 18
17: .line 91
aload 0 /* this */
getfield io.ebeaninternal.server.persist.ExeCallableSql.binder:Lio/ebeaninternal/server/persist/Binder;
aload 6 /* bindParams */
aload 8 /* cstmt */
aload 4 /* t */
invokeinterface io.ebeaninternal.api.SpiTransaction.getInternalConnection:()Ljava/sql/Connection;
invokevirtual io.ebeaninternal.server.persist.Binder.bind:(Lio/ebeaninternal/api/BindParams;Ljava/sql/PreparedStatement;Ljava/sql/Connection;)Ljava/lang/String;
astore 9 /* bindLog */
18: .line 94
StackMap locals: java.lang.String
StackMap stack:
aload 1 /* request */
aload 9 /* bindLog */
invokevirtual io.ebeaninternal.server.core.PersistRequestCallableSql.setBindLog:(Ljava/lang/String;)V
19: .line 97
aload 1 /* request */
aload 6 /* bindParams */
aload 8 /* cstmt */
invokevirtual io.ebeaninternal.server.core.PersistRequestCallableSql.setBound:(Lio/ebeaninternal/api/BindParams;Ljava/sql/CallableStatement;)V
20: .line 98
aload 8 /* cstmt */
areturn
end local 9 // java.lang.String bindLog
end local 8 // java.sql.CallableStatement cstmt
end local 7 // boolean logSql
end local 6 // io.ebeaninternal.api.BindParams bindParams
end local 5 // java.lang.String sql
end local 4 // io.ebeaninternal.api.SpiTransaction t
end local 3 // io.ebeaninternal.api.SpiCallableSql callableSql
end local 2 // boolean batchThisRequest
end local 1 // io.ebeaninternal.server.core.PersistRequestCallableSql request
end local 0 // io.ebeaninternal.server.persist.ExeCallableSql this
LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/ebeaninternal/server/persist/ExeCallableSql;
0 21 1 request Lio/ebeaninternal/server/core/PersistRequestCallableSql;
0 21 2 batchThisRequest Z
2 21 3 callableSql Lio/ebeaninternal/api/SpiCallableSql;
3 21 4 t Lio/ebeaninternal/api/SpiTransaction;
4 21 5 sql Ljava/lang/String;
5 21 6 bindParams Lio/ebeaninternal/api/BindParams;
7 21 7 logSql Z
9 10 8 cstmt Ljava/sql/CallableStatement;
13 21 8 cstmt Ljava/sql/CallableStatement;
16 21 9 bindLog Ljava/lang/String;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
request
batchThisRequest
}
SourceFile: "ExeCallableSql.java"