public class org.hibernate.hql.spi.TableBasedUpdateHandlerImpl extends org.hibernate.hql.spi.AbstractTableBasedBulkIdHandler implements org.hibernate.hql.spi.MultiTableBulkIdStrategy$UpdateHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.hql.spi.TableBasedUpdateHandlerImpl
super_class: org.hibernate.hql.spi.AbstractTableBasedBulkIdHandler
{
private static final org.jboss.logging.Logger log;
descriptor: Lorg/jboss/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.hibernate.persister.entity.Queryable targetedPersister;
descriptor: Lorg/hibernate/persister/entity/Queryable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String idInsertSelect;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<org.hibernate.param.ParameterSpecification> idSelectParameterSpecifications;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/hibernate/param/ParameterSpecification;>;
private final java.lang.String[] updates;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hibernate.param.ParameterSpecification[][] assignmentParameterSpecifications;
descriptor: [[Lorg/hibernate/param/ParameterSpecification;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/hibernate/hql/spi/TableBasedUpdateHandlerImpl;
invokestatic org.jboss.logging.Logger.getLogger:(Ljava/lang/Class;)Lorg/jboss/logging/Logger;
putstatic org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.log:Lorg/jboss/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.hql.internal.ast.HqlSqlWalker);
descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/hql/internal/ast/HqlSqlWalker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
aconst_null
invokespecial org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/hql/internal/ast/HqlSqlWalker;Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/hql/spi/TableBasedUpdateHandlerImpl;
0 2 1 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
0 2 2 walker Lorg/hibernate/hql/internal/ast/HqlSqlWalker;
MethodParameters:
Name Flags
factory
walker
public void <init>(org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.hql.internal.ast.HqlSqlWalker, java.lang.String, java.lang.String);
descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/hql/internal/ast/HqlSqlWalker;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=20, 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
aload 4
invokespecial org.hibernate.hql.spi.AbstractTableBasedBulkIdHandler.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/hql/internal/ast/HqlSqlWalker;Ljava/lang/String;Ljava/lang/String;)V
1: aload 2
invokevirtual org.hibernate.hql.internal.ast.HqlSqlWalker.getAST:()Lantlr/collections/AST;
checkcast org.hibernate.hql.internal.ast.tree.UpdateStatement
astore 5
start local 5 2: aload 5
invokevirtual org.hibernate.hql.internal.ast.tree.UpdateStatement.getFromClause:()Lorg/hibernate/hql/internal/ast/tree/FromClause;
invokevirtual org.hibernate.hql.internal.ast.tree.FromClause.getFromElement:()Lorg/hibernate/hql/internal/ast/tree/FromElement;
astore 6
start local 6 3: aload 0
aload 6
invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getQueryable:()Lorg/hibernate/persister/entity/Queryable;
putfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.targetedPersister:Lorg/hibernate/persister/entity/Queryable;
4: aload 6
invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getTableAlias:()Ljava/lang/String;
astore 7
start local 7 5: aload 0
aload 5
invokevirtual org.hibernate.hql.internal.ast.tree.UpdateStatement.getWhereClause:()Lantlr/collections/AST;
invokevirtual org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.processWhereClause:(Lantlr/collections/AST;)Lorg/hibernate/hql/spi/AbstractTableBasedBulkIdHandler$ProcessedWhereClause;
astore 8
start local 8 6: aload 0
aload 8
invokevirtual org.hibernate.hql.spi.AbstractTableBasedBulkIdHandler$ProcessedWhereClause.getIdSelectParameterSpecifications:()Ljava/util/List;
putfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.idSelectParameterSpecifications:Ljava/util/List;
7: aload 0
aload 0
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.targetedPersister:Lorg/hibernate/persister/entity/Queryable;
aload 7
aload 8
invokevirtual org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.generateIdInsertSelect:(Lorg/hibernate/persister/entity/Queryable;Ljava/lang/String;Lorg/hibernate/hql/spi/AbstractTableBasedBulkIdHandler$ProcessedWhereClause;)Ljava/lang/String;
putfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.idInsertSelect:Ljava/lang/String;
8: getstatic org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.log:Lorg/jboss/logging/Logger;
ldc "Generated ID-INSERT-SELECT SQL (multi-table update) : {0}"
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.idInsertSelect:Ljava/lang/String;
invokevirtual org.jboss.logging.Logger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
9: aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.targetedPersister:Lorg/hibernate/persister/entity/Queryable;
invokeinterface org.hibernate.persister.entity.Queryable.getConstraintOrderedTableNameClosure:()[Ljava/lang/String;
astore 9
start local 9 10: aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.targetedPersister:Lorg/hibernate/persister/entity/Queryable;
invokeinterface org.hibernate.persister.entity.Queryable.getContraintOrderedTableKeyColumnClosure:()[[Ljava/lang/String;
astore 10
start local 10 11: aload 0
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.targetedPersister:Lorg/hibernate/persister/entity/Queryable;
invokevirtual org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.generateIdSubselect:(Lorg/hibernate/persister/entity/Queryable;)Ljava/lang/String;
astore 11
start local 11 12: aload 0
aload 9
arraylength
anewarray java.lang.String
putfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.updates:[Ljava/lang/String;
13: aload 0
aload 9
arraylength
anewarray org.hibernate.param.ParameterSpecification[]
putfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.assignmentParameterSpecifications:[[Lorg/hibernate/param/ParameterSpecification;
14: iconst_0
istore 12
start local 12 15: goto 41
16: StackMap locals: org.hibernate.hql.spi.TableBasedUpdateHandlerImpl org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.hql.internal.ast.HqlSqlWalker java.lang.String java.lang.String org.hibernate.hql.internal.ast.tree.UpdateStatement org.hibernate.hql.internal.ast.tree.FromElement java.lang.String org.hibernate.hql.spi.AbstractTableBasedBulkIdHandler$ProcessedWhereClause java.lang.String[] java.lang.String[][] java.lang.String int
StackMap stack:
iconst_0
istore 13
start local 13 17: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 14
start local 14 18: new org.hibernate.sql.Update
dup
aload 0
invokevirtual org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.factory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
invokespecial org.hibernate.sql.Update.<init>:(Lorg/hibernate/dialect/Dialect;)V
19: aload 9
iload 12
aaload
invokevirtual org.hibernate.sql.Update.setTableName:(Ljava/lang/String;)Lorg/hibernate/sql/Update;
20: new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", "
aload 10
iload 12
aaload
invokestatic org.hibernate.internal.util.StringHelper.join:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") IN ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.hibernate.sql.Update.setWhere:(Ljava/lang/String;)Lorg/hibernate/sql/Update;
21: astore 15
start local 15 22: aload 0
invokevirtual org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.factory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
invokevirtual org.hibernate.cfg.Settings.isCommentsEnabled:()Z
ifeq 24
23: aload 15
ldc "bulk update"
invokevirtual org.hibernate.sql.Update.setComment:(Ljava/lang/String;)Lorg/hibernate/sql/Update;
pop
24: StackMap locals: int java.util.List org.hibernate.sql.Update
StackMap stack:
aload 2
invokevirtual org.hibernate.hql.internal.ast.HqlSqlWalker.getAssignmentSpecifications:()Ljava/util/ArrayList;
astore 16
start local 16 25: aload 16
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 18
goto 36
StackMap locals: org.hibernate.hql.spi.TableBasedUpdateHandlerImpl org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.hql.internal.ast.HqlSqlWalker java.lang.String java.lang.String org.hibernate.hql.internal.ast.tree.UpdateStatement org.hibernate.hql.internal.ast.tree.FromElement java.lang.String org.hibernate.hql.spi.AbstractTableBasedBulkIdHandler$ProcessedWhereClause java.lang.String[] java.lang.String[][] java.lang.String int int java.util.List org.hibernate.sql.Update java.util.List top java.util.Iterator
StackMap stack:
26: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.hql.internal.ast.tree.AssignmentSpecification
astore 17
start local 17 27: aload 17
aload 9
iload 12
aaload
invokevirtual org.hibernate.hql.internal.ast.tree.AssignmentSpecification.affectsTable:(Ljava/lang/String;)Z
ifeq 36
28: iconst_1
istore 13
29: aload 15
aload 17
invokevirtual org.hibernate.hql.internal.ast.tree.AssignmentSpecification.getSqlAssignmentFragment:()Ljava/lang/String;
invokevirtual org.hibernate.sql.Update.appendAssignmentFragment:(Ljava/lang/String;)Lorg/hibernate/sql/Update;
pop
30: aload 17
invokevirtual org.hibernate.hql.internal.ast.tree.AssignmentSpecification.getParameters:()[Lorg/hibernate/param/ParameterSpecification;
ifnull 36
31: iconst_0
istore 19
start local 19 32: goto 35
33: StackMap locals: org.hibernate.hql.spi.TableBasedUpdateHandlerImpl org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.hql.internal.ast.HqlSqlWalker java.lang.String java.lang.String org.hibernate.hql.internal.ast.tree.UpdateStatement org.hibernate.hql.internal.ast.tree.FromElement java.lang.String org.hibernate.hql.spi.AbstractTableBasedBulkIdHandler$ProcessedWhereClause java.lang.String[] java.lang.String[][] java.lang.String int int java.util.List org.hibernate.sql.Update java.util.List org.hibernate.hql.internal.ast.tree.AssignmentSpecification java.util.Iterator int
StackMap stack:
aload 14
aload 17
invokevirtual org.hibernate.hql.internal.ast.tree.AssignmentSpecification.getParameters:()[Lorg/hibernate/param/ParameterSpecification;
iload 19
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
34: iinc 19 1
StackMap locals:
StackMap stack:
35: iload 19
aload 17
invokevirtual org.hibernate.hql.internal.ast.tree.AssignmentSpecification.getParameters:()[Lorg/hibernate/param/ParameterSpecification;
arraylength
if_icmplt 33
end local 19 end local 17 36: StackMap locals: org.hibernate.hql.spi.TableBasedUpdateHandlerImpl org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.hql.internal.ast.HqlSqlWalker java.lang.String java.lang.String org.hibernate.hql.internal.ast.tree.UpdateStatement org.hibernate.hql.internal.ast.tree.FromElement java.lang.String org.hibernate.hql.spi.AbstractTableBasedBulkIdHandler$ProcessedWhereClause java.lang.String[] java.lang.String[][] java.lang.String int int java.util.List org.hibernate.sql.Update java.util.List top java.util.Iterator
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
37: iload 13
ifeq 40
38: aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.updates:[Ljava/lang/String;
iload 12
aload 15
invokevirtual org.hibernate.sql.Update.toStatementString:()Ljava/lang/String;
aastore
39: aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.assignmentParameterSpecifications:[[Lorg/hibernate/param/ParameterSpecification;
iload 12
aload 14
aload 14
invokeinterface java.util.List.size:()I
anewarray org.hibernate.param.ParameterSpecification
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.hibernate.param.ParameterSpecification[]
aastore
end local 16 end local 15 end local 14 end local 13 40: StackMap locals: org.hibernate.hql.spi.TableBasedUpdateHandlerImpl org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.hql.internal.ast.HqlSqlWalker java.lang.String java.lang.String org.hibernate.hql.internal.ast.tree.UpdateStatement org.hibernate.hql.internal.ast.tree.FromElement java.lang.String org.hibernate.hql.spi.AbstractTableBasedBulkIdHandler$ProcessedWhereClause java.lang.String[] java.lang.String[][] java.lang.String int
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
41: iload 12
aload 9
arraylength
if_icmplt 16
end local 12 42: return
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 43 0 this Lorg/hibernate/hql/spi/TableBasedUpdateHandlerImpl;
0 43 1 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
0 43 2 walker Lorg/hibernate/hql/internal/ast/HqlSqlWalker;
0 43 3 catalog Ljava/lang/String;
0 43 4 schema Ljava/lang/String;
2 43 5 updateStatement Lorg/hibernate/hql/internal/ast/tree/UpdateStatement;
3 43 6 fromElement Lorg/hibernate/hql/internal/ast/tree/FromElement;
5 43 7 bulkTargetAlias Ljava/lang/String;
6 43 8 processedWhereClause Lorg/hibernate/hql/spi/AbstractTableBasedBulkIdHandler$ProcessedWhereClause;
10 43 9 tableNames [Ljava/lang/String;
11 43 10 columnNames [[Ljava/lang/String;
12 43 11 idSubselect Ljava/lang/String;
15 42 12 tableIndex I
17 40 13 affected Z
18 40 14 parameterList Ljava/util/List<Lorg/hibernate/param/ParameterSpecification;>;
22 40 15 update Lorg/hibernate/sql/Update;
25 40 16 assignmentSpecifications Ljava/util/List<Lorg/hibernate/hql/internal/ast/tree/AssignmentSpecification;>;
27 36 17 assignmentSpecification Lorg/hibernate/hql/internal/ast/tree/AssignmentSpecification;
32 36 19 paramIndex I
MethodParameters:
Name Flags
factory
walker
catalog
schema
public org.hibernate.persister.entity.Queryable getTargetedQueryable();
descriptor: ()Lorg/hibernate/persister/entity/Queryable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.targetedPersister:Lorg/hibernate/persister/entity/Queryable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/hql/spi/TableBasedUpdateHandlerImpl;
public java.lang.String[] getSqlStatements();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.updates:[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/hql/spi/TableBasedUpdateHandlerImpl;
public int execute(org.hibernate.engine.spi.SessionImplementor, org.hibernate.engine.spi.QueryParameters);
descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.targetedPersister:Lorg/hibernate/persister/entity/Queryable;
aload 1
invokevirtual org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.prepareForUse:(Lorg/hibernate/persister/entity/Queryable;Lorg/hibernate/engine/spi/SessionImplementor;)V
1: aconst_null
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.idInsertSelect:Ljava/lang/String;
iconst_0
invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
astore 3
4: iconst_1
istore 5
start local 5 5: iload 5
aload 0
aload 3
aload 1
iload 5
invokevirtual org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.handlePrependedParametersOnIdSelection:(Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/SessionImplementor;I)I
iadd
istore 5
6: aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.idSelectParameterSpecifications:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 9
StackMap locals: org.hibernate.hql.spi.TableBasedUpdateHandlerImpl org.hibernate.engine.spi.SessionImplementor org.hibernate.engine.spi.QueryParameters java.sql.PreparedStatement int int top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.param.ParameterSpecification
astore 6
start local 6 8: iload 5
aload 6
aload 3
aload 2
aload 1
iload 5
invokeinterface org.hibernate.param.ParameterSpecification.bind:(Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SessionImplementor;I)I
iadd
istore 5
end local 6 9: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
aload 3
invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.executeUpdate:(Ljava/sql/PreparedStatement;)I
istore 4
end local 5 11: goto 16
12: StackMap locals: org.hibernate.hql.spi.TableBasedUpdateHandlerImpl org.hibernate.engine.spi.SessionImplementor org.hibernate.engine.spi.QueryParameters java.sql.PreparedStatement int
StackMap stack: java.lang.Throwable
astore 8
13: aload 3
ifnull 15
14: aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
aload 3
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
15: StackMap locals: org.hibernate.hql.spi.TableBasedUpdateHandlerImpl org.hibernate.engine.spi.SessionImplementor org.hibernate.engine.spi.QueryParameters java.sql.PreparedStatement int top top top java.lang.Throwable
StackMap stack:
aload 8
athrow
16: StackMap locals: org.hibernate.hql.spi.TableBasedUpdateHandlerImpl org.hibernate.engine.spi.SessionImplementor org.hibernate.engine.spi.QueryParameters java.sql.PreparedStatement int
StackMap stack:
aload 3
ifnull 21
17: aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
aload 3
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
18: goto 21
19: StackMap locals:
StackMap stack: java.sql.SQLException
astore 5
start local 5 20: aload 0
aload 5
ldc "could not insert/select ids for bulk update"
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.idInsertSelect:Ljava/lang/String;
invokevirtual org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
athrow
end local 5 21: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 22: goto 46
23: StackMap locals: int
StackMap stack:
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.updates:[Ljava/lang/String;
iload 5
aaload
ifnonnull 25
24: goto 45
25: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.updates:[Ljava/lang/String;
iload 5
aaload
iconst_0
invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
astore 3
26: aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.assignmentParameterSpecifications:[[Lorg/hibernate/param/ParameterSpecification;
iload 5
aaload
ifnull 34
27: iconst_1
istore 6
start local 6 28: iconst_0
istore 7
start local 7 29: goto 32
30: StackMap locals: int int
StackMap stack:
iload 6
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.assignmentParameterSpecifications:[[Lorg/hibernate/param/ParameterSpecification;
iload 5
aaload
iload 7
aaload
aload 3
aload 2
aload 1
iload 6
invokeinterface org.hibernate.param.ParameterSpecification.bind:(Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SessionImplementor;I)I
iadd
istore 6
31: iinc 7 1
StackMap locals:
StackMap stack:
32: iload 7
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.assignmentParameterSpecifications:[[Lorg/hibernate/param/ParameterSpecification;
iload 5
aaload
arraylength
if_icmplt 30
end local 7 33: aload 0
aload 3
aload 1
iload 6
invokevirtual org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.handleAddedParametersOnUpdate:(Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/SessionImplementor;I)V
end local 6 34: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
aload 3
invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.executeUpdate:(Ljava/sql/PreparedStatement;)I
pop
35: goto 40
36: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
37: aload 3
ifnull 39
38: aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
aload 3
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
39: StackMap locals: org.hibernate.hql.spi.TableBasedUpdateHandlerImpl org.hibernate.engine.spi.SessionImplementor org.hibernate.engine.spi.QueryParameters java.sql.PreparedStatement int int top top java.lang.Throwable
StackMap stack:
aload 8
athrow
40: StackMap locals: org.hibernate.hql.spi.TableBasedUpdateHandlerImpl org.hibernate.engine.spi.SessionImplementor org.hibernate.engine.spi.QueryParameters java.sql.PreparedStatement int int
StackMap stack:
aload 3
ifnull 45
41: aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
aload 3
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
42: goto 45
43: StackMap locals:
StackMap stack: java.sql.SQLException
astore 6
start local 6 44: aload 0
aload 6
ldc "error performing bulk update"
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.updates:[Ljava/lang/String;
iload 5
aaload
invokevirtual org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
athrow
end local 6 45: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
46: iload 5
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.updates:[Ljava/lang/String;
arraylength
if_icmplt 23
end local 5 47: iload 4
istore 10
48: aload 0
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.targetedPersister:Lorg/hibernate/persister/entity/Queryable;
aload 1
invokevirtual org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.releaseFromUse:(Lorg/hibernate/persister/entity/Queryable;Lorg/hibernate/engine/spi/SessionImplementor;)V
49: iload 10
ireturn
end local 4 end local 3 50: StackMap locals: org.hibernate.hql.spi.TableBasedUpdateHandlerImpl org.hibernate.engine.spi.SessionImplementor org.hibernate.engine.spi.QueryParameters
StackMap stack: java.lang.Throwable
astore 9
51: aload 0
aload 0
getfield org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.targetedPersister:Lorg/hibernate/persister/entity/Queryable;
aload 1
invokevirtual org.hibernate.hql.spi.TableBasedUpdateHandlerImpl.releaseFromUse:(Lorg/hibernate/persister/entity/Queryable;Lorg/hibernate/engine/spi/SessionImplementor;)V
52: aload 9
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lorg/hibernate/hql/spi/TableBasedUpdateHandlerImpl;
0 53 1 session Lorg/hibernate/engine/spi/SessionImplementor;
0 53 2 queryParameters Lorg/hibernate/engine/spi/QueryParameters;
2 50 3 ps Ljava/sql/PreparedStatement;
3 50 4 resultCount I
5 11 5 sum I
8 9 6 parameterSpecification Lorg/hibernate/param/ParameterSpecification;
20 21 5 e Ljava/sql/SQLException;
22 47 5 i I
28 34 6 position I
29 33 7 x I
44 45 6 e Ljava/sql/SQLException;
Exception table:
from to target type
3 12 12 any
3 18 19 Class java.sql.SQLException
25 36 36 any
25 42 43 Class java.sql.SQLException
1 48 50 any
MethodParameters:
Name Flags
session
queryParameters
protected int handlePrependedParametersOnIdSelection(java.sql.PreparedStatement, org.hibernate.engine.spi.SessionImplementor, int);
descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/SessionImplementor;I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/hql/spi/TableBasedUpdateHandlerImpl;
0 1 1 ps Ljava/sql/PreparedStatement;
0 1 2 session Lorg/hibernate/engine/spi/SessionImplementor;
0 1 3 pos I
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
ps
session
pos
protected void handleAddedParametersOnUpdate(java.sql.PreparedStatement, org.hibernate.engine.spi.SessionImplementor, int);
descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/SessionImplementor;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/hql/spi/TableBasedUpdateHandlerImpl;
0 1 1 ps Ljava/sql/PreparedStatement;
0 1 2 session Lorg/hibernate/engine/spi/SessionImplementor;
0 1 3 position I
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
ps
session
position
}
SourceFile: "TableBasedUpdateHandlerImpl.java"
InnerClasses:
protected ProcessedWhereClause = org.hibernate.hql.spi.AbstractTableBasedBulkIdHandler$ProcessedWhereClause of org.hibernate.hql.spi.AbstractTableBasedBulkIdHandler
public abstract UpdateHandler = org.hibernate.hql.spi.MultiTableBulkIdStrategy$UpdateHandler of org.hibernate.hql.spi.MultiTableBulkIdStrategy