public class org.hibernate.procedure.internal.PostgresCallableStatementSupport implements org.hibernate.procedure.spi.CallableStatementSupport
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.procedure.internal.PostgresCallableStatementSupport
super_class: java.lang.Object
{
public static final org.hibernate.procedure.internal.PostgresCallableStatementSupport INSTANCE;
descriptor: Lorg/hibernate/procedure/internal/PostgresCallableStatementSupport;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.hibernate.procedure.internal.PostgresCallableStatementSupport
dup
invokespecial org.hibernate.procedure.internal.PostgresCallableStatementSupport.<init>:()V
putstatic org.hibernate.procedure.internal.PostgresCallableStatementSupport.INSTANCE:Lorg/hibernate/procedure/internal/PostgresCallableStatementSupport;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/procedure/internal/PostgresCallableStatementSupport;
public java.lang.String renderCallableStatement(java.lang.String, org.hibernate.procedure.spi.ParameterStrategy, java.util.List<org.hibernate.procedure.spi.ParameterRegistrationImplementor<?>>, org.hibernate.engine.spi.SharedSessionContractImplementor);
descriptor: (Ljava/lang/String;Lorg/hibernate/procedure/spi/ParameterStrategy;Ljava/util/List;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokeinterface java.util.List.isEmpty:()Z
ifne 3
1: aload 3
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.hibernate.procedure.spi.ParameterRegistrationImplementor
invokeinterface org.hibernate.procedure.spi.ParameterRegistrationImplementor.getMode:()Ljavax/persistence/ParameterMode;
getstatic javax.persistence.ParameterMode.REF_CURSOR:Ljavax/persistence/ParameterMode;
if_acmpne 3
2: iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 5
start local 5 5: iload 5
ifeq 8
6: aload 2
getstatic org.hibernate.procedure.spi.ParameterStrategy.NAMED:Lorg/hibernate/procedure/spi/ParameterStrategy;
if_acmpne 8
7: new org.hibernate.HibernateException
dup
ldc "Cannot mix named parameters and REF_CURSOR parameter on PostgreSQL"
invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: int
StackMap stack:
iload 5
ifeq 11
9: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
ldc "{? = call "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
astore 6
start local 6 10: goto 12
end local 6 11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
ldc "{call "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
astore 6
start local 6 12: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 6
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: ldc ""
astore 7
start local 7 14: iload 5
ifeq 15
iconst_1
goto 16
StackMap locals: java.lang.String
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 8
start local 8 17: iload 8
istore 9
start local 9 18: goto 28
19: StackMap locals: int int
StackMap stack:
aload 3
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.hibernate.procedure.spi.ParameterRegistrationImplementor
astore 10
start local 10 20: aload 10
invokeinterface org.hibernate.procedure.spi.ParameterRegistrationImplementor.getMode:()Ljavax/persistence/ParameterMode;
getstatic javax.persistence.ParameterMode.REF_CURSOR:Ljavax/persistence/ParameterMode;
if_acmpne 22
21: new org.hibernate.HibernateException
dup
ldc "PostgreSQL supports only one REF_CURSOR parameter, but multiple were registered"
invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals: org.hibernate.procedure.spi.ParameterRegistrationImplementor
StackMap stack:
aload 10
invokeinterface org.hibernate.procedure.spi.ParameterRegistrationImplementor.getSqlTypes:()[I
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 26
23: StackMap locals: int int int[]
StackMap stack:
aload 6
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
24: ldc ","
astore 7
25: iinc 11 1
StackMap locals:
StackMap stack:
26: iload 11
iload 12
if_icmplt 23
end local 10 27: iinc 9 1
StackMap locals: org.hibernate.procedure.internal.PostgresCallableStatementSupport java.lang.String org.hibernate.procedure.spi.ParameterStrategy java.util.List org.hibernate.engine.spi.SharedSessionContractImplementor int java.lang.StringBuilder java.lang.String int int
StackMap stack:
28: iload 9
aload 3
invokeinterface java.util.List.size:()I
if_icmplt 19
end local 9 29: aload 6
ldc ")}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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 30 0 this Lorg/hibernate/procedure/internal/PostgresCallableStatementSupport;
0 30 1 procedureName Ljava/lang/String;
0 30 2 parameterStrategy Lorg/hibernate/procedure/spi/ParameterStrategy;
0 30 3 parameterRegistrations Ljava/util/List<Lorg/hibernate/procedure/spi/ParameterRegistrationImplementor<*>;>;
0 30 4 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
5 30 5 firstParamIsRefCursor Z
10 11 6 buffer Ljava/lang/StringBuilder;
12 30 6 buffer Ljava/lang/StringBuilder;
14 30 7 sep Ljava/lang/String;
17 30 8 startIndex I
18 29 9 i I
20 27 10 parameter Lorg/hibernate/procedure/spi/ParameterRegistrationImplementor;
Signature: (Ljava/lang/String;Lorg/hibernate/procedure/spi/ParameterStrategy;Ljava/util/List<Lorg/hibernate/procedure/spi/ParameterRegistrationImplementor<*>;>;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
MethodParameters:
Name Flags
procedureName
parameterStrategy
parameterRegistrations
session
public void registerParameters(java.lang.String, java.sql.CallableStatement, org.hibernate.procedure.spi.ParameterStrategy, java.util.List<org.hibernate.procedure.spi.ParameterRegistrationImplementor<?>>, org.hibernate.engine.spi.SharedSessionContractImplementor);
descriptor: (Ljava/lang/String;Ljava/sql/CallableStatement;Lorg/hibernate/procedure/spi/ParameterStrategy;Ljava/util/List;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_1
istore 6
start local 6 1: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 9
StackMap locals: org.hibernate.procedure.internal.PostgresCallableStatementSupport java.lang.String java.sql.CallableStatement org.hibernate.procedure.spi.ParameterStrategy java.util.List org.hibernate.engine.spi.SharedSessionContractImplementor int top java.util.Iterator
StackMap stack:
2: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.procedure.spi.ParameterRegistrationImplementor
astore 7
start local 7 3: aload 7
invokeinterface org.hibernate.procedure.spi.ParameterRegistrationImplementor.getMode:()Ljavax/persistence/ParameterMode;
getstatic javax.persistence.ParameterMode.REF_CURSOR:Ljavax/persistence/ParameterMode;
if_acmpne 7
4: aload 2
iload 6
sipush 1111
invokeinterface java.sql.CallableStatement.registerOutParameter:(II)V
5: iinc 6 1
6: goto 9
7: StackMap locals: org.hibernate.procedure.internal.PostgresCallableStatementSupport java.lang.String java.sql.CallableStatement org.hibernate.procedure.spi.ParameterStrategy java.util.List org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.procedure.spi.ParameterRegistrationImplementor java.util.Iterator
StackMap stack:
aload 7
aload 2
iload 6
invokeinterface org.hibernate.procedure.spi.ParameterRegistrationImplementor.prepare:(Ljava/sql/CallableStatement;I)V
8: iload 6
aload 7
invokeinterface org.hibernate.procedure.spi.ParameterRegistrationImplementor.getSqlTypes:()[I
arraylength
iadd
istore 6
end local 7 9: StackMap locals: org.hibernate.procedure.internal.PostgresCallableStatementSupport java.lang.String java.sql.CallableStatement org.hibernate.procedure.spi.ParameterStrategy java.util.List org.hibernate.engine.spi.SharedSessionContractImplementor int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
10: goto 17
11: StackMap locals: org.hibernate.procedure.internal.PostgresCallableStatementSupport java.lang.String java.sql.CallableStatement org.hibernate.procedure.spi.ParameterStrategy java.util.List org.hibernate.engine.spi.SharedSessionContractImplementor int
StackMap stack: java.sql.SQLException
astore 7
start local 7 12: aload 5
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
13: aload 7
14: ldc "Error registering CallableStatement parameters"
15: aload 1
16: invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
athrow
end local 7 17: StackMap locals:
StackMap stack:
return
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 18 0 this Lorg/hibernate/procedure/internal/PostgresCallableStatementSupport;
0 18 1 procedureName Ljava/lang/String;
0 18 2 statement Ljava/sql/CallableStatement;
0 18 3 parameterStrategy Lorg/hibernate/procedure/spi/ParameterStrategy;
0 18 4 parameterRegistrations Ljava/util/List<Lorg/hibernate/procedure/spi/ParameterRegistrationImplementor<*>;>;
0 18 5 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
1 18 6 i I
3 9 7 parameter Lorg/hibernate/procedure/spi/ParameterRegistrationImplementor;
12 17 7 e Ljava/sql/SQLException;
Exception table:
from to target type
1 10 11 Class java.sql.SQLException
Signature: (Ljava/lang/String;Ljava/sql/CallableStatement;Lorg/hibernate/procedure/spi/ParameterStrategy;Ljava/util/List<Lorg/hibernate/procedure/spi/ParameterRegistrationImplementor<*>;>;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
MethodParameters:
Name Flags
procedureName
statement
parameterStrategy
parameterRegistrations
session
}
SourceFile: "PostgresCallableStatementSupport.java"