public final class com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData implements java.sql.ParameterMetaData
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData
super_class: java.lang.Object
{
private static final int SQL_SERVER_2012_VERSION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private final com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement stmtParent;
descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.microsoft.sqlserver.jdbc.SQLServerConnection con;
descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.util.Map<java.lang.String, java.lang.Object>> procMetadata;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;
protected boolean procedureIsFound;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
private static final java.util.logging.Logger logger;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.concurrent.atomic.AtomicInteger baseID;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.String traceID;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
boolean isTVP;
descriptor: Z
flags: (0x0000)
java.util.Map<java.lang.Integer, com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta> queryMetaMap;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData$QueryMeta;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.$assertionsDisabled:Z
3: ldc "com.microsoft.sqlserver.jdbc.internals.SQLServerParameterMetaData"
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
4: putstatic com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.logger:Ljava/util/logging/Logger;
5: new java.util.concurrent.atomic.AtomicInteger
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putstatic com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.baseID:Ljava/util/concurrent/atomic/AtomicInteger;
return
LocalVariableTable:
Start End Slot Name Signature
private static int nextInstanceID();
descriptor: ()I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.baseID:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public final java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.traceID:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
private void parseQueryMeta(java.sql.ResultSet);
descriptor: (Ljava/sql/ResultSet;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: ldc "(.*)\\((.*)(\\)|,(.*)\\))"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
astore 2
start local 2 1: aload 1
ifnull 100
2: goto 96
3: StackMap locals: java.util.regex.Pattern
StackMap stack:
new com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta
dup
aload 0
invokespecial com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;)V
astore 3
start local 3 4: aconst_null
astore 4
start local 4 5: aload 1
ldc "parameter_ordinal"
invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
istore 5
start local 5 6: aload 1
ldc "suggested_system_type_name"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 7: aload 6
ifnonnull 33
8: aload 1
ldc "suggested_user_type_name"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 6
9: aconst_null
astore 7
aconst_null
astore 8
10: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
11: ldc "select max_length, precision, scale, is_nullable from sys.assembly_types where name = ?"
12: invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
checkcast com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
astore 9
start local 9 13: aload 9
iconst_1
aload 6
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setNString:(ILjava/lang/String;)V
14: aconst_null
astore 10
aconst_null
astore 11
15: aload 9
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery:()Ljava/sql/ResultSet;
astore 12
start local 12 16: aload 12
invokeinterface java.sql.ResultSet.next:()Z
ifeq 21
17: aload 3
aload 6
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.parameterTypeName:Ljava/lang/String;
18: aload 3
aload 12
ldc "max_length"
invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
19: aload 3
aload 12
ldc "scale"
invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.scale:I
20: getstatic com.microsoft.sqlserver.jdbc.SSType.UDT:Lcom/microsoft/sqlserver/jdbc/SSType;
astore 4
21: StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData java.sql.ResultSet java.util.regex.Pattern com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta com.microsoft.sqlserver.jdbc.SSType int java.lang.String java.lang.Throwable java.lang.Throwable com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement java.lang.Throwable java.lang.Throwable java.sql.ResultSet
StackMap stack:
aload 12
ifnull 27
aload 12
invokeinterface java.sql.ResultSet.close:()V
goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 10
aload 12
ifnull 23
aload 12
invokeinterface java.sql.ResultSet.close:()V
end local 12 StackMap locals:
StackMap stack:
23: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 11
aload 10
ifnonnull 25
aload 11
astore 10
goto 26
StackMap locals:
StackMap stack:
25: aload 10
aload 11
if_acmpeq 26
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 10
athrow
27: StackMap locals:
StackMap stack:
aload 9
ifnull 84
aload 9
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.close:()V
goto 84
StackMap locals:
StackMap stack: java.lang.Throwable
28: astore 7
aload 9
ifnull 29
aload 9
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.close:()V
end local 9 StackMap locals:
StackMap stack:
29: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 8
aload 7
ifnonnull 31
aload 8
astore 7
goto 32
StackMap locals:
StackMap stack:
31: aload 7
aload 8
if_acmpeq 32
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
32: aload 7
athrow
33: StackMap locals:
StackMap stack:
aload 3
aload 1
ldc "suggested_precision"
invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
34: aload 3
aload 1
ldc "suggested_scale"
invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.scale:I
35: aload 2
aload 6
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 7
start local 7 36: aload 7
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 59
37: aload 7
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic com.microsoft.sqlserver.jdbc.SSType.of:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SSType;
astore 4
38: ldc "varchar(max)"
aload 6
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 40
39: ldc "varbinary(max)"
aload 6
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 42
40: StackMap locals: java.util.regex.Matcher
StackMap stack:
aload 3
ldc 2147483647
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
41: goto 60
StackMap locals:
StackMap stack:
42: ldc "nvarchar(max)"
aload 6
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 45
43: aload 3
ldc 1073741823
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
44: goto 60
StackMap locals:
StackMap stack:
45: getstatic com.microsoft.sqlserver.jdbc.SSType$Category.CHARACTER:Lcom/microsoft/sqlserver/jdbc/SSType$Category;
aload 4
getfield com.microsoft.sqlserver.jdbc.SSType.category:Lcom/microsoft/sqlserver/jdbc/SSType$Category;
if_acmpeq 48
46: getstatic com.microsoft.sqlserver.jdbc.SSType$Category.BINARY:Lcom/microsoft/sqlserver/jdbc/SSType$Category;
aload 4
getfield com.microsoft.sqlserver.jdbc.SSType.category:Lcom/microsoft/sqlserver/jdbc/SSType$Category;
if_acmpeq 48
47: getstatic com.microsoft.sqlserver.jdbc.SSType$Category.NCHARACTER:Lcom/microsoft/sqlserver/jdbc/SSType$Category;
aload 4
getfield com.microsoft.sqlserver.jdbc.SSType.category:Lcom/microsoft/sqlserver/jdbc/SSType$Category;
if_acmpne 60
48: StackMap locals:
StackMap stack:
aload 3
aload 7
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
49: goto 60
StackMap locals:
StackMap stack: java.lang.NumberFormatException
50: astore 8
start local 8 51: new java.text.MessageFormat
dup
52: ldc "R_metaDataErrorForParameter"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
53: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 9
start local 9 54: iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
astore 10
start local 10 55: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
56: new java.lang.StringBuilder
dup
aload 9
aload 10
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.NumberFormatException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
iconst_0
57: invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
end local 10 end local 9 end local 8 58: goto 60
59: StackMap locals:
StackMap stack:
aload 6
invokestatic com.microsoft.sqlserver.jdbc.SSType.of:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SSType;
astore 4
60: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.SSType.FLOAT:Lcom/microsoft/sqlserver/jdbc/SSType;
aload 4
if_acmpne 63
61: aload 3
bipush 15
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
62: goto 83
StackMap locals:
StackMap stack:
63: getstatic com.microsoft.sqlserver.jdbc.SSType.REAL:Lcom/microsoft/sqlserver/jdbc/SSType;
aload 4
if_acmpne 66
64: aload 3
bipush 7
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
65: goto 83
StackMap locals:
StackMap stack:
66: getstatic com.microsoft.sqlserver.jdbc.SSType.TEXT:Lcom/microsoft/sqlserver/jdbc/SSType;
aload 4
if_acmpne 69
67: aload 3
ldc 2147483647
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
68: goto 83
StackMap locals:
StackMap stack:
69: getstatic com.microsoft.sqlserver.jdbc.SSType.NTEXT:Lcom/microsoft/sqlserver/jdbc/SSType;
aload 4
if_acmpne 72
70: aload 3
ldc 1073741823
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
71: goto 83
StackMap locals:
StackMap stack:
72: getstatic com.microsoft.sqlserver.jdbc.SSType.IMAGE:Lcom/microsoft/sqlserver/jdbc/SSType;
aload 4
if_acmpne 75
73: aload 3
ldc 2147483647
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
74: goto 83
StackMap locals:
StackMap stack:
75: getstatic com.microsoft.sqlserver.jdbc.SSType.GUID:Lcom/microsoft/sqlserver/jdbc/SSType;
aload 4
if_acmpne 78
76: aload 3
bipush 36
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
77: goto 83
StackMap locals:
StackMap stack:
78: getstatic com.microsoft.sqlserver.jdbc.SSType.TIMESTAMP:Lcom/microsoft/sqlserver/jdbc/SSType;
aload 4
if_acmpne 81
79: aload 3
bipush 8
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
80: goto 83
StackMap locals:
StackMap stack:
81: getstatic com.microsoft.sqlserver.jdbc.SSType.XML:Lcom/microsoft/sqlserver/jdbc/SSType;
aload 4
if_acmpne 83
82: aload 3
ldc 1073741823
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
83: StackMap locals:
StackMap stack:
aload 3
aload 4
invokevirtual com.microsoft.sqlserver.jdbc.SSType.toString:()Ljava/lang/String;
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.parameterTypeName:Ljava/lang/String;
end local 7 84: StackMap locals:
StackMap stack:
aload 4
ifnonnull 88
85: new com.microsoft.sqlserver.jdbc.SQLServerException
dup
ldc "R_metaDataErrorForParameter"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
86: aconst_null
87: invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
88: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
astore 7
start local 7 89: aload 3
aload 7
invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.className:()Ljava/lang/String;
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.parameterClassName:Ljava/lang/String;
90: aload 3
aload 7
invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.getIntValue:()I
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.parameterType:I
91: aload 3
getstatic com.microsoft.sqlserver.jdbc.SSType$Category.NUMERIC:Lcom/microsoft/sqlserver/jdbc/SSType$Category;
aload 4
getfield com.microsoft.sqlserver.jdbc.SSType.category:Lcom/microsoft/sqlserver/jdbc/SSType$Category;
if_acmpne 93
getstatic com.microsoft.sqlserver.jdbc.SSType.BIT:Lcom/microsoft/sqlserver/jdbc/SSType;
aload 4
if_acmpeq 93
92: getstatic com.microsoft.sqlserver.jdbc.SSType.TINYINT:Lcom/microsoft/sqlserver/jdbc/SSType;
aload 4
if_acmpeq 93
iconst_1
goto 94
StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData java.sql.ResultSet java.util.regex.Pattern com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta com.microsoft.sqlserver.jdbc.SSType int java.lang.String com.microsoft.sqlserver.jdbc.JDBCType
StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta
93: iconst_0
94: StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData java.sql.ResultSet java.util.regex.Pattern com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta com.microsoft.sqlserver.jdbc.SSType int java.lang.String com.microsoft.sqlserver.jdbc.JDBCType
StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta int
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.isSigned:Z
95: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 end local 6 end local 5 end local 4 end local 3 96: StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData java.sql.ResultSet java.util.regex.Pattern
StackMap stack:
aload 1
invokeinterface java.sql.ResultSet.next:()Z
ifne 3
97: goto 100
StackMap locals:
StackMap stack: java.sql.SQLException
98: astore 3
start local 3 99: new com.microsoft.sqlserver.jdbc.SQLServerException
dup
ldc "R_metaDataErrorForParameter"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 100: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 101 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 101 1 rsQueryMeta Ljava/sql/ResultSet;
1 101 2 datatypePattern Ljava/util/regex/Pattern;
4 96 3 qm Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData$QueryMeta;
5 96 4 ssType Lcom/microsoft/sqlserver/jdbc/SSType;
6 96 5 paramOrdinal I
7 96 6 typename Ljava/lang/String;
13 29 9 pstmt Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
16 23 12 assemblyRs Ljava/sql/ResultSet;
36 84 7 matcher Ljava/util/regex/Matcher;
51 58 8 e Ljava/lang/NumberFormatException;
54 58 9 form Ljava/text/MessageFormat;
55 58 10 msgArgs [Ljava/lang/Object;
89 96 7 jdbcType Lcom/microsoft/sqlserver/jdbc/JDBCType;
99 100 3 e Ljava/sql/SQLException;
Exception table:
from to target type
16 21 22 any
15 24 24 any
13 27 28 any
10 30 30 any
48 49 50 Class java.lang.NumberFormatException
1 97 98 Class java.sql.SQLException
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
rsQueryMeta
private void parseFMTQueryMeta(java.sql.ResultSetMetaData, com.microsoft.sqlserver.jdbc.SQLServerFMTQuery);
descriptor: (Ljava/sql/ResultSetMetaData;Lcom/microsoft/sqlserver/jdbc/SQLServerFMTQuery;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerFMTQuery.getColumns:()Ljava/util/List;
astore 3
start local 3 1: aload 2
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerFMTQuery.getValuesList:()Ljava/util/List;
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: iconst_1
istore 6
start local 6 4: iconst_1
istore 7
start local 7 5: iconst_0
istore 8
start local 8 6: goto 24
7: StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData java.sql.ResultSetMetaData com.microsoft.sqlserver.jdbc.SQLServerFMTQuery java.util.List java.util.List int int int int
StackMap stack:
ldc "*"
aload 3
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
8: iconst_0
istore 9
start local 9 9: goto 16
10: StackMap locals: int
StackMap stack:
ldc "?"
aload 4
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.List
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
11: aload 1
iload 6
iload 9
iadd
invokeinterface java.sql.ResultSetMetaData.isAutoIncrement:(I)Z
ifne 15
12: aload 0
aload 1
iload 6
iload 9
iadd
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.getQueryMetaFromResultSetMetaData:(Ljava/sql/ResultSetMetaData;I)Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData$QueryMeta;
astore 10
start local 10 13: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
iload 7
iinc 7 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: iinc 8 1
end local 10 15: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
16: iload 9
aload 4
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.size:()I
if_icmplt 10
end local 9 17: iload 6
aload 4
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.size:()I
iadd
istore 6
18: iinc 5 1
19: goto 23
20: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 6
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.getQueryMetaFromResultSetMetaData:(Ljava/sql/ResultSetMetaData;I)Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData$QueryMeta;
astore 9
start local 9 21: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
iload 7
iinc 7 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: iinc 6 1
end local 9 23: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
24: iload 8
aload 3
invokeinterface java.util.List.size:()I
if_icmplt 7
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 25: goto 28
StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData java.sql.ResultSetMetaData com.microsoft.sqlserver.jdbc.SQLServerFMTQuery
StackMap stack: java.sql.SQLException
26: astore 3
start local 3 27: new com.microsoft.sqlserver.jdbc.SQLServerException
dup
ldc "R_metaDataErrorForParameter"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 28: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 29 1 md Ljava/sql/ResultSetMetaData;
0 29 2 f Lcom/microsoft/sqlserver/jdbc/SQLServerFMTQuery;
1 25 3 columns Ljava/util/List<Ljava/lang/String;>;
2 25 4 params Ljava/util/List<Ljava/util/List<Ljava/lang/String;>;>;
3 25 5 valueListOffset I
4 25 6 mdIndex I
5 25 7 mapIndex I
6 25 8 i I
9 17 9 j I
13 15 10 qm Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData$QueryMeta;
21 23 9 qm Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData$QueryMeta;
27 28 3 e Ljava/sql/SQLException;
Exception table:
from to target type
0 25 26 Class java.sql.SQLException
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
md
f
private com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta getQueryMetaFromResultSetMetaData(java.sql.ResultSetMetaData, int);
descriptor: (Ljava/sql/ResultSetMetaData;I)Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData$QueryMeta;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta
dup
aload 0
invokespecial com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;)V
astore 3
start local 3 1: aload 3
aload 1
iload 2
invokeinterface java.sql.ResultSetMetaData.getColumnClassName:(I)Ljava/lang/String;
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.parameterClassName:Ljava/lang/String;
2: aload 3
aload 1
iload 2
invokeinterface java.sql.ResultSetMetaData.getColumnType:(I)I
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.parameterType:I
3: aload 3
aload 1
iload 2
invokeinterface java.sql.ResultSetMetaData.getColumnTypeName:(I)Ljava/lang/String;
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.parameterTypeName:Ljava/lang/String;
4: aload 3
aload 1
iload 2
invokeinterface java.sql.ResultSetMetaData.getPrecision:(I)I
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
5: aload 3
aload 1
iload 2
invokeinterface java.sql.ResultSetMetaData.getScale:(I)I
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.scale:I
6: aload 3
aload 1
iload 2
invokeinterface java.sql.ResultSetMetaData.isNullable:(I)I
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.isNullable:I
7: aload 3
aload 1
iload 2
invokeinterface java.sql.ResultSetMetaData.isSigned:(I)Z
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.isSigned:Z
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 9 1 md Ljava/sql/ResultSetMetaData;
0 9 2 index I
1 9 3 qm Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData$QueryMeta;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
md
index
java.lang.String parseProcIdentifier(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.microsoft.sqlserver.jdbc.ThreePartName.parse:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/ThreePartName;
astore 2
start local 2 1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 2: aload 2
invokevirtual com.microsoft.sqlserver.jdbc.ThreePartName.getDatabasePart:()Ljava/lang/String;
ifnull 6
3: aload 3
ldc "@procedure_qualifier="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 3
aload 2
invokevirtual com.microsoft.sqlserver.jdbc.ThreePartName.getDatabasePart:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 3
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: StackMap locals: com.microsoft.sqlserver.jdbc.ThreePartName java.lang.StringBuilder
StackMap stack:
aload 2
invokevirtual com.microsoft.sqlserver.jdbc.ThreePartName.getOwnerPart:()Ljava/lang/String;
ifnull 10
7: aload 3
ldc "@procedure_owner="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 3
aload 2
invokevirtual com.microsoft.sqlserver.jdbc.ThreePartName.getOwnerPart:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 3
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.microsoft.sqlserver.jdbc.ThreePartName.getProcedurePart:()Ljava/lang/String;
ifnull 14
11: aload 3
ldc "@procedure_name="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 3
aload 2
invokevirtual com.microsoft.sqlserver.jdbc.ThreePartName.getProcedurePart:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: goto 17
14: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
ldc "R_noMetadata"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
15: aconst_null
iconst_0
16: invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
17: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 18 1 procIdentifier Ljava/lang/String;
1 18 2 threePartName Lcom/microsoft/sqlserver/jdbc/ThreePartName;
2 18 3 sb Ljava/lang/StringBuilder;
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
procIdentifier
private void checkClosed();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
void <init>(com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement, java.lang.String);
descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procedureIsFound:Z
2: aload 0
new java.lang.StringBuilder
dup
ldc " SQLServerParameterMetaData:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.nextInstanceID:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.traceID:Ljava/lang/String;
3: aload 0
iconst_0
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.isTVP:Z
4: aload 0
aconst_null
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
5: getstatic com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.$assertionsDisabled:Z
ifne 6
aload 1
ifnonnull 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement java.lang.String
StackMap stack:
aload 0
aload 1
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
7: aload 0
aload 1
getfield com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
8: getstatic com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 10
9: getstatic com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " created by ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.toString:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
aload 1
getfield com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.procedureName:Ljava/lang/String;
ifnull 45
11: aload 0
aload 1
getfield com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.procedureName:Ljava/lang/String;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.parseProcIdentifier:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 12: aconst_null
astore 4
aconst_null
astore 5
13: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
sipush 1004
14: sipush 1007
15: invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement:(II)Ljava/sql/Statement;
checkcast com.microsoft.sqlserver.jdbc.SQLServerStatement
astore 6
start local 6 16: aload 6
17: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isKatmaiOrLater:()Z
ifeq 18
new java.lang.StringBuilder
dup
ldc "exec sp_sproc_columns_100 "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", @ODBCVer=3, @fUsePattern=0"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 19
18: StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable com.microsoft.sqlserver.jdbc.SQLServerStatement
StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerStatement
new java.lang.StringBuilder
dup
ldc "exec sp_sproc_columns "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", @ODBCVer=3, @fUsePattern=0"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable com.microsoft.sqlserver.jdbc.SQLServerStatement
StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerStatement java.lang.String
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQueryInternal:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerResultSet;
astore 7
start local 7 20: aload 7
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.next:()Z
ifeq 23
21: aload 0
iconst_1
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procedureIsFound:Z
22: goto 24
23: StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerResultSet
StackMap stack:
aload 0
iconst_0
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procedureIsFound:Z
24: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.beforeFirst:()V
25: aload 7
bipush 6
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getColumn:(I)Lcom/microsoft/sqlserver/jdbc/Column;
new com.microsoft.sqlserver.jdbc.DataTypeFilter
dup
invokespecial com.microsoft.sqlserver.jdbc.DataTypeFilter.<init>:()V
invokevirtual com.microsoft.sqlserver.jdbc.Column.setFilter:(Lcom/microsoft/sqlserver/jdbc/ColumnFilter;)V
26: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isKatmaiOrLater:()Z
ifeq 30
27: aload 7
bipush 8
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getColumn:(I)Lcom/microsoft/sqlserver/jdbc/Column;
new com.microsoft.sqlserver.jdbc.ZeroFixupFilter
dup
invokespecial com.microsoft.sqlserver.jdbc.ZeroFixupFilter.<init>:()V
invokevirtual com.microsoft.sqlserver.jdbc.Column.setFilter:(Lcom/microsoft/sqlserver/jdbc/ColumnFilter;)V
28: aload 7
bipush 9
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getColumn:(I)Lcom/microsoft/sqlserver/jdbc/Column;
new com.microsoft.sqlserver.jdbc.ZeroFixupFilter
dup
invokespecial com.microsoft.sqlserver.jdbc.ZeroFixupFilter.<init>:()V
invokevirtual com.microsoft.sqlserver.jdbc.Column.setFilter:(Lcom/microsoft/sqlserver/jdbc/ColumnFilter;)V
29: aload 7
bipush 17
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getColumn:(I)Lcom/microsoft/sqlserver/jdbc/Column;
new com.microsoft.sqlserver.jdbc.ZeroFixupFilter
dup
invokespecial com.microsoft.sqlserver.jdbc.ZeroFixupFilter.<init>:()V
invokevirtual com.microsoft.sqlserver.jdbc.Column.setFilter:(Lcom/microsoft/sqlserver/jdbc/ColumnFilter;)V
30: StackMap locals:
StackMap stack:
aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
31: goto 33
32: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
new com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$1
dup
aload 0
aload 7
invokespecial com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$1.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;Lcom/microsoft/sqlserver/jdbc/SQLServerResultSet;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
33: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.next:()Z
ifne 32
34: aload 7
ifnull 37
aload 7
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.close:()V
goto 37
StackMap locals:
StackMap stack: java.lang.Throwable
35: astore 4
aload 7
ifnull 36
aload 7
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.close:()V
end local 7 StackMap locals:
StackMap stack:
36: aload 4
athrow
StackMap locals:
StackMap stack:
37: aload 6
ifnull 85
aload 6
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
goto 85
StackMap locals:
StackMap stack: java.lang.Throwable
38: astore 5
aload 4
ifnonnull 39
aload 5
astore 4
goto 40
StackMap locals:
StackMap stack:
39: aload 4
aload 5
if_acmpeq 40
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
40: aload 6
ifnull 41
aload 6
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
end local 6 StackMap locals:
StackMap stack:
41: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
42: astore 5
aload 4
ifnonnull 43
aload 5
astore 4
goto 44
StackMap locals:
StackMap stack:
43: aload 4
aload 5
if_acmpeq 44
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
44: aload 4
athrow
end local 3 45: StackMap locals:
StackMap stack:
aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
46: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerMajorVersion:()I
bipush 11
if_icmplt 62
aload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.getUseFmtOnly:()Z
ifne 62
47: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
getfield com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.userSQL:Ljava/lang/String;
48: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
getfield com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.userSQLParamPositions:[I
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
getfield com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.inOutParam:[Lcom/microsoft/sqlserver/jdbc/Parameter;
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
getfield com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.bReturnValueSyntax:Z
49: invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.replaceParameterMarkers:(Ljava/lang/String;[I[Lcom/microsoft/sqlserver/jdbc/Parameter;Z)Ljava/lang/String;
astore 3
start local 3 50: aconst_null
astore 4
aconst_null
astore 5
51: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
52: ldc "exec sp_describe_undeclared_parameters ?"
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
53: checkcast com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
astore 6
start local 6 54: aload 6
iconst_1
aload 3
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setNString:(ILjava/lang/String;)V
55: aload 0
aload 6
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.executeQueryInternal:()Ljava/sql/ResultSet;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.parseQueryMeta:(Ljava/sql/ResultSet;)V
56: aload 6
ifnull 85
aload 6
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.close:()V
goto 85
StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
StackMap stack: java.lang.Throwable
57: astore 4
aload 6
ifnull 58
aload 6
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.close:()V
end local 6 StackMap locals:
StackMap stack:
58: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
59: astore 5
aload 4
ifnonnull 60
aload 5
astore 4
goto 61
StackMap locals:
StackMap stack:
60: aload 4
aload 5
if_acmpeq 61
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
61: aload 4
athrow
end local 3 62: StackMap locals:
StackMap stack:
new com.microsoft.sqlserver.jdbc.SQLServerFMTQuery
dup
aload 2
invokespecial com.microsoft.sqlserver.jdbc.SQLServerFMTQuery.<init>:(Ljava/lang/String;)V
astore 3
start local 3 63: aconst_null
astore 4
aconst_null
astore 5
64: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement:()Ljava/sql/Statement;
checkcast com.microsoft.sqlserver.jdbc.SQLServerStatement
astore 6
start local 6 65: aload 6
aload 3
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerFMTQuery.getFMTQuery:()Ljava/lang/String;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 7
start local 7 66: aload 0
aload 7
invokeinterface java.sql.ResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
aload 3
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.parseFMTQueryMeta:(Ljava/sql/ResultSetMetaData;Lcom/microsoft/sqlserver/jdbc/SQLServerFMTQuery;)V
67: aload 7
ifnull 70
aload 7
invokeinterface java.sql.ResultSet.close:()V
goto 70
StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement java.lang.String com.microsoft.sqlserver.jdbc.SQLServerFMTQuery java.lang.Throwable java.lang.Throwable com.microsoft.sqlserver.jdbc.SQLServerStatement java.sql.ResultSet
StackMap stack: java.lang.Throwable
68: astore 4
aload 7
ifnull 69
aload 7
invokeinterface java.sql.ResultSet.close:()V
end local 7 StackMap locals:
StackMap stack:
69: aload 4
athrow
StackMap locals:
StackMap stack:
70: aload 6
ifnull 85
aload 6
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
goto 85
StackMap locals:
StackMap stack: java.lang.Throwable
71: astore 5
aload 4
ifnonnull 72
aload 5
astore 4
goto 73
StackMap locals:
StackMap stack:
72: aload 4
aload 5
if_acmpeq 73
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
73: aload 6
ifnull 74
aload 6
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
end local 6 StackMap locals:
StackMap stack:
74: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
75: astore 5
aload 4
ifnonnull 76
aload 5
astore 4
goto 77
StackMap locals:
StackMap stack:
76: aload 4
aload 5
if_acmpeq 77
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
77: aload 4
athrow
end local 3 78: StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement java.lang.String
StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
astore 3
start local 3 79: aload 3
athrow
end local 3 80: StackMap locals:
StackMap stack: java.sql.SQLException
astore 3
start local 3 81: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
aload 3
invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
aconst_null
iconst_0
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
end local 3 82: goto 85
83: StackMap locals:
StackMap stack: java.lang.StringIndexOutOfBoundsException
astore 3
start local 3 84: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
aload 3
invokevirtual java.lang.StringIndexOutOfBoundsException.getMessage:()Ljava/lang/String;
aconst_null
iconst_0
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
end local 3 85: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 86 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 86 1 st Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
0 86 2 sProcString Ljava/lang/String;
12 45 3 sProc Ljava/lang/String;
16 41 6 s Lcom/microsoft/sqlserver/jdbc/SQLServerStatement;
20 36 7 rsProcedureMeta Lcom/microsoft/sqlserver/jdbc/SQLServerResultSet;
50 62 3 preparedSQL Ljava/lang/String;
54 58 6 cstmt Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
63 78 3 f Lcom/microsoft/sqlserver/jdbc/SQLServerFMTQuery;
65 74 6 stmt Lcom/microsoft/sqlserver/jdbc/SQLServerStatement;
66 69 7 rs Ljava/sql/ResultSet;
79 80 3 e Lcom/microsoft/sqlserver/jdbc/SQLServerException;
81 82 3 e Ljava/sql/SQLException;
84 85 3 e Ljava/lang/StringIndexOutOfBoundsException;
Exception table:
from to target type
20 34 35 any
16 37 38 any
13 42 42 any
54 56 57 any
51 59 59 any
66 67 68 any
65 70 71 any
64 75 75 any
10 78 78 Class com.microsoft.sqlserver.jdbc.SQLServerException
10 78 80 Class java.sql.SQLException
10 78 83 Class java.lang.StringIndexOutOfBoundsException
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
st
sProcString
public boolean isWrapperFor(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
istore 2
start local 2 1: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 2 1 iface Ljava/lang/Class<*>;
1 2 2 f Z
Exceptions:
throws java.sql.SQLException
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
iface
public <T> T unwrap(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: goto 4
end local 2 StackMap locals:
StackMap stack: java.lang.ClassCastException
2: astore 3
start local 3 3: new com.microsoft.sqlserver.jdbc.SQLServerException
dup
aload 3
invokevirtual java.lang.ClassCastException.getMessage:()Ljava/lang/String;
aload 3
invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 start local 2 4: StackMap locals: java.lang.Object
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 5 1 iface Ljava/lang/Class<TT;>;
1 2 2 t TT;
4 5 2 t TT;
3 4 3 e Ljava/lang/ClassCastException;
Exception table:
from to target type
0 1 2 Class java.lang.ClassCastException
Exceptions:
throws java.sql.SQLException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
iface
private java.util.Map<java.lang.String, java.lang.Object> getParameterInfo(int);
descriptor: (I)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
getfield com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.bReturnValueSyntax:Z
ifeq 2
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.isTVP:Z
ifeq 2
1: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
iload 1
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Map
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Map
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 3 1 param I
Signature: (I)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
MethodParameters:
Name Flags
param
private boolean isValidParamProc(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
getfield com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.bReturnValueSyntax:Z
ifeq 1
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.isTVP:Z
ifeq 1
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
invokeinterface java.util.List.size:()I
iload 1
if_icmpge 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
invokeinterface java.util.List.size:()I
iload 1
if_icmpgt 2
iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 3 1 n I
MethodParameters:
Name Flags
n
private boolean isValidParamQuery(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
ifnull 1
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 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 Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 2 1 n I
MethodParameters:
Name Flags
n
private void checkParam(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
ifnonnull 6
1: aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.isValidParamQuery:(I)Z
ifne 10
2: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
ldc "R_noMetadata"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
3: aconst_null
iconst_0
4: invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
5: goto 10
StackMap locals:
StackMap stack:
6: aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.isValidParamProc:(I)Z
ifne 10
7: new java.text.MessageFormat
dup
ldc "R_invalidParameterNumber"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 2
start local 2 8: iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
astore 3
start local 3 9: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
aload 2
aload 3
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
aconst_null
iconst_0
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
end local 3 end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 11 1 param I
8 10 2 form Ljava/text/MessageFormat;
9 10 3 msgArgs [Ljava/lang/Object;
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
param
public java.lang.String getParameterClassName(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkClosed:()V
1: aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkParam:(I)V
2: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
ifnonnull 5
3: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.parameterClassName:Ljava/lang/String;
4: areturn
5: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.getParameterInfo:(I)Ljava/util/Map;
ldc "DATA_TYPE"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Short
invokevirtual java.lang.Short.shortValue:()S
invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.className:()Ljava/lang/String;
6: areturn
7: StackMap locals:
StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
astore 2
start local 2 8: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
aload 2
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getMessage:()Ljava/lang/String;
aconst_null
iconst_0
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
9: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 10 1 param I
8 10 2 e Lcom/microsoft/sqlserver/jdbc/SQLServerException;
Exception table:
from to target type
2 4 7 Class com.microsoft.sqlserver.jdbc.SQLServerException
5 6 7 Class com.microsoft.sqlserver.jdbc.SQLServerException
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
param
public int getParameterCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkClosed:()V
1: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
ifnonnull 3
2: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
invokeinterface java.util.List.size:()I
ifne 4
iconst_0
goto 5
StackMap locals:
StackMap stack:
4: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
StackMap locals:
StackMap stack: int
5: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
public int getParameterMode(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkClosed:()V
1: aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkParam:(I)V
2: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
ifnonnull 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.getParameterInfo:(I)Ljava/util/Map;
ldc "COLUMN_TYPE"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 2
start local 2 5: iload 2
iconst_1
if_icmpne 7
6: iconst_1
ireturn
7: StackMap locals: int
StackMap stack:
iload 2
iconst_2
if_icmpne 9
8: iconst_4
ireturn
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 10 1 param I
5 10 2 n I
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
param
public int getParameterType(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkClosed:()V
1: aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkParam:(I)V
2: iconst_0
istore 2
start local 2 3: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
ifnonnull 6
4: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.parameterType:I
istore 2
5: goto 7
6: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.getParameterInfo:(I)Ljava/util/Map;
ldc "DATA_TYPE"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Short
invokevirtual java.lang.Short.shortValue:()S
istore 2
7: StackMap locals:
StackMap stack:
iload 2
ifeq 15
8: iload 2
tableswitch { // -151 - -145
-151: 9
-150: 9
-149: 15
-148: 11
-147: 15
-146: 11
-145: 13
default: 15
}
9: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.asJavaSqlType:()I
istore 2
10: goto 15
11: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.SSType.DECIMAL:Lcom/microsoft/sqlserver/jdbc/SSType;
invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.asJavaSqlType:()I
istore 2
12: goto 15
13: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.SSType.CHAR:Lcom/microsoft/sqlserver/jdbc/SSType;
invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.asJavaSqlType:()I
istore 2
14: goto 15
15: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 16 1 param I
3 16 2 parameterType I
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
param
public java.lang.String getParameterTypeName(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkClosed:()V
1: aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkParam:(I)V
2: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
ifnonnull 4
3: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.parameterTypeName:Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.getParameterInfo:(I)Ljava/util/Map;
ldc "TYPE_NAME"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 5 1 param I
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
param
public int getPrecision(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkClosed:()V
1: aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkParam:(I)V
2: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
ifnonnull 4
3: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.precision:I
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.getParameterInfo:(I)Ljava/util/Map;
ldc "PRECISION"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 5 1 param I
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
param
public int getScale(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkClosed:()V
1: aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkParam:(I)V
2: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
ifnonnull 4
3: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.scale:I
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.getParameterInfo:(I)Ljava/util/Map;
ldc "SCALE"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 5 1 param I
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
param
public int isNullable(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkClosed:()V
1: aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkParam:(I)V
2: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
ifnonnull 4
3: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.isNullable:I
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.getParameterInfo:(I)Ljava/util/Map;
ldc "NULLABLE"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 5 1 param I
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
param
public boolean isSigned(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkClosed:()V
1: aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkParam:(I)V
2: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.procMetadata:Ljava/util/List;
ifnonnull 5
3: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.queryMetaMap:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta.isSigned:Z
4: ireturn
5: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.getParameterInfo:(I)Ljava/util/Map;
ldc "DATA_TYPE"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Short
invokevirtual java.lang.Short.shortValue:()S
invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.isSigned:()Z
6: ireturn
7: StackMap locals:
StackMap stack: java.sql.SQLException
astore 2
start local 2 8: aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
aload 0
getfield com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.stmtParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
aload 2
invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
aconst_null
iconst_0
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
9: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 10 1 param I
8 10 2 e Ljava/sql/SQLException;
Exception table:
from to target type
2 4 7 Class java.sql.SQLException
5 6 7 Class java.sql.SQLException
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
param
java.lang.String getTVPSchemaFromStoredProcedure(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkClosed:()V
1: aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.checkParam:(I)V
2: aload 0
iload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.getParameterInfo:(I)Ljava/util/Map;
ldc "SS_TYPE_SCHEMA_NAME"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
0 3 1 param I
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
param
}
SourceFile: "SQLServerParameterMetaData.java"
NestMembers:
com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$1 com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta
InnerClasses:
com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$1
QueryMeta = com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData$QueryMeta of com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData
final Category = com.microsoft.sqlserver.jdbc.SSType$Category of com.microsoft.sqlserver.jdbc.SSType