final class com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator
super_class: java.lang.Object
{
private java.lang.String procedureName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean hasReturnValueSyntax;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final java.lang.String sqlIdentifierPart;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "(?:(?:\\[(?:[^\\]]|(?:\\]\\]))+?\\])|(?:\"(?:[^\"]|(?:\"\"))+?\")|(?:\\S+?))"
private static final java.lang.String sqlIdentifierWithoutGroups;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "((?:(?:\\[(?:[^\\]]|(?:\\]\\]))+?\\])|(?:\"(?:[^\"]|(?:\"\"))+?\")|(?:\\S+?))(?:\\.(?:(?:\\[(?:[^\\]]|(?:\\]\\]))+?\\])|(?:\"(?:[^\"]|(?:\"\"))+?\")|(?:\\S+?))){0,3}?)"
private static final java.lang.String sqlIdentifierWithGroups;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "((?:(?:\\[(?:[^\\]]|(?:\\]\\]))+?\\])|(?:\"(?:[^\"]|(?:\"\"))+?\")|(?:\\S+?)))(?:\\.((?:(?:\\[(?:[^\\]]|(?:\\]\\]))+?\\])|(?:\"(?:[^\"]|(?:\"\"))+?\")|(?:\\S+?))))?"
private static final java.util.regex.Pattern jdbcCallSyntax;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern sqlExecSyntax;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern limitSyntaxWithOffset;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern limitSyntaxGeneric;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern selectPattern;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern openQueryPattern;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern openRowsetPattern;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern limitOnlyPattern;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCSyntaxTranslator$State;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "(?s)\\s*?\\{\\s*?(\\?\\s*?=)?\\s*?[cC][aA][lL][lL]\\s+?((?:(?:\\[(?:[^\\]]|(?:\\]\\]))+?\\])|(?:\"(?:[^\"]|(?:\"\"))+?\")|(?:\\S+?))(?:\\.(?:(?:\\[(?:[^\\]]|(?:\\]\\]))+?\\])|(?:\"(?:[^\"]|(?:\"\"))+?\")|(?:\\S+?))){0,3}?)(?:\\s*?\\((.*)\\))?\\s*\\}.*+"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
1: putstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.jdbcCallSyntax:Ljava/util/regex/Pattern;
2: ldc "\\s*?[eE][xX][eE][cC](?:[uU][tT][eE])??\\s+?(((?:(?:\\[(?:[^\\]]|(?:\\]\\]))+?\\])|(?:\"(?:[^\"]|(?:\"\"))+?\")|(?:\\S+?))(?:\\.(?:(?:\\[(?:[^\\]]|(?:\\]\\]))+?\\])|(?:\"(?:[^\"]|(?:\"\"))+?\")|(?:\\S+?))){0,3}?)\\s*?=\\s+?)??((?:(?:\\[(?:[^\\]]|(?:\\]\\]))+?\\])|(?:\"(?:[^\"]|(?:\"\"))+?\")|(?:\\S+?))(?:\\.(?:(?:\\[(?:[^\\]]|(?:\\]\\]))+?\\])|(?:\"(?:[^\"]|(?:\"\"))+?\")|(?:\\S+?))){0,3}?)(?:$|(?:\\s+?.*+))"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.sqlExecSyntax:Ljava/util/regex/Pattern;
3: ldc "\\{\\s*[lL][iI][mM][iI][tT]\\s+(.*)\\s+[oO][fF][fF][sS][eE][tT]\\s+(.*)\\}"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
4: putstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.limitSyntaxWithOffset:Ljava/util/regex/Pattern;
5: ldc "\\{\\s*[lL][iI][mM][iI][tT]\\s+(.*)(\\s+[oO][fF][fF][sS][eE][tT](.*)\\}|\\s*\\})"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
6: putstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.limitSyntaxGeneric:Ljava/util/regex/Pattern;
7: ldc "([sS][eE][lL][eE][cC][tT])\\s+"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.selectPattern:Ljava/util/regex/Pattern;
8: ldc "[oO][pP][eE][nN][qQ][uU][eE][rR][yY]\\s*\\(.*,\\s*'(.*)'\\s*\\)"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
9: putstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.openQueryPattern:Ljava/util/regex/Pattern;
10: ldc "[oO][pP][eE][nN][rR][oO][wW][sS][eE][tT]\\s*\\(.*,.*,\\s*'(.*)'\\s*\\)"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
11: putstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.openRowsetPattern:Ljava/util/regex/Pattern;
12: ldc "\\{\\s*[lL][iI][mM][iI][tT]\\s+(((\\(|\\s)*)(\\d*|\\?)((\\)|\\s)*))\\s*\\}"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
13: putstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.limitOnlyPattern:Ljava/util/regex/Pattern;
14: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.procedureName:Ljava/lang/String;
2: aload 0
iconst_0
putfield com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.hasReturnValueSyntax:Z
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator;
java.lang.String getProcedureName();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.procedureName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator;
boolean hasReturnValueSyntax();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.hasReturnValueSyntax:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator;
static java.lang.String getSQLIdentifierWithGroups();
descriptor: ()Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "((?:(?:\\[(?:[^\\]]|(?:\\]\\]))+?\\])|(?:\"(?:[^\"]|(?:\"\"))+?\")|(?:\\S+?)))(?:\\.((?:(?:\\[(?:[^\\]]|(?:\\]\\]))+?\\])|(?:\"(?:[^\"]|(?:\"\"))+?\")|(?:\\S+?))))?"
areturn
LocalVariableTable:
Start End Slot Name Signature
int translateLimit(java.lang.StringBuffer, int, char);
descriptor: (Ljava/lang/StringBuffer;IC)I
flags: (0x0000)
Code:
stack=6, locals=20, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.selectPattern:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 4
start local 4 1: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.openQueryPattern:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 5
start local 5 2: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.openRowsetPattern:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 6
start local 6 3: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.limitOnlyPattern:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 7
start local 7 4: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.limitSyntaxWithOffset:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 8
start local 8 5: iload 2
istore 9
start local 9 6: new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
astore 10
start local 10 7: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.START:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
start local 11 8: goto 101
9: StackMap locals: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator java.lang.StringBuffer int int java.util.regex.Matcher java.util.regex.Matcher java.util.regex.Matcher java.util.regex.Matcher java.util.regex.Matcher int java.util.Stack com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State
StackMap stack:
aload 1
iload 2
invokevirtual java.lang.StringBuffer.charAt:(I)C
istore 12
start local 12 10: invokestatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCSyntaxTranslator$State:()[I
aload 11
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.ordinal:()I
iaload
tableswitch { // 1 - 10
1: 11
2: 99
3: 87
4: 73
5: 91
6: 95
7: 42
8: 39
9: 77
10: 13
default: 101
}
11: StackMap locals: int
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.PROCESS:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
12: goto 101
13: StackMap locals:
StackMap stack:
iload 3
iload 12
if_icmpne 16
14: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.END:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
15: goto 101
StackMap locals:
StackMap stack:
16: bipush 39
iload 12
if_icmpne 19
17: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.QUOTE:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
18: goto 101
StackMap locals:
StackMap stack:
19: bipush 40
iload 12
if_icmpne 22
20: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.SUBQUERY:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
21: goto 101
StackMap locals:
StackMap stack:
22: aload 7
iload 2
invokevirtual java.util.regex.Matcher.find:(I)Z
ifeq 25
iload 2
aload 7
invokevirtual java.util.regex.Matcher.start:()I
if_icmpne 25
23: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.LIMIT:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
24: goto 101
StackMap locals:
StackMap stack:
25: aload 8
iload 2
invokevirtual java.util.regex.Matcher.find:(I)Z
ifeq 28
iload 2
aload 8
invokevirtual java.util.regex.Matcher.start:()I
if_icmpne 28
26: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.OFFSET:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
27: goto 101
StackMap locals:
StackMap stack:
28: aload 5
iload 2
invokevirtual java.util.regex.Matcher.find:(I)Z
ifeq 31
iload 2
aload 5
invokevirtual java.util.regex.Matcher.start:()I
if_icmpne 31
29: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.OPENQUERY:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
30: goto 101
StackMap locals:
StackMap stack:
31: aload 6
iload 2
invokevirtual java.util.regex.Matcher.find:(I)Z
ifeq 34
iload 2
aload 6
invokevirtual java.util.regex.Matcher.start:()I
if_icmpne 34
32: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.OPENROWSET:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
33: goto 101
StackMap locals:
StackMap stack:
34: aload 4
iload 2
invokevirtual java.util.regex.Matcher.find:(I)Z
ifeq 37
iload 2
aload 4
invokevirtual java.util.regex.Matcher.start:()I
if_icmpne 37
35: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.SELECT:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
36: goto 101
37: StackMap locals:
StackMap stack:
iinc 2 1
38: goto 101
39: StackMap locals:
StackMap stack:
new com.microsoft.sqlserver.jdbc.SQLServerException
dup
ldc "R_limitOffsetNotSupported"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
aconst_null
iconst_0
40: aconst_null
41: invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
athrow
42: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 43: iconst_0
istore 14
start local 14 44: iconst_m1
istore 15
start local 15 45: aload 7
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 16
start local 16 46: aload 7
iconst_5
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 17
start local 17 47: goto 49
48: StackMap locals: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator java.lang.StringBuffer int int java.util.regex.Matcher java.util.regex.Matcher java.util.regex.Matcher java.util.regex.Matcher java.util.regex.Matcher int java.util.Stack com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State int int int int java.lang.String java.lang.String
StackMap stack:
iinc 13 1
49: StackMap locals:
StackMap stack:
iconst_m1
aload 16
bipush 40
iload 15
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
dup
istore 15
if_icmpne 48
50: iconst_m1
istore 15
51: goto 53
52: StackMap locals:
StackMap stack:
iinc 14 1
53: StackMap locals:
StackMap stack:
iconst_m1
aload 17
bipush 41
iload 15
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
dup
istore 15
if_icmpne 52
54: iload 13
iload 14
if_icmpeq 59
55: new com.microsoft.sqlserver.jdbc.SQLServerException
dup
ldc "R_limitEscapeSyntaxError"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
aconst_null
56: iconst_0
57: aconst_null
58: invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
athrow
59: StackMap locals:
StackMap stack:
aload 10
invokevirtual java.util.Stack.empty:()Z
ifne 70
60: aload 10
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 18
start local 18 61: aload 7
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 19
start local 19 62: aload 1
aload 7
invokevirtual java.util.regex.Matcher.start:()I
iconst_1
isub
aload 7
invokevirtual java.util.regex.Matcher.end:()I
invokevirtual java.lang.StringBuffer.delete:(II)Ljava/lang/StringBuffer;
pop
63: bipush 63
aload 19
iconst_0
invokevirtual java.lang.String.charAt:(I)C
if_icmpne 67
64: aload 1
aload 18
invokevirtual java.lang.Integer.intValue:()I
new java.lang.StringBuilder
dup
ldc " TOP ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
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.lang.StringBuffer.insert:(ILjava/lang/String;)Ljava/lang/StringBuffer;
pop
65: iload 2
bipush 7
aload 19
invokevirtual java.lang.String.length:()I
iadd
iconst_1
isub
iadd
istore 2
66: goto 71
67: StackMap locals: java.lang.Integer java.lang.String
StackMap stack:
aload 1
aload 18
invokevirtual java.lang.Integer.intValue:()I
new java.lang.StringBuilder
dup
ldc " TOP "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.insert:(ILjava/lang/String;)Ljava/lang/StringBuffer;
pop
68: iload 2
iconst_5
aload 19
invokevirtual java.lang.String.length:()I
iadd
iconst_1
isub
iadd
istore 2
end local 19 end local 18 69: goto 71
70: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.util.regex.Matcher.end:()I
iconst_1
isub
istore 2
71: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.PROCESS:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
72: goto 101
end local 17 end local 16 end local 15 end local 14 end local 13 73: StackMap locals: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator java.lang.StringBuffer int int java.util.regex.Matcher java.util.regex.Matcher java.util.regex.Matcher java.util.regex.Matcher java.util.regex.Matcher int java.util.Stack com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State int
StackMap stack:
aload 4
iconst_1
invokevirtual java.util.regex.Matcher.end:(I)I
istore 2
74: aload 10
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
75: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.PROCESS:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
76: goto 101
77: StackMap locals:
StackMap stack:
iinc 2 1
78: aload 1
invokevirtual java.lang.StringBuffer.length:()I
iload 2
if_icmple 85
bipush 39
aload 1
iload 2
invokevirtual java.lang.StringBuffer.charAt:(I)C
if_icmpne 85
79: iinc 2 1
80: aload 1
invokevirtual java.lang.StringBuffer.length:()I
iload 2
if_icmple 83
bipush 39
aload 1
iload 2
invokevirtual java.lang.StringBuffer.charAt:(I)C
if_icmpne 83
81: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.QUOTE:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
82: goto 101
83: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.PROCESS:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
84: goto 101
85: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.QUOTE:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
86: goto 101
87: StackMap locals:
StackMap stack:
iinc 2 1
88: iload 2
aload 0
aload 1
iload 2
bipush 41
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.translateLimit:(Ljava/lang/StringBuffer;IC)I
iadd
istore 2
89: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.PROCESS:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
90: goto 101
91: StackMap locals:
StackMap stack:
aload 5
iconst_1
invokevirtual java.util.regex.Matcher.start:(I)I
istore 2
92: iload 2
aload 0
aload 1
iload 2
bipush 39
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.translateLimit:(Ljava/lang/StringBuffer;IC)I
iadd
istore 2
93: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.PROCESS:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
94: goto 101
95: StackMap locals:
StackMap stack:
aload 6
iconst_1
invokevirtual java.util.regex.Matcher.start:(I)I
istore 2
96: iload 2
aload 0
aload 1
iload 2
bipush 39
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.translateLimit:(Ljava/lang/StringBuffer;IC)I
iadd
istore 2
97: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.PROCESS:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
astore 11
98: goto 101
99: StackMap locals:
StackMap stack:
iinc 2 1
100: iload 2
iload 9
isub
ireturn
end local 12 101: StackMap locals:
StackMap stack:
iload 2
aload 1
invokevirtual java.lang.StringBuffer.length:()I
if_icmplt 9
102: iload 2
iload 9
isub
ireturn
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 103 0 this Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator;
0 103 1 sql Ljava/lang/StringBuffer;
0 103 2 indx I
0 103 3 endChar C
1 103 4 selectMatcher Ljava/util/regex/Matcher;
2 103 5 openQueryMatcher Ljava/util/regex/Matcher;
3 103 6 openRowsetMatcher Ljava/util/regex/Matcher;
4 103 7 limitMatcher Ljava/util/regex/Matcher;
5 103 8 offsetMatcher Ljava/util/regex/Matcher;
6 103 9 startIndx I
7 103 10 topPosition Ljava/util/Stack<Ljava/lang/Integer;>;
8 103 11 nextState Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
10 101 12 ch C
43 73 13 openingParentheses I
44 73 14 closingParentheses I
45 73 15 pos I
46 73 16 openingStr Ljava/lang/String;
47 73 17 closingStr Ljava/lang/String;
61 69 18 top Ljava/lang/Integer;
62 69 19 rows Ljava/lang/String;
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
sql
indx
endChar
java.lang.String translate(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.jdbcCallSyntax:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 2
start local 2 1: aload 2
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 13
2: aload 0
aload 2
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
ifnull 3
iconst_1
goto 4
StackMap locals: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator java.lang.String java.util.regex.Matcher
StackMap stack: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator
3: iconst_0
StackMap locals: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator java.lang.String java.util.regex.Matcher
StackMap stack: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator int
4: putfield com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.hasReturnValueSyntax:Z
5: aload 0
aload 2
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
putfield com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.procedureName:Ljava/lang/String;
6: aload 2
iconst_3
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 3
start local 3 7: new java.lang.StringBuilder
dup
ldc "EXEC "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.hasReturnValueSyntax:Z
ifeq 8
ldc "? = "
goto 9
StackMap locals: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator java.lang.String java.util.regex.Matcher java.lang.String
StackMap stack: java.lang.StringBuilder
8: ldc ""
StackMap locals: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator java.lang.String java.util.regex.Matcher java.lang.String
StackMap stack: java.lang.StringBuilder java.lang.String
9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.procedureName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
ifnull 10
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 11
StackMap locals:
StackMap stack: java.lang.StringBuilder
10: ldc ""
StackMap locals: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator java.lang.String java.util.regex.Matcher java.lang.String
StackMap stack: java.lang.StringBuilder java.lang.String
11: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
end local 3 12: goto 19
13: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.sqlExecSyntax:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 2
14: aload 2
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 19
15: aload 0
aload 2
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
ifnull 16
iconst_1
goto 17
StackMap locals:
StackMap stack: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator
16: iconst_0
StackMap locals: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator java.lang.String java.util.regex.Matcher
StackMap stack: com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator int
17: putfield com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.hasReturnValueSyntax:Z
18: aload 0
aload 2
iconst_3
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
putfield com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.procedureName:Ljava/lang/String;
19: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.limitSyntaxGeneric:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 2
20: aload 2
invokevirtual java.util.regex.Matcher.find:()Z
ifeq 24
21: new java.lang.StringBuffer
dup
aload 1
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
astore 3
start local 3 22: aload 0
aload 3
iconst_0
iconst_0
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.translateLimit:(Ljava/lang/StringBuffer;IC)I
pop
23: aload 3
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 3 24: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator;
0 25 1 sql Ljava/lang/String;
1 25 2 matcher Ljava/util/regex/Matcher;
7 12 3 args Ljava/lang/String;
22 24 3 sqlbuf Ljava/lang/StringBuffer;
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
sql
static int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCSyntaxTranslator$State();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCSyntaxTranslator$State:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.values:()[Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.END:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.LIMIT:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.ordinal:()I
bipush 7
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.OFFSET:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.ordinal:()I
bipush 8
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.OPENQUERY:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.ordinal:()I
iconst_5
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.OPENROWSET:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.PROCESS:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.ordinal:()I
bipush 10
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.QUOTE:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.ordinal:()I
bipush 9
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.SELECT:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.ordinal:()I
iconst_4
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.START:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.ordinal:()I
iconst_1
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.SUBQUERY:Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator$State;
invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State.ordinal:()I
iconst_3
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
dup
putstatic com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCSyntaxTranslator$State:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
}
SourceFile: "SQLServerStatement.java"
NestMembers:
com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State
InnerClasses:
final State = com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator$State of com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator