class io.ebeaninternal.server.persist.ExeUpdateSql
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.ebeaninternal.server.persist.ExeUpdateSql
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 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.ebeaninternal.server.persist.ExeUpdateSql.binder:Lio/ebeaninternal/server/persist/Binder;
2: aload 0
new io.ebeaninternal.server.persist.PstmtFactory
dup
invokespecial io.ebeaninternal.server.persist.PstmtFactory.<init>:()V
putfield io.ebeaninternal.server.persist.ExeUpdateSql.pstmtFactory:Lio/ebeaninternal/server/persist/PstmtFactory;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/ebeaninternal/server/persist/ExeUpdateSql;
0 4 1 binder Lio/ebeaninternal/server/persist/Binder;
MethodParameters:
Name Flags
binder
public int execute(io.ebeaninternal.server.core.PersistRequestUpdateSql);
descriptor: (Lio/ebeaninternal/server/core/PersistRequestUpdateSql;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.isBatchThisRequest:()Z
istore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
aload 1
iload 2
invokevirtual io.ebeaninternal.server.persist.ExeUpdateSql.bindStmt:(Lio/ebeaninternal/server/core/PersistRequestUpdateSql;Z)Ljava/sql/PreparedStatement;
astore 3
3: iload 2
ifeq 8
4: aload 3
invokeinterface java.sql.PreparedStatement.addBatch:()V
5: iload 2
ifne 7
6: aload 3
invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/Statement;)V
7: StackMap locals: int java.sql.PreparedStatement
StackMap stack:
iconst_m1
ireturn
8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.sql.PreparedStatement.executeUpdate:()I
istore 4
start local 4 9: aload 1
iload 4
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.checkRowCount:(I)V
10: aload 1
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.isGetGeneratedKeys:()Z
ifeq 12
11: aload 0
aload 3
aload 1
invokevirtual io.ebeaninternal.server.persist.ExeUpdateSql.readGeneratedKeys:(Ljava/sql/PreparedStatement;Lio/ebeaninternal/server/core/PersistRequestUpdateSql;)V
12: StackMap locals: int
StackMap stack:
aload 1
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.postExecute:()V
13: iload 4
istore 6
14: iload 2
ifne 16
15: aload 3
invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/Statement;)V
16: StackMap locals: io.ebeaninternal.server.persist.ExeUpdateSql io.ebeaninternal.server.core.PersistRequestUpdateSql int java.sql.PreparedStatement int top int
StackMap stack:
iload 6
ireturn
end local 4 17: StackMap locals: io.ebeaninternal.server.persist.ExeUpdateSql io.ebeaninternal.server.core.PersistRequestUpdateSql int java.sql.PreparedStatement
StackMap stack: java.sql.SQLException
astore 4
start local 4 18: aload 1
aload 4
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.translateSqlException:(Ljava/sql/SQLException;)Ljavax/persistence/PersistenceException;
athrow
end local 4 19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
20: iload 2
ifne 22
21: aload 3
invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/Statement;)V
22: StackMap locals: io.ebeaninternal.server.persist.ExeUpdateSql io.ebeaninternal.server.core.PersistRequestUpdateSql int java.sql.PreparedStatement top java.lang.Throwable
StackMap stack:
aload 5
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lio/ebeaninternal/server/persist/ExeUpdateSql;
0 23 1 request Lio/ebeaninternal/server/core/PersistRequestUpdateSql;
1 23 2 batchThisRequest Z
2 23 3 pstmt Ljava/sql/PreparedStatement;
9 17 4 rowCount I
18 19 4 e Ljava/sql/SQLException;
Exception table:
from to target type
2 5 17 Class java.sql.SQLException
8 14 17 Class java.sql.SQLException
2 5 19 any
8 14 19 any
17 19 19 any
MethodParameters:
Name Flags
request
private void readGeneratedKeys(java.sql.PreparedStatement, io.ebeaninternal.server.core.PersistRequestUpdateSql);
descriptor: (Ljava/sql/PreparedStatement;Lio/ebeaninternal/server/core/PersistRequestUpdateSql;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 1
invokeinterface java.sql.PreparedStatement.getGeneratedKeys:()Ljava/sql/ResultSet;
astore 3
2: aload 3
invokeinterface java.sql.ResultSet.next:()Z
ifeq 10
3: aload 2
aload 3
iconst_1
invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.setGeneratedKey:(Ljava/lang/Object;)V
4: goto 10
StackMap locals: io.ebeaninternal.server.persist.ExeUpdateSql java.sql.PreparedStatement io.ebeaninternal.server.core.PersistRequestUpdateSql java.sql.ResultSet
StackMap stack: java.sql.SQLException
5: astore 4
start local 4 6: new javax.persistence.PersistenceException
dup
aload 4
invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
8: aload 3
invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/ResultSet;)V
9: aload 5
athrow
10: StackMap locals:
StackMap stack:
aload 3
invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/ResultSet;)V
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/ebeaninternal/server/persist/ExeUpdateSql;
0 12 1 stmt Ljava/sql/PreparedStatement;
0 12 2 request Lio/ebeaninternal/server/core/PersistRequestUpdateSql;
1 12 3 resultSet Ljava/sql/ResultSet;
6 7 4 ex Ljava/sql/SQLException;
Exception table:
from to target type
1 4 5 Class java.sql.SQLException
1 7 7 any
MethodParameters:
Name Flags
stmt
request
private java.sql.PreparedStatement bindStmt(io.ebeaninternal.server.core.PersistRequestUpdateSql, boolean);
descriptor: (Lio/ebeaninternal/server/core/PersistRequestUpdateSql;Z)Ljava/sql/PreparedStatement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.startBind:(Z)V
1: aload 1
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.getUpdateSql:()Lio/ebeaninternal/api/SpiSqlUpdate;
astore 3
start local 3 2: aload 1
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.getTransaction:()Lio/ebeaninternal/api/SpiTransaction;
astore 4
start local 4 3: aload 3
invokeinterface io.ebeaninternal.api.SpiSqlUpdate.getBindParams:()Lio/ebeaninternal/api/BindParams;
astore 5
start local 5 4: aload 3
invokeinterface io.ebeaninternal.api.SpiSqlUpdate.getBaseSql:()Ljava/lang/String;
astore 6
start local 6 5: aload 5
aload 6
invokestatic io.ebeaninternal.server.util.BindParamsParser.parse:(Lio/ebeaninternal/api/BindParams;Ljava/lang/String;)Ljava/lang/String;
astore 6
6: aload 0
aload 6
aload 1
invokevirtual io.ebeaninternal.server.persist.ExeUpdateSql.parseUpdate:(Ljava/lang/String;Lio/ebeaninternal/server/core/PersistRequestUpdateSql;)V
7: iload 2
ifeq 10
8: aload 0
getfield io.ebeaninternal.server.persist.ExeUpdateSql.pstmtFactory:Lio/ebeaninternal/server/persist/PstmtFactory;
aload 4
aload 6
aload 1
invokevirtual io.ebeaninternal.server.persist.PstmtFactory.getPstmtBatch:(Lio/ebeaninternal/api/SpiTransaction;Ljava/lang/String;Lio/ebeaninternal/server/persist/BatchPostExecute;)Ljava/sql/PreparedStatement;
astore 7
start local 7 9: goto 11
end local 7 10: StackMap locals: io.ebeaninternal.server.persist.ExeUpdateSql io.ebeaninternal.server.core.PersistRequestUpdateSql int io.ebeaninternal.api.SpiSqlUpdate io.ebeaninternal.api.SpiTransaction io.ebeaninternal.api.BindParams java.lang.String
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.ExeUpdateSql.pstmtFactory:Lio/ebeaninternal/server/persist/PstmtFactory;
aload 4
aload 6
aload 1
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.isGetGeneratedKeys:()Z
invokevirtual io.ebeaninternal.server.persist.PstmtFactory.getPstmt:(Lio/ebeaninternal/api/SpiTransaction;Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
astore 7
start local 7 11: StackMap locals: java.sql.PreparedStatement
StackMap stack:
aload 3
invokeinterface io.ebeaninternal.api.SpiSqlUpdate.getTimeout:()I
ifle 13
12: aload 7
aload 3
invokeinterface io.ebeaninternal.api.SpiSqlUpdate.getTimeout:()I
invokeinterface java.sql.PreparedStatement.setQueryTimeout:(I)V
13: StackMap locals:
StackMap stack:
aconst_null
astore 8
start local 8 14: aload 5
invokevirtual io.ebeaninternal.api.BindParams.isEmpty:()Z
ifne 16
15: aload 0
getfield io.ebeaninternal.server.persist.ExeUpdateSql.binder:Lio/ebeaninternal/server/persist/Binder;
aload 5
aload 7
aload 4
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 8
16: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 8
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.setBindLog:(Ljava/lang/String;)V
17: aload 3
aload 6
invokeinterface io.ebeaninternal.api.SpiSqlUpdate.setGeneratedSql:(Ljava/lang/String;)V
18: iload 2
ifeq 20
19: aload 1
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.logSqlBatchBind:()V
20: StackMap locals:
StackMap stack:
aload 7
areturn
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 21 0 this Lio/ebeaninternal/server/persist/ExeUpdateSql;
0 21 1 request Lio/ebeaninternal/server/core/PersistRequestUpdateSql;
0 21 2 batchThisRequest Z
2 21 3 updateSql Lio/ebeaninternal/api/SpiSqlUpdate;
3 21 4 t Lio/ebeaninternal/api/SpiTransaction;
4 21 5 bindParams Lio/ebeaninternal/api/BindParams;
5 21 6 sql Ljava/lang/String;
9 10 7 pstmt Ljava/sql/PreparedStatement;
11 21 7 pstmt Ljava/sql/PreparedStatement;
14 21 8 bindLog Ljava/lang/String;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
request
batchThisRequest
private void determineType(java.lang.String, java.lang.String, java.lang.String, io.ebeaninternal.server.core.PersistRequestUpdateSql);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/ebeaninternal/server/core/PersistRequestUpdateSql;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ldc "UPDATE"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 3
1: aload 4
getstatic io.ebeaninternal.server.core.PersistRequestUpdateSql$SqlType.SQL_UPDATE:Lio/ebeaninternal/server/core/PersistRequestUpdateSql$SqlType;
aload 2
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.setType:(Lio/ebeaninternal/server/core/PersistRequestUpdateSql$SqlType;Ljava/lang/String;)V
2: goto 10
StackMap locals:
StackMap stack:
3: aload 1
ldc "DELETE"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 6
4: aload 4
getstatic io.ebeaninternal.server.core.PersistRequestUpdateSql$SqlType.SQL_DELETE:Lio/ebeaninternal/server/core/PersistRequestUpdateSql$SqlType;
aload 3
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.setType:(Lio/ebeaninternal/server/core/PersistRequestUpdateSql$SqlType;Ljava/lang/String;)V
5: goto 10
StackMap locals:
StackMap stack:
6: aload 1
ldc "INSERT"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 9
7: aload 4
getstatic io.ebeaninternal.server.core.PersistRequestUpdateSql$SqlType.SQL_INSERT:Lio/ebeaninternal/server/core/PersistRequestUpdateSql$SqlType;
aload 3
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.setType:(Lio/ebeaninternal/server/core/PersistRequestUpdateSql$SqlType;Ljava/lang/String;)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 4
getstatic io.ebeaninternal.server.core.PersistRequestUpdateSql$SqlType.SQL_UNKNOWN:Lio/ebeaninternal/server/core/PersistRequestUpdateSql$SqlType;
aconst_null
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.setType:(Lio/ebeaninternal/server/core/PersistRequestUpdateSql$SqlType;Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/ebeaninternal/server/persist/ExeUpdateSql;
0 11 1 word1 Ljava/lang/String;
0 11 2 word2 Ljava/lang/String;
0 11 3 word3 Ljava/lang/String;
0 11 4 request Lio/ebeaninternal/server/core/PersistRequestUpdateSql;
MethodParameters:
Name Flags
word1
word2
word3
request
private void parseUpdate(java.lang.String, io.ebeaninternal.server.core.PersistRequestUpdateSql);
descriptor: (Ljava/lang/String;Lio/ebeaninternal/server/core/PersistRequestUpdateSql;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: iconst_3
newarray 10
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 1
invokevirtual java.lang.String.length:()I
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 12
5: StackMap locals: io.ebeaninternal.server.persist.ExeUpdateSql java.lang.String io.ebeaninternal.server.core.PersistRequestUpdateSql int[] int int int
StackMap stack:
aload 1
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 6: iload 7
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 11
7: aload 3
iload 4
iload 6
iastore
8: iinc 4 1
9: iload 4
iconst_2
if_icmple 11
10: goto 13
end local 7 11: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
12: iload 6
iload 5
if_icmplt 5
end local 6 13: StackMap locals:
StackMap stack:
iload 4
iconst_2
if_icmpge 16
14: aload 2
getstatic io.ebeaninternal.server.core.PersistRequestUpdateSql$SqlType.SQL_UNKNOWN:Lio/ebeaninternal/server/core/PersistRequestUpdateSql$SqlType;
aconst_null
invokevirtual io.ebeaninternal.server.core.PersistRequestUpdateSql.setType:(Lio/ebeaninternal/server/core/PersistRequestUpdateSql$SqlType;Ljava/lang/String;)V
15: goto 23
16: StackMap locals:
StackMap stack:
aload 1
iconst_0
aload 3
iconst_0
iaload
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 6
start local 6 17: aload 1
aload 3
iconst_0
iaload
iconst_1
iadd
aload 3
iconst_1
iaload
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
start local 7 18: aload 3
iconst_2
iaload
ifne 21
19: aload 1
aload 3
iconst_1
iaload
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 8
start local 8 20: goto 22
end local 8 21: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 1
aload 3
iconst_1
iaload
iconst_1
iadd
aload 3
iconst_2
iaload
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 8
start local 8 22: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 6
aload 7
aload 8
aload 2
invokevirtual io.ebeaninternal.server.persist.ExeUpdateSql.determineType:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/ebeaninternal/server/core/PersistRequestUpdateSql;)V
end local 8 end local 7 end local 6 23: StackMap locals:
StackMap stack:
return
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 24 0 this Lio/ebeaninternal/server/persist/ExeUpdateSql;
0 24 1 sql Ljava/lang/String;
0 24 2 request Lio/ebeaninternal/server/core/PersistRequestUpdateSql;
1 24 3 pos [I
2 24 4 spaceCount I
3 24 5 len I
4 13 6 i I
6 11 7 c C
17 23 6 firstWord Ljava/lang/String;
18 23 7 secWord Ljava/lang/String;
20 21 8 thirdWord Ljava/lang/String;
22 23 8 thirdWord Ljava/lang/String;
MethodParameters:
Name Flags
sql
request
}
SourceFile: "ExeUpdateSql.java"
InnerClasses:
public final SqlType = io.ebeaninternal.server.core.PersistRequestUpdateSql$SqlType of io.ebeaninternal.server.core.PersistRequestUpdateSql