public class org.postgresql.core.Parser
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.postgresql.core.Parser
super_class: java.lang.Object
{
private static final int[] NO_BINDS;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char[] QUOTE_OR_ALPHABETIC_MARKER;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char[] QUOTE_OR_ALPHABETIC_MARKER_OR_PARENTHESIS;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char[] SINGLE_QUOTE;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$org$postgresql$core$Parser$SqlParseState;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 28
iconst_0
newarray 10
putstatic org.postgresql.core.Parser.NO_BINDS:[I
1: .line 1345
iconst_2
newarray 5
dup
iconst_0
bipush 34
castore
dup
iconst_1
bipush 48
castore
putstatic org.postgresql.core.Parser.QUOTE_OR_ALPHABETIC_MARKER:[C
2: .line 1346
iconst_3
newarray 5
dup
iconst_0
bipush 34
castore
dup
iconst_1
bipush 48
castore
dup
iconst_2
bipush 40
castore
putstatic org.postgresql.core.Parser.QUOTE_OR_ALPHABETIC_MARKER_OR_PARENTHESIS:[C
3: .line 1347
iconst_1
newarray 5
dup
iconst_0
bipush 39
castore
putstatic org.postgresql.core.Parser.SINGLE_QUOTE:[C
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.postgresql.core.Parser this
0: .line 27
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.postgresql.core.Parser this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/postgresql/core/Parser;
public static java.util.List<org.postgresql.core.NativeQuery> parseJdbcSql(java.lang.String, boolean, boolean, boolean, boolean, java.lang.String[]);
descriptor: (Ljava/lang/String;ZZZZ[Ljava/lang/String;)Ljava/util/List;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=12, locals=32, args_size=6
start local 0 // java.lang.String query
start local 1 // boolean standardConformingStrings
start local 2 // boolean withParameters
start local 3 // boolean splitStatements
start local 4 // boolean isBatchedReWriteConfigured
start local 5 // java.lang.String[] returningColumnNames
0: .line 48
iload 2 /* withParameters */
ifne 5
iload 3 /* splitStatements */
ifne 5
1: .line 49
aload 5 /* returningColumnNames */
ifnull 5
aload 5 /* returningColumnNames */
arraylength
ifne 5
2: .line 50
new org.postgresql.core.NativeQuery
dup
aload 0 /* query */
3: .line 51
getstatic org.postgresql.core.SqlCommandType.BLANK:Lorg/postgresql/core/SqlCommandType;
invokestatic org.postgresql.core.SqlCommand.createStatementTypeInfo:(Lorg/postgresql/core/SqlCommandType;)Lorg/postgresql/core/SqlCommand;
4: .line 50
invokespecial org.postgresql.core.NativeQuery.<init>:(Ljava/lang/String;Lorg/postgresql/core/SqlCommand;)V
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
5: .line 54
StackMap locals:
StackMap stack:
iconst_0
istore 6 /* fragmentStart */
start local 6 // int fragmentStart
6: .line 55
iconst_0
istore 7 /* inParen */
start local 7 // int inParen
7: .line 57
aload 0 /* query */
invokevirtual java.lang.String.toCharArray:()[C
astore 8 /* aChars */
start local 8 // char[] aChars
8: .line 59
new java.lang.StringBuilder
dup
aload 0 /* query */
invokevirtual java.lang.String.length:()I
bipush 10
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 9 /* nativeSql */
start local 9 // java.lang.StringBuilder nativeSql
9: .line 60
aconst_null
astore 10 /* bindPositions */
start local 10 // java.util.List bindPositions
10: .line 61
aconst_null
astore 11 /* nativeQueries */
start local 11 // java.util.List nativeQueries
11: .line 62
iconst_0
istore 12 /* isCurrentReWriteCompatible */
start local 12 // boolean isCurrentReWriteCompatible
12: .line 63
iconst_0
istore 13 /* isValuesFound */
start local 13 // boolean isValuesFound
13: .line 64
iconst_m1
istore 14 /* valuesBraceOpenPosition */
start local 14 // int valuesBraceOpenPosition
14: .line 65
iconst_m1
istore 15 /* valuesBraceClosePosition */
start local 15 // int valuesBraceClosePosition
15: .line 66
iconst_0
istore 16 /* valuesBraceCloseFound */
start local 16 // boolean valuesBraceCloseFound
16: .line 67
iconst_0
istore 17 /* isInsertPresent */
start local 17 // boolean isInsertPresent
17: .line 68
iconst_0
istore 18 /* isReturningPresent */
start local 18 // boolean isReturningPresent
18: .line 69
iconst_0
istore 19 /* isReturningPresentPrev */
start local 19 // boolean isReturningPresentPrev
19: .line 70
getstatic org.postgresql.core.SqlCommandType.BLANK:Lorg/postgresql/core/SqlCommandType;
astore 20 /* currentCommandType */
start local 20 // org.postgresql.core.SqlCommandType currentCommandType
20: .line 71
getstatic org.postgresql.core.SqlCommandType.BLANK:Lorg/postgresql/core/SqlCommandType;
astore 21 /* prevCommandType */
start local 21 // org.postgresql.core.SqlCommandType prevCommandType
21: .line 72
iconst_0
istore 22 /* numberOfStatements */
start local 22 // int numberOfStatements
22: .line 74
iconst_1
istore 23 /* whitespaceOnly */
start local 23 // boolean whitespaceOnly
23: .line 75
iconst_0
istore 24 /* keyWordCount */
start local 24 // int keyWordCount
24: .line 76
iconst_m1
istore 25 /* keywordStart */
start local 25 // int keywordStart
25: .line 77
iconst_m1
istore 26 /* keywordEnd */
start local 26 // int keywordEnd
26: .line 78
iconst_0
istore 27 /* i */
start local 27 // int i
27: goto 158
28: .line 79
StackMap locals: java.lang.String int int int int java.lang.String[] int int char[] java.lang.StringBuilder java.util.List java.util.List int int int int int int int int org.postgresql.core.SqlCommandType org.postgresql.core.SqlCommandType int int int int int int
StackMap stack:
aload 8 /* aChars */
iload 27 /* i */
caload
istore 28 /* aChar */
start local 28 // char aChar
29: .line 80
iconst_0
istore 29 /* isKeyWordChar */
start local 29 // boolean isKeyWordChar
30: .line 82
iload 23 /* whitespaceOnly */
iload 28 /* aChar */
bipush 59
if_icmpeq 31
iload 28 /* aChar */
invokestatic java.lang.Character.isWhitespace:(C)Z
ifne 31
iconst_0
goto 32
StackMap locals: java.lang.String int int int int java.lang.String[] int int char[] java.lang.StringBuilder java.util.List java.util.List int int int int int int int int org.postgresql.core.SqlCommandType org.postgresql.core.SqlCommandType int int int int int int int int
StackMap stack: int
31: iconst_1
StackMap locals: java.lang.String int int int int java.lang.String[] int int char[] java.lang.StringBuilder java.util.List java.util.List int int int int int int int int org.postgresql.core.SqlCommandType org.postgresql.core.SqlCommandType int int int int int int int int
StackMap stack: int int
32: iand
istore 23 /* whitespaceOnly */
33: .line 83
iload 27 /* i */
istore 26 /* keywordEnd */
34: .line 84
iload 28 /* aChar */
lookupswitch { // 8
34: 37
36: 43
39: 35
41: 45
45: 39
47: 41
59: 64
63: 49
default: 102
}
35: .line 86
StackMap locals:
StackMap stack:
aload 8 /* aChars */
iload 27 /* i */
iload 1 /* standardConformingStrings */
invokestatic org.postgresql.core.Parser.parseSingleQuotes:([CIZ)I
istore 27 /* i */
36: .line 87
goto 110
37: .line 90
StackMap locals:
StackMap stack:
aload 8 /* aChars */
iload 27 /* i */
invokestatic org.postgresql.core.Parser.parseDoubleQuotes:([CI)I
istore 27 /* i */
38: .line 91
goto 110
39: .line 94
StackMap locals:
StackMap stack:
aload 8 /* aChars */
iload 27 /* i */
invokestatic org.postgresql.core.Parser.parseLineComment:([CI)I
istore 27 /* i */
40: .line 95
goto 110
41: .line 98
StackMap locals:
StackMap stack:
aload 8 /* aChars */
iload 27 /* i */
invokestatic org.postgresql.core.Parser.parseBlockComment:([CI)I
istore 27 /* i */
42: .line 99
goto 110
43: .line 102
StackMap locals:
StackMap stack:
aload 8 /* aChars */
iload 27 /* i */
invokestatic org.postgresql.core.Parser.parseDollarQuotes:([CI)I
istore 27 /* i */
44: .line 103
goto 110
45: .line 108
StackMap locals:
StackMap stack:
iinc 7 /* inParen */ -1
46: .line 109
iload 7 /* inParen */
ifne 110
iload 13 /* isValuesFound */
ifeq 110
iload 16 /* valuesBraceCloseFound */
ifne 110
47: .line 112
aload 9 /* nativeSql */
invokevirtual java.lang.StringBuilder.length:()I
iload 27 /* i */
iadd
iload 6 /* fragmentStart */
isub
istore 15 /* valuesBraceClosePosition */
48: .line 114
goto 110
49: .line 117
StackMap locals:
StackMap stack:
aload 9 /* nativeSql */
aload 8 /* aChars */
iload 6 /* fragmentStart */
iload 27 /* i */
iload 6 /* fragmentStart */
isub
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
50: .line 118
iload 27 /* i */
iconst_1
iadd
aload 8 /* aChars */
arraylength
if_icmpge 54
aload 8 /* aChars */
iload 27 /* i */
iconst_1
iadd
caload
bipush 63
if_icmpne 54
51: .line 119
aload 9 /* nativeSql */
bipush 63
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
52: .line 120
iinc 27 /* i */ 1
53: .line 121
goto 62
54: .line 122
StackMap locals:
StackMap stack:
iload 2 /* withParameters */
ifne 57
55: .line 123
aload 9 /* nativeSql */
bipush 63
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
56: .line 124
goto 62
57: .line 125
StackMap locals:
StackMap stack:
aload 10 /* bindPositions */
ifnonnull 59
58: .line 126
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10 /* bindPositions */
59: .line 128
StackMap locals:
StackMap stack:
aload 10 /* bindPositions */
aload 9 /* nativeSql */
invokevirtual java.lang.StringBuilder.length:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
60: .line 129
aload 10 /* bindPositions */
invokeinterface java.util.List.size:()I
istore 30 /* bindIndex */
start local 30 // int bindIndex
61: .line 130
aload 9 /* nativeSql */
iload 30 /* bindIndex */
invokestatic org.postgresql.core.NativeQuery.bindName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 30 // int bindIndex
62: .line 133
StackMap locals:
StackMap stack:
iload 27 /* i */
iconst_1
iadd
istore 6 /* fragmentStart */
63: .line 134
goto 110
64: .line 137
StackMap locals:
StackMap stack:
iload 7 /* inParen */
ifne 110
65: .line 138
iload 23 /* whitespaceOnly */
ifne 69
66: .line 139
iinc 22 /* numberOfStatements */ 1
67: .line 140
aload 9 /* nativeSql */
aload 8 /* aChars */
iload 6 /* fragmentStart */
iload 27 /* i */
iload 6 /* fragmentStart */
isub
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
68: .line 141
iconst_1
istore 23 /* whitespaceOnly */
69: .line 143
StackMap locals:
StackMap stack:
iload 27 /* i */
iconst_1
iadd
istore 6 /* fragmentStart */
70: .line 144
aload 9 /* nativeSql */
invokevirtual java.lang.StringBuilder.length:()I
ifle 88
71: .line 145
aload 9 /* nativeSql */
aload 20 /* currentCommandType */
aload 5 /* returningColumnNames */
iload 18 /* isReturningPresent */
invokestatic org.postgresql.core.Parser.addReturning:(Ljava/lang/StringBuilder;Lorg/postgresql/core/SqlCommandType;[Ljava/lang/String;Z)Z
ifeq 73
72: .line 146
iconst_1
istore 18 /* isReturningPresent */
73: .line 149
StackMap locals:
StackMap stack:
iload 3 /* splitStatements */
ifeq 88
74: .line 150
aload 11 /* nativeQueries */
ifnonnull 76
75: .line 151
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11 /* nativeQueries */
76: .line 154
StackMap locals:
StackMap stack:
iload 13 /* isValuesFound */
ifeq 79
iload 12 /* isCurrentReWriteCompatible */
ifeq 79
iload 15 /* valuesBraceClosePosition */
iconst_m1
if_icmpeq 79
77: .line 155
aload 10 /* bindPositions */
ifnull 81
78: .line 156
iload 15 /* valuesBraceClosePosition */
aload 10 /* bindPositions */
aload 10 /* bindPositions */
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
if_icmpge 81
79: .line 157
StackMap locals:
StackMap stack:
iconst_m1
istore 14 /* valuesBraceOpenPosition */
80: .line 158
iconst_m1
istore 15 /* valuesBraceClosePosition */
81: .line 161
StackMap locals:
StackMap stack:
aload 11 /* nativeQueries */
new org.postgresql.core.NativeQuery
dup
aload 9 /* nativeSql */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
82: .line 162
aload 10 /* bindPositions */
invokestatic org.postgresql.core.Parser.toIntArray:(Ljava/util/List;)[I
iconst_0
83: .line 164
aload 20 /* currentCommandType */
iload 4 /* isBatchedReWriteConfigured */
iload 14 /* valuesBraceOpenPosition */
84: .line 165
iload 15 /* valuesBraceClosePosition */
85: .line 166
iload 18 /* isReturningPresent */
aload 11 /* nativeQueries */
invokeinterface java.util.List.size:()I
86: .line 163
invokestatic org.postgresql.core.SqlCommand.createStatementTypeInfo:(Lorg/postgresql/core/SqlCommandType;ZIIZI)Lorg/postgresql/core/SqlCommand;
invokespecial org.postgresql.core.NativeQuery.<init>:(Ljava/lang/String;[IZLorg/postgresql/core/SqlCommand;)V
87: .line 161
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
88: .line 169
StackMap locals:
StackMap stack:
aload 20 /* currentCommandType */
astore 21 /* prevCommandType */
89: .line 170
iload 18 /* isReturningPresent */
istore 19 /* isReturningPresentPrev */
90: .line 171
getstatic org.postgresql.core.SqlCommandType.BLANK:Lorg/postgresql/core/SqlCommandType;
astore 20 /* currentCommandType */
91: .line 172
iconst_0
istore 18 /* isReturningPresent */
92: .line 173
iload 3 /* splitStatements */
ifeq 110
93: .line 175
aload 10 /* bindPositions */
ifnull 95
94: .line 176
aload 10 /* bindPositions */
invokeinterface java.util.List.clear:()V
95: .line 178
StackMap locals:
StackMap stack:
aload 9 /* nativeSql */
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
96: .line 179
iconst_0
istore 13 /* isValuesFound */
97: .line 180
iconst_0
istore 12 /* isCurrentReWriteCompatible */
98: .line 181
iconst_m1
istore 14 /* valuesBraceOpenPosition */
99: .line 182
iconst_m1
istore 15 /* valuesBraceClosePosition */
100: .line 183
iconst_0
istore 16 /* valuesBraceCloseFound */
101: .line 186
goto 110
102: .line 189
StackMap locals:
StackMap stack:
iload 25 /* keywordStart */
iflt 105
103: .line 193
iload 28 /* aChar */
invokestatic org.postgresql.core.Parser.isIdentifierContChar:(C)Z
istore 29 /* isKeyWordChar */
104: .line 194
goto 110
105: .line 197
StackMap locals:
StackMap stack:
iload 28 /* aChar */
invokestatic org.postgresql.core.Parser.isIdentifierStartChar:(C)Z
istore 29 /* isKeyWordChar */
106: .line 198
iload 29 /* isKeyWordChar */
ifeq 110
107: .line 199
iload 27 /* i */
istore 25 /* keywordStart */
108: .line 200
iload 14 /* valuesBraceOpenPosition */
iconst_m1
if_icmpeq 110
iload 7 /* inParen */
ifne 110
109: .line 203
iconst_1
istore 16 /* valuesBraceCloseFound */
110: .line 208
StackMap locals:
StackMap stack:
iload 25 /* keywordStart */
iflt 153
iload 27 /* i */
aload 8 /* aChars */
arraylength
iconst_1
isub
if_icmpeq 111
iload 29 /* isKeyWordChar */
ifne 153
111: .line 209
StackMap locals:
StackMap stack:
iload 29 /* isKeyWordChar */
ifeq 112
iload 27 /* i */
iconst_1
iadd
goto 113
StackMap locals:
StackMap stack:
112: iload 26 /* keywordEnd */
StackMap locals:
StackMap stack: int
113: iload 25 /* keywordStart */
isub
istore 30 /* wordLength */
start local 30 // int wordLength
114: .line 210
aload 20 /* currentCommandType */
getstatic org.postgresql.core.SqlCommandType.BLANK:Lorg/postgresql/core/SqlCommandType;
if_acmpne 140
115: .line 211
iload 30 /* wordLength */
bipush 6
if_icmpne 118
aload 8 /* aChars */
iload 25 /* keywordStart */
invokestatic org.postgresql.core.Parser.parseUpdateKeyword:([CI)Z
ifeq 118
116: .line 212
getstatic org.postgresql.core.SqlCommandType.UPDATE:Lorg/postgresql/core/SqlCommandType;
astore 20 /* currentCommandType */
117: .line 213
goto 145
StackMap locals: int
StackMap stack:
118: iload 30 /* wordLength */
bipush 6
if_icmpne 121
aload 8 /* aChars */
iload 25 /* keywordStart */
invokestatic org.postgresql.core.Parser.parseDeleteKeyword:([CI)Z
ifeq 121
119: .line 214
getstatic org.postgresql.core.SqlCommandType.DELETE:Lorg/postgresql/core/SqlCommandType;
astore 20 /* currentCommandType */
120: .line 215
goto 145
StackMap locals:
StackMap stack:
121: iload 30 /* wordLength */
iconst_4
if_icmpne 124
aload 8 /* aChars */
iload 25 /* keywordStart */
invokestatic org.postgresql.core.Parser.parseMoveKeyword:([CI)Z
ifeq 124
122: .line 216
getstatic org.postgresql.core.SqlCommandType.MOVE:Lorg/postgresql/core/SqlCommandType;
astore 20 /* currentCommandType */
123: .line 217
goto 145
StackMap locals:
StackMap stack:
124: iload 30 /* wordLength */
bipush 6
if_icmpne 127
aload 8 /* aChars */
iload 25 /* keywordStart */
invokestatic org.postgresql.core.Parser.parseSelectKeyword:([CI)Z
ifeq 127
125: .line 218
getstatic org.postgresql.core.SqlCommandType.SELECT:Lorg/postgresql/core/SqlCommandType;
astore 20 /* currentCommandType */
126: .line 219
goto 145
StackMap locals:
StackMap stack:
127: iload 30 /* wordLength */
iconst_4
if_icmpne 130
aload 8 /* aChars */
iload 25 /* keywordStart */
invokestatic org.postgresql.core.Parser.parseWithKeyword:([CI)Z
ifeq 130
128: .line 220
getstatic org.postgresql.core.SqlCommandType.WITH:Lorg/postgresql/core/SqlCommandType;
astore 20 /* currentCommandType */
129: .line 221
goto 145
StackMap locals:
StackMap stack:
130: iload 30 /* wordLength */
bipush 6
if_icmpne 145
aload 8 /* aChars */
iload 25 /* keywordStart */
invokestatic org.postgresql.core.Parser.parseInsertKeyword:([CI)Z
ifeq 145
131: .line 222
iload 17 /* isInsertPresent */
ifne 138
aload 11 /* nativeQueries */
ifnull 132
aload 11 /* nativeQueries */
invokeinterface java.util.List.isEmpty:()Z
ifeq 138
132: .line 225
StackMap locals:
StackMap stack:
iload 24 /* keyWordCount */
ifne 133
iconst_1
goto 134
StackMap locals:
StackMap stack:
133: iconst_0
StackMap locals:
StackMap stack: int
134: istore 12 /* isCurrentReWriteCompatible */
135: .line 226
iconst_1
istore 17 /* isInsertPresent */
136: .line 227
getstatic org.postgresql.core.SqlCommandType.INSERT:Lorg/postgresql/core/SqlCommandType;
astore 20 /* currentCommandType */
137: .line 228
goto 145
138: .line 229
StackMap locals:
StackMap stack:
iconst_0
istore 12 /* isCurrentReWriteCompatible */
139: .line 232
goto 145
StackMap locals:
StackMap stack:
140: aload 20 /* currentCommandType */
getstatic org.postgresql.core.SqlCommandType.WITH:Lorg/postgresql/core/SqlCommandType;
if_acmpne 145
141: .line 233
iload 7 /* inParen */
ifne 145
142: .line 234
aload 8 /* aChars */
iload 27 /* i */
iload 25 /* keywordStart */
iload 30 /* wordLength */
invokestatic org.postgresql.core.Parser.parseWithCommandType:([CIII)Lorg/postgresql/core/SqlCommandType;
astore 31 /* command */
start local 31 // org.postgresql.core.SqlCommandType command
143: .line 235
aload 31 /* command */
ifnull 145
144: .line 236
aload 31 /* command */
astore 20 /* currentCommandType */
end local 31 // org.postgresql.core.SqlCommandType command
145: .line 239
StackMap locals:
StackMap stack:
iload 7 /* inParen */
ifne 151
iload 28 /* aChar */
bipush 41
if_icmpeq 151
146: .line 241
iload 30 /* wordLength */
bipush 9
if_icmpne 149
aload 8 /* aChars */
iload 25 /* keywordStart */
invokestatic org.postgresql.core.Parser.parseReturningKeyword:([CI)Z
ifeq 149
147: .line 242
iconst_1
istore 18 /* isReturningPresent */
148: .line 243
goto 151
StackMap locals:
StackMap stack:
149: iload 30 /* wordLength */
bipush 6
if_icmpne 151
aload 8 /* aChars */
iload 25 /* keywordStart */
invokestatic org.postgresql.core.Parser.parseValuesKeyword:([CI)Z
ifeq 151
150: .line 244
iconst_1
istore 13 /* isValuesFound */
151: .line 246
StackMap locals:
StackMap stack:
iconst_m1
istore 25 /* keywordStart */
152: .line 247
iinc 24 /* keyWordCount */ 1
end local 30 // int wordLength
153: .line 249
StackMap locals:
StackMap stack:
iload 28 /* aChar */
bipush 40
if_icmpne 157
154: .line 250
iinc 7 /* inParen */ 1
155: .line 251
iload 7 /* inParen */
iconst_1
if_icmpne 157
iload 13 /* isValuesFound */
ifeq 157
iload 14 /* valuesBraceOpenPosition */
iconst_m1
if_icmpne 157
156: .line 252
aload 9 /* nativeSql */
invokevirtual java.lang.StringBuilder.length:()I
iload 27 /* i */
iadd
iload 6 /* fragmentStart */
isub
istore 14 /* valuesBraceOpenPosition */
end local 29 // boolean isKeyWordChar
end local 28 // char aChar
157: .line 78
StackMap locals:
StackMap stack:
iinc 27 /* i */ 1
StackMap locals:
StackMap stack:
158: iload 27 /* i */
aload 8 /* aChars */
arraylength
if_icmplt 28
end local 27 // int i
159: .line 257
iload 13 /* isValuesFound */
ifeq 162
iload 12 /* isCurrentReWriteCompatible */
ifeq 162
iload 15 /* valuesBraceClosePosition */
iconst_m1
if_icmpeq 162
160: .line 258
aload 10 /* bindPositions */
ifnull 164
161: .line 259
iload 15 /* valuesBraceClosePosition */
aload 10 /* bindPositions */
aload 10 /* bindPositions */
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
if_icmpge 164
162: .line 260
StackMap locals:
StackMap stack:
iconst_m1
istore 14 /* valuesBraceOpenPosition */
163: .line 261
iconst_m1
istore 15 /* valuesBraceClosePosition */
164: .line 264
StackMap locals:
StackMap stack:
iload 6 /* fragmentStart */
aload 8 /* aChars */
arraylength
if_icmpge 167
iload 23 /* whitespaceOnly */
ifne 167
165: .line 265
aload 9 /* nativeSql */
aload 8 /* aChars */
iload 6 /* fragmentStart */
aload 8 /* aChars */
arraylength
iload 6 /* fragmentStart */
isub
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
166: .line 266
goto 174
167: .line 267
StackMap locals:
StackMap stack:
iload 22 /* numberOfStatements */
iconst_1
if_icmple 171
168: .line 268
iconst_0
istore 18 /* isReturningPresent */
169: .line 269
getstatic org.postgresql.core.SqlCommandType.BLANK:Lorg/postgresql/core/SqlCommandType;
astore 20 /* currentCommandType */
170: .line 270
goto 174
StackMap locals:
StackMap stack:
171: iload 22 /* numberOfStatements */
iconst_1
if_icmpne 174
172: .line 271
iload 19 /* isReturningPresentPrev */
istore 18 /* isReturningPresent */
173: .line 272
aload 21 /* prevCommandType */
astore 20 /* currentCommandType */
174: .line 276
StackMap locals:
StackMap stack:
aload 9 /* nativeSql */
invokevirtual java.lang.StringBuilder.length:()I
ifne 178
175: .line 277
aload 11 /* nativeQueries */
ifnull 176
aload 11 /* nativeQueries */
goto 177
StackMap locals:
StackMap stack:
176: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
StackMap locals:
StackMap stack: java.util.List
177: areturn
178: .line 280
StackMap locals:
StackMap stack:
aload 9 /* nativeSql */
aload 20 /* currentCommandType */
aload 5 /* returningColumnNames */
iload 18 /* isReturningPresent */
invokestatic org.postgresql.core.Parser.addReturning:(Ljava/lang/StringBuilder;Lorg/postgresql/core/SqlCommandType;[Ljava/lang/String;Z)Z
ifeq 180
179: .line 281
iconst_1
istore 18 /* isReturningPresent */
180: .line 284
StackMap locals:
StackMap stack:
new org.postgresql.core.NativeQuery
dup
aload 9 /* nativeSql */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
181: .line 285
aload 10 /* bindPositions */
invokestatic org.postgresql.core.Parser.toIntArray:(Ljava/util/List;)[I
iload 3 /* splitStatements */
ifeq 182
iconst_0
goto 183
StackMap locals: java.lang.String int int int int java.lang.String[] int int char[] java.lang.StringBuilder java.util.List java.util.List int int int int int int int int org.postgresql.core.SqlCommandType org.postgresql.core.SqlCommandType int int int int int
StackMap stack: new 180 new 180 java.lang.String int[]
182: iconst_1
183: .line 286
StackMap locals: java.lang.String int int int int java.lang.String[] int int char[] java.lang.StringBuilder java.util.List java.util.List int int int int int int int int org.postgresql.core.SqlCommandType org.postgresql.core.SqlCommandType int int int int int
StackMap stack: new 180 new 180 java.lang.String int[] int
aload 20 /* currentCommandType */
184: .line 287
iload 4 /* isBatchedReWriteConfigured */
iload 14 /* valuesBraceOpenPosition */
iload 15 /* valuesBraceClosePosition */
185: .line 288
iload 18 /* isReturningPresent */
aload 11 /* nativeQueries */
ifnonnull 186
iconst_0
goto 187
StackMap locals: java.lang.String int int int int java.lang.String[] int int char[] java.lang.StringBuilder java.util.List java.util.List int int int int int int int int org.postgresql.core.SqlCommandType org.postgresql.core.SqlCommandType int int int int int
StackMap stack: new 180 new 180 java.lang.String int[] int org.postgresql.core.SqlCommandType int int int int
186: aload 11 /* nativeQueries */
invokeinterface java.util.List.size:()I
187: .line 286
StackMap locals: java.lang.String int int int int java.lang.String[] int int char[] java.lang.StringBuilder java.util.List java.util.List int int int int int int int int org.postgresql.core.SqlCommandType org.postgresql.core.SqlCommandType int int int int int
StackMap stack: new 180 new 180 java.lang.String int[] int org.postgresql.core.SqlCommandType int int int int int
invokestatic org.postgresql.core.SqlCommand.createStatementTypeInfo:(Lorg/postgresql/core/SqlCommandType;ZIIZI)Lorg/postgresql/core/SqlCommand;
188: .line 284
invokespecial org.postgresql.core.NativeQuery.<init>:(Ljava/lang/String;[IZLorg/postgresql/core/SqlCommand;)V
astore 27 /* lastQuery */
start local 27 // org.postgresql.core.NativeQuery lastQuery
189: .line 290
aload 11 /* nativeQueries */
ifnonnull 191
190: .line 291
aload 27 /* lastQuery */
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
191: .line 294
StackMap locals: org.postgresql.core.NativeQuery
StackMap stack:
iload 23 /* whitespaceOnly */
ifne 193
192: .line 295
aload 11 /* nativeQueries */
aload 27 /* lastQuery */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
193: .line 297
StackMap locals:
StackMap stack:
aload 11 /* nativeQueries */
areturn
end local 27 // org.postgresql.core.NativeQuery lastQuery
end local 26 // int keywordEnd
end local 25 // int keywordStart
end local 24 // int keyWordCount
end local 23 // boolean whitespaceOnly
end local 22 // int numberOfStatements
end local 21 // org.postgresql.core.SqlCommandType prevCommandType
end local 20 // org.postgresql.core.SqlCommandType currentCommandType
end local 19 // boolean isReturningPresentPrev
end local 18 // boolean isReturningPresent
end local 17 // boolean isInsertPresent
end local 16 // boolean valuesBraceCloseFound
end local 15 // int valuesBraceClosePosition
end local 14 // int valuesBraceOpenPosition
end local 13 // boolean isValuesFound
end local 12 // boolean isCurrentReWriteCompatible
end local 11 // java.util.List nativeQueries
end local 10 // java.util.List bindPositions
end local 9 // java.lang.StringBuilder nativeSql
end local 8 // char[] aChars
end local 7 // int inParen
end local 6 // int fragmentStart
end local 5 // java.lang.String[] returningColumnNames
end local 4 // boolean isBatchedReWriteConfigured
end local 3 // boolean splitStatements
end local 2 // boolean withParameters
end local 1 // boolean standardConformingStrings
end local 0 // java.lang.String query
LocalVariableTable:
Start End Slot Name Signature
0 194 0 query Ljava/lang/String;
0 194 1 standardConformingStrings Z
0 194 2 withParameters Z
0 194 3 splitStatements Z
0 194 4 isBatchedReWriteConfigured Z
0 194 5 returningColumnNames [Ljava/lang/String;
6 194 6 fragmentStart I
7 194 7 inParen I
8 194 8 aChars [C
9 194 9 nativeSql Ljava/lang/StringBuilder;
10 194 10 bindPositions Ljava/util/List<Ljava/lang/Integer;>;
11 194 11 nativeQueries Ljava/util/List<Lorg/postgresql/core/NativeQuery;>;
12 194 12 isCurrentReWriteCompatible Z
13 194 13 isValuesFound Z
14 194 14 valuesBraceOpenPosition I
15 194 15 valuesBraceClosePosition I
16 194 16 valuesBraceCloseFound Z
17 194 17 isInsertPresent Z
18 194 18 isReturningPresent Z
19 194 19 isReturningPresentPrev Z
20 194 20 currentCommandType Lorg/postgresql/core/SqlCommandType;
21 194 21 prevCommandType Lorg/postgresql/core/SqlCommandType;
22 194 22 numberOfStatements I
23 194 23 whitespaceOnly Z
24 194 24 keyWordCount I
25 194 25 keywordStart I
26 194 26 keywordEnd I
27 159 27 i I
29 157 28 aChar C
30 157 29 isKeyWordChar Z
61 62 30 bindIndex I
114 153 30 wordLength I
143 145 31 command Lorg/postgresql/core/SqlCommandType;
189 194 27 lastQuery Lorg/postgresql/core/NativeQuery;
Exceptions:
throws java.sql.SQLException
Signature: (Ljava/lang/String;ZZZZ[Ljava/lang/String;)Ljava/util/List<Lorg/postgresql/core/NativeQuery;>;
MethodParameters:
Name Flags
query
standardConformingStrings
withParameters
splitStatements
isBatchedReWriteConfigured
returningColumnNames
private static org.postgresql.core.SqlCommandType parseWithCommandType(char[], int, int, int);
descriptor: ([CIII)Lorg/postgresql/core/SqlCommandType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=4
start local 0 // char[] aChars
start local 1 // int i
start local 2 // int keywordStart
start local 3 // int wordLength
0: .line 305
iload 3 /* wordLength */
bipush 6
if_icmpne 3
aload 0 /* aChars */
iload 2 /* keywordStart */
invokestatic org.postgresql.core.Parser.parseUpdateKeyword:([CI)Z
ifeq 3
1: .line 306
getstatic org.postgresql.core.SqlCommandType.UPDATE:Lorg/postgresql/core/SqlCommandType;
astore 4 /* command */
start local 4 // org.postgresql.core.SqlCommandType command
2: .line 307
goto 13
end local 4 // org.postgresql.core.SqlCommandType command
StackMap locals:
StackMap stack:
3: iload 3 /* wordLength */
bipush 6
if_icmpne 6
aload 0 /* aChars */
iload 2 /* keywordStart */
invokestatic org.postgresql.core.Parser.parseDeleteKeyword:([CI)Z
ifeq 6
4: .line 308
getstatic org.postgresql.core.SqlCommandType.DELETE:Lorg/postgresql/core/SqlCommandType;
astore 4 /* command */
start local 4 // org.postgresql.core.SqlCommandType command
5: .line 309
goto 13
end local 4 // org.postgresql.core.SqlCommandType command
StackMap locals:
StackMap stack:
6: iload 3 /* wordLength */
bipush 6
if_icmpne 9
aload 0 /* aChars */
iload 2 /* keywordStart */
invokestatic org.postgresql.core.Parser.parseInsertKeyword:([CI)Z
ifeq 9
7: .line 310
getstatic org.postgresql.core.SqlCommandType.INSERT:Lorg/postgresql/core/SqlCommandType;
astore 4 /* command */
start local 4 // org.postgresql.core.SqlCommandType command
8: .line 311
goto 13
end local 4 // org.postgresql.core.SqlCommandType command
StackMap locals:
StackMap stack:
9: iload 3 /* wordLength */
bipush 6
if_icmpne 12
aload 0 /* aChars */
iload 2 /* keywordStart */
invokestatic org.postgresql.core.Parser.parseSelectKeyword:([CI)Z
ifeq 12
10: .line 312
getstatic org.postgresql.core.SqlCommandType.SELECT:Lorg/postgresql/core/SqlCommandType;
astore 4 /* command */
start local 4 // org.postgresql.core.SqlCommandType command
11: .line 313
goto 13
end local 4 // org.postgresql.core.SqlCommandType command
12: .line 314
StackMap locals:
StackMap stack:
aconst_null
areturn
start local 4 // org.postgresql.core.SqlCommandType command
13: .line 318
StackMap locals: org.postgresql.core.SqlCommandType
StackMap stack:
iload 1 /* i */
istore 5 /* nextInd */
start local 5 // int nextInd
14: .line 320
goto 24
15: .line 321
StackMap locals: int
StackMap stack:
aload 0 /* aChars */
iload 5 /* nextInd */
caload
istore 6 /* nextChar */
start local 6 // char nextChar
16: .line 322
iload 6 /* nextChar */
bipush 45
if_icmpne 19
17: .line 323
aload 0 /* aChars */
iload 5 /* nextInd */
invokestatic org.postgresql.core.Parser.parseLineComment:([CI)I
istore 5 /* nextInd */
18: .line 324
goto 23
StackMap locals: int
StackMap stack:
19: iload 6 /* nextChar */
bipush 47
if_icmpne 22
20: .line 325
aload 0 /* aChars */
iload 5 /* nextInd */
invokestatic org.postgresql.core.Parser.parseBlockComment:([CI)I
istore 5 /* nextInd */
21: .line 326
goto 23
StackMap locals:
StackMap stack:
22: iload 6 /* nextChar */
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 25
end local 6 // char nextChar
23: .line 320
StackMap locals:
StackMap stack:
iinc 5 /* nextInd */ 1
StackMap locals:
StackMap stack:
24: iload 5 /* nextInd */
aload 0 /* aChars */
arraylength
if_icmplt 15
25: .line 333
StackMap locals:
StackMap stack:
iload 5 /* nextInd */
iconst_2
iadd
aload 0 /* aChars */
arraylength
if_icmpge 28
26: .line 334
aload 0 /* aChars */
iload 5 /* nextInd */
invokestatic org.postgresql.core.Parser.parseAsKeyword:([CI)Z
ifeq 28
27: .line 335
aload 0 /* aChars */
iload 5 /* nextInd */
iconst_2
iadd
caload
invokestatic org.postgresql.core.Parser.isIdentifierContChar:(C)Z
ifeq 29
28: .line 336
StackMap locals:
StackMap stack:
aload 4 /* command */
areturn
29: .line 338
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 5 // int nextInd
end local 4 // org.postgresql.core.SqlCommandType command
end local 3 // int wordLength
end local 2 // int keywordStart
end local 1 // int i
end local 0 // char[] aChars
LocalVariableTable:
Start End Slot Name Signature
0 30 0 aChars [C
0 30 1 i I
0 30 2 keywordStart I
0 30 3 wordLength I
2 3 4 command Lorg/postgresql/core/SqlCommandType;
5 6 4 command Lorg/postgresql/core/SqlCommandType;
8 9 4 command Lorg/postgresql/core/SqlCommandType;
11 12 4 command Lorg/postgresql/core/SqlCommandType;
13 30 4 command Lorg/postgresql/core/SqlCommandType;
14 30 5 nextInd I
16 23 6 nextChar C
MethodParameters:
Name Flags
aChars
i
keywordStart
wordLength
private static boolean addReturning(java.lang.StringBuilder, org.postgresql.core.SqlCommandType, java.lang.String[], boolean);
descriptor: (Ljava/lang/StringBuilder;Lorg/postgresql/core/SqlCommandType;[Ljava/lang/String;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=4
start local 0 // java.lang.StringBuilder nativeSql
start local 1 // org.postgresql.core.SqlCommandType currentCommandType
start local 2 // java.lang.String[] returningColumnNames
start local 3 // boolean isReturningPresent
0: .line 343
iload 3 /* isReturningPresent */
ifne 1
aload 2 /* returningColumnNames */
arraylength
ifne 2
1: .line 344
StackMap locals:
StackMap stack:
iconst_0
ireturn
2: .line 346
StackMap locals:
StackMap stack:
aload 1 /* currentCommandType */
getstatic org.postgresql.core.SqlCommandType.INSERT:Lorg/postgresql/core/SqlCommandType;
if_acmpeq 7
3: .line 347
aload 1 /* currentCommandType */
getstatic org.postgresql.core.SqlCommandType.UPDATE:Lorg/postgresql/core/SqlCommandType;
if_acmpeq 7
4: .line 348
aload 1 /* currentCommandType */
getstatic org.postgresql.core.SqlCommandType.DELETE:Lorg/postgresql/core/SqlCommandType;
if_acmpeq 7
5: .line 349
aload 1 /* currentCommandType */
getstatic org.postgresql.core.SqlCommandType.WITH:Lorg/postgresql/core/SqlCommandType;
if_acmpeq 7
6: .line 350
iconst_0
ireturn
7: .line 353
StackMap locals:
StackMap stack:
aload 0 /* nativeSql */
ldc "\nRETURNING "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: .line 354
aload 2 /* returningColumnNames */
arraylength
iconst_1
if_icmpne 11
aload 2 /* returningColumnNames */
iconst_0
aaload
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 42
if_icmpne 11
9: .line 355
aload 0 /* nativeSql */
bipush 42
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: .line 356
iconst_1
ireturn
11: .line 358
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* col */
start local 4 // int col
12: goto 18
13: .line 359
StackMap locals: int
StackMap stack:
aload 2 /* returningColumnNames */
iload 4 /* col */
aaload
astore 5 /* columnName */
start local 5 // java.lang.String columnName
14: .line 360
iload 4 /* col */
ifle 16
15: .line 361
aload 0 /* nativeSql */
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: .line 363
StackMap locals: java.lang.String
StackMap stack:
aload 0 /* nativeSql */
aload 5 /* columnName */
invokestatic org.postgresql.core.Utils.escapeIdentifier:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 5 // java.lang.String columnName
17: .line 358
iinc 4 /* col */ 1
StackMap locals:
StackMap stack:
18: iload 4 /* col */
aload 2 /* returningColumnNames */
arraylength
if_icmplt 13
end local 4 // int col
19: .line 365
iconst_1
ireturn
end local 3 // boolean isReturningPresent
end local 2 // java.lang.String[] returningColumnNames
end local 1 // org.postgresql.core.SqlCommandType currentCommandType
end local 0 // java.lang.StringBuilder nativeSql
LocalVariableTable:
Start End Slot Name Signature
0 20 0 nativeSql Ljava/lang/StringBuilder;
0 20 1 currentCommandType Lorg/postgresql/core/SqlCommandType;
0 20 2 returningColumnNames [Ljava/lang/String;
0 20 3 isReturningPresent Z
12 19 4 col I
14 17 5 columnName Ljava/lang/String;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
nativeSql
currentCommandType
returningColumnNames
isReturningPresent
private static int[] toIntArray(java.util.List<java.lang.Integer>);
descriptor: (Ljava/util/List;)[I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 // java.util.List list
0: .line 376
aload 0 /* list */
ifnull 1
aload 0 /* list */
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
1: .line 377
StackMap locals:
StackMap stack:
getstatic org.postgresql.core.Parser.NO_BINDS:[I
areturn
2: .line 379
StackMap locals:
StackMap stack:
aload 0 /* list */
invokeinterface java.util.List.size:()I
newarray 10
astore 1 /* res */
start local 1 // int[] res
3: .line 380
iconst_0
istore 2 /* i */
start local 2 // int i
4: goto 7
5: .line 381
StackMap locals: int[] int
StackMap stack:
aload 1 /* res */
iload 2 /* i */
aload 0 /* list */
iload 2 /* i */
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iastore
6: .line 380
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 2 /* i */
aload 0 /* list */
invokeinterface java.util.List.size:()I
if_icmplt 5
end local 2 // int i
8: .line 383
aload 1 /* res */
areturn
end local 1 // int[] res
end local 0 // java.util.List list
LocalVariableTable:
Start End Slot Name Signature
0 9 0 list Ljava/util/List<Ljava/lang/Integer;>;
3 9 1 res [I
4 8 2 i I
Signature: (Ljava/util/List<Ljava/lang/Integer;>;)[I
MethodParameters:
Name Flags
list
public static int parseSingleQuotes(char[], int, boolean);
descriptor: ([CIZ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 // char[] query
start local 1 // int offset
start local 2 // boolean standardConformingStrings
0: .line 401
iload 2 /* standardConformingStrings */
ifeq 5
1: .line 402
iload 1 /* offset */
iconst_2
if_icmplt 5
2: .line 403
aload 0 /* query */
iload 1 /* offset */
iconst_1
isub
caload
bipush 101
if_icmpeq 3
aload 0 /* query */
iload 1 /* offset */
iconst_1
isub
caload
bipush 69
if_icmpne 5
3: .line 404
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
iconst_2
isub
caload
invokestatic org.postgresql.core.Parser.charTerminatesIdentifier:(C)Z
ifeq 5
4: .line 405
iconst_0
istore 2 /* standardConformingStrings */
5: .line 408
StackMap locals:
StackMap stack:
iload 2 /* standardConformingStrings */
ifeq 15
6: .line 410
goto 9
7: .line 411
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
tableswitch { // 39 - 39
39: 8
default: 9
}
8: .line 413
StackMap locals:
StackMap stack:
iload 1 /* offset */
ireturn
9: .line 410
StackMap locals:
StackMap stack:
iinc 1 /* offset */ 1
iload 1 /* offset */
aload 0 /* query */
arraylength
if_icmplt 7
10: .line 418
goto 16
11: .line 421
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
lookupswitch { // 2
39: 14
92: 12
default: 15
}
12: .line 423
StackMap locals:
StackMap stack:
iinc 1 /* offset */ 1
13: .line 424
goto 15
14: .line 426
StackMap locals:
StackMap stack:
iload 1 /* offset */
ireturn
15: .line 420
StackMap locals:
StackMap stack:
iinc 1 /* offset */ 1
iload 1 /* offset */
aload 0 /* query */
arraylength
if_icmplt 11
16: .line 433
StackMap locals:
StackMap stack:
aload 0 /* query */
arraylength
ireturn
end local 2 // boolean standardConformingStrings
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 17 0 query [C
0 17 1 offset I
0 17 2 standardConformingStrings Z
MethodParameters:
Name Flags
query final
offset
standardConformingStrings
public static int parseDoubleQuotes(char[], int);
descriptor: ([CI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // char[] query
start local 1 // int offset
0: .line 448
StackMap locals:
StackMap stack:
iinc 1 /* offset */ 1
iload 1 /* offset */
aload 0 /* query */
arraylength
if_icmpge 1
aload 0 /* query */
iload 1 /* offset */
caload
bipush 34
if_icmpne 0
1: .line 451
StackMap locals:
StackMap stack:
iload 1 /* offset */
ireturn
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 2 0 query [C
0 2 1 offset I
MethodParameters:
Name Flags
query final
offset
public static int parseDollarQuotes(char[], int);
descriptor: ([CI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 // char[] query
start local 1 // int offset
0: .line 463
iload 1 /* offset */
iconst_1
iadd
aload 0 /* query */
arraylength
if_icmpge 27
1: .line 464
iload 1 /* offset */
ifeq 2
aload 0 /* query */
iload 1 /* offset */
iconst_1
isub
caload
invokestatic org.postgresql.core.Parser.isIdentifierContChar:(C)Z
ifne 27
2: .line 465
StackMap locals:
StackMap stack:
iconst_m1
istore 2 /* endIdx */
start local 2 // int endIdx
3: .line 466
aload 0 /* query */
iload 1 /* offset */
iconst_1
iadd
caload
bipush 36
if_icmpne 6
4: .line 467
iload 1 /* offset */
iconst_1
iadd
istore 2 /* endIdx */
5: .line 468
goto 16
StackMap locals: int
StackMap stack:
6: aload 0 /* query */
iload 1 /* offset */
iconst_1
iadd
caload
invokestatic org.postgresql.core.Parser.isDollarQuoteStartChar:(C)Z
ifeq 16
7: .line 469
iload 1 /* offset */
iconst_2
iadd
istore 3 /* d */
start local 3 // int d
8: goto 15
9: .line 470
StackMap locals: int
StackMap stack:
aload 0 /* query */
iload 3 /* d */
caload
bipush 36
if_icmpne 12
10: .line 471
iload 3 /* d */
istore 2 /* endIdx */
11: .line 472
goto 16
12: .line 473
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 3 /* d */
caload
invokestatic org.postgresql.core.Parser.isDollarQuoteContChar:(C)Z
ifne 14
13: .line 474
goto 16
14: .line 469
StackMap locals:
StackMap stack:
iinc 3 /* d */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* d */
aload 0 /* query */
arraylength
if_icmplt 9
end local 3 // int d
16: .line 478
StackMap locals:
StackMap stack:
iload 2 /* endIdx */
ifle 27
17: .line 480
iload 1 /* offset */
istore 3 /* tagIdx */
start local 3 // int tagIdx
18: .line 481
iload 2 /* endIdx */
iload 1 /* offset */
isub
iconst_1
iadd
istore 4 /* tagLen */
start local 4 // int tagLen
19: .line 482
iload 2 /* endIdx */
istore 1 /* offset */
20: .line 483
iinc 1 /* offset */ 1
goto 26
21: .line 484
StackMap locals: int int
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
bipush 36
if_icmpne 25
22: .line 485
aload 0 /* query */
iload 3 /* tagIdx */
iload 1 /* offset */
iload 4 /* tagLen */
invokestatic org.postgresql.core.Parser.subArraysEqual:([CIII)Z
ifeq 25
23: .line 486
iload 1 /* offset */
iload 4 /* tagLen */
iconst_1
isub
iadd
istore 1 /* offset */
24: .line 487
goto 27
25: .line 483
StackMap locals:
StackMap stack:
iinc 1 /* offset */ 1
StackMap locals:
StackMap stack:
26: iload 1 /* offset */
aload 0 /* query */
arraylength
if_icmplt 21
end local 4 // int tagLen
end local 3 // int tagIdx
end local 2 // int endIdx
27: .line 492
StackMap locals:
StackMap stack:
iload 1 /* offset */
ireturn
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 28 0 query [C
0 28 1 offset I
3 27 2 endIdx I
8 16 3 d I
18 27 3 tagIdx I
19 27 4 tagLen I
MethodParameters:
Name Flags
query final
offset
public static int parseLineComment(char[], int);
descriptor: ([CI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // char[] query
start local 1 // int offset
0: .line 504
iload 1 /* offset */
iconst_1
iadd
aload 0 /* query */
arraylength
if_icmpge 6
aload 0 /* query */
iload 1 /* offset */
iconst_1
iadd
caload
bipush 45
if_icmpne 6
1: .line 505
goto 5
2: .line 506
StackMap locals:
StackMap stack:
iinc 1 /* offset */ 1
3: .line 507
aload 0 /* query */
iload 1 /* offset */
caload
bipush 13
if_icmpeq 6
aload 0 /* query */
iload 1 /* offset */
caload
bipush 10
if_icmpne 5
4: .line 508
goto 6
5: .line 505
StackMap locals:
StackMap stack:
iload 1 /* offset */
iconst_1
iadd
aload 0 /* query */
arraylength
if_icmplt 2
6: .line 512
StackMap locals:
StackMap stack:
iload 1 /* offset */
ireturn
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 7 0 query [C
0 7 1 offset I
MethodParameters:
Name Flags
query final
offset
public static int parseBlockComment(char[], int);
descriptor: ([CI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // char[] query
start local 1 // int offset
0: .line 524
iload 1 /* offset */
iconst_1
iadd
aload 0 /* query */
arraylength
if_icmpge 17
aload 0 /* query */
iload 1 /* offset */
iconst_1
iadd
caload
bipush 42
if_icmpne 17
1: .line 526
iconst_1
istore 2 /* level */
start local 2 // int level
2: .line 527
iinc 1 /* offset */ 2
goto 16
3: .line 528
StackMap locals: int
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
iconst_1
isub
caload
lookupswitch { // 2
42: 4
47: 8
default: 12
}
4: .line 530
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
bipush 47
if_icmpne 12
5: .line 531
iinc 2 /* level */ -1
6: .line 532
iinc 1 /* offset */ 1
7: .line 534
goto 12
8: .line 536
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
bipush 42
if_icmpne 12
9: .line 537
iinc 2 /* level */ 1
10: .line 538
iinc 1 /* offset */ 1
11: .line 540
goto 12
12: .line 545
StackMap locals:
StackMap stack:
iload 2 /* level */
ifne 15
13: .line 546
iinc 1 /* offset */ -1
14: .line 547
goto 17
15: .line 527
StackMap locals:
StackMap stack:
iinc 1 /* offset */ 1
StackMap locals:
StackMap stack:
16: iload 1 /* offset */
aload 0 /* query */
arraylength
if_icmplt 3
end local 2 // int level
17: .line 551
StackMap locals:
StackMap stack:
iload 1 /* offset */
ireturn
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 18 0 query [C
0 18 1 offset I
2 17 2 level I
MethodParameters:
Name Flags
query final
offset
public static boolean parseDeleteKeyword(char[], int);
descriptor: ([CI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // char[] query
start local 1 // int offset
0: .line 563
aload 0 /* query */
arraylength
iload 1 /* offset */
bipush 6
iadd
if_icmpge 2
1: .line 564
iconst_0
ireturn
2: .line 567
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
bipush 32
ior
bipush 100
if_icmpne 9
3: .line 568
aload 0 /* query */
iload 1 /* offset */
iconst_1
iadd
caload
bipush 32
ior
bipush 101
if_icmpne 9
4: .line 569
aload 0 /* query */
iload 1 /* offset */
iconst_2
iadd
caload
bipush 32
ior
bipush 108
if_icmpne 9
5: .line 570
aload 0 /* query */
iload 1 /* offset */
iconst_3
iadd
caload
bipush 32
ior
bipush 101
if_icmpne 9
6: .line 571
aload 0 /* query */
iload 1 /* offset */
iconst_4
iadd
caload
bipush 32
ior
bipush 116
if_icmpne 9
7: .line 572
aload 0 /* query */
iload 1 /* offset */
iconst_5
iadd
caload
bipush 32
ior
bipush 101
if_icmpne 9
8: .line 567
iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 10 0 query [C
0 10 1 offset I
MethodParameters:
Name Flags
query final
offset
public static boolean parseInsertKeyword(char[], int);
descriptor: ([CI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // char[] query
start local 1 // int offset
0: .line 583
aload 0 /* query */
arraylength
iload 1 /* offset */
bipush 7
iadd
if_icmpge 2
1: .line 584
iconst_0
ireturn
2: .line 587
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
bipush 32
ior
bipush 105
if_icmpne 9
3: .line 588
aload 0 /* query */
iload 1 /* offset */
iconst_1
iadd
caload
bipush 32
ior
bipush 110
if_icmpne 9
4: .line 589
aload 0 /* query */
iload 1 /* offset */
iconst_2
iadd
caload
bipush 32
ior
bipush 115
if_icmpne 9
5: .line 590
aload 0 /* query */
iload 1 /* offset */
iconst_3
iadd
caload
bipush 32
ior
bipush 101
if_icmpne 9
6: .line 591
aload 0 /* query */
iload 1 /* offset */
iconst_4
iadd
caload
bipush 32
ior
bipush 114
if_icmpne 9
7: .line 592
aload 0 /* query */
iload 1 /* offset */
iconst_5
iadd
caload
bipush 32
ior
bipush 116
if_icmpne 9
8: .line 587
iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 10 0 query [C
0 10 1 offset I
MethodParameters:
Name Flags
query final
offset
public static boolean parseMoveKeyword(char[], int);
descriptor: ([CI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // char[] query
start local 1 // int offset
0: .line 603
aload 0 /* query */
arraylength
iload 1 /* offset */
iconst_4
iadd
if_icmpge 2
1: .line 604
iconst_0
ireturn
2: .line 607
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
bipush 32
ior
bipush 109
if_icmpne 7
3: .line 608
aload 0 /* query */
iload 1 /* offset */
iconst_1
iadd
caload
bipush 32
ior
bipush 111
if_icmpne 7
4: .line 609
aload 0 /* query */
iload 1 /* offset */
iconst_2
iadd
caload
bipush 32
ior
bipush 118
if_icmpne 7
5: .line 610
aload 0 /* query */
iload 1 /* offset */
iconst_3
iadd
caload
bipush 32
ior
bipush 101
if_icmpne 7
6: .line 607
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 8 0 query [C
0 8 1 offset I
MethodParameters:
Name Flags
query final
offset
public static boolean parseReturningKeyword(char[], int);
descriptor: ([CI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // char[] query
start local 1 // int offset
0: .line 621
aload 0 /* query */
arraylength
iload 1 /* offset */
bipush 9
iadd
if_icmpge 2
1: .line 622
iconst_0
ireturn
2: .line 625
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
bipush 32
ior
bipush 114
if_icmpne 12
3: .line 626
aload 0 /* query */
iload 1 /* offset */
iconst_1
iadd
caload
bipush 32
ior
bipush 101
if_icmpne 12
4: .line 627
aload 0 /* query */
iload 1 /* offset */
iconst_2
iadd
caload
bipush 32
ior
bipush 116
if_icmpne 12
5: .line 628
aload 0 /* query */
iload 1 /* offset */
iconst_3
iadd
caload
bipush 32
ior
bipush 117
if_icmpne 12
6: .line 629
aload 0 /* query */
iload 1 /* offset */
iconst_4
iadd
caload
bipush 32
ior
bipush 114
if_icmpne 12
7: .line 630
aload 0 /* query */
iload 1 /* offset */
iconst_5
iadd
caload
bipush 32
ior
bipush 110
if_icmpne 12
8: .line 631
aload 0 /* query */
iload 1 /* offset */
bipush 6
iadd
caload
bipush 32
ior
bipush 105
if_icmpne 12
9: .line 632
aload 0 /* query */
iload 1 /* offset */
bipush 7
iadd
caload
bipush 32
ior
bipush 110
if_icmpne 12
10: .line 633
aload 0 /* query */
iload 1 /* offset */
bipush 8
iadd
caload
bipush 32
ior
bipush 103
if_icmpne 12
11: .line 625
iconst_1
ireturn
StackMap locals:
StackMap stack:
12: iconst_0
ireturn
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 13 0 query [C
0 13 1 offset I
MethodParameters:
Name Flags
query final
offset
public static boolean parseSelectKeyword(char[], int);
descriptor: ([CI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // char[] query
start local 1 // int offset
0: .line 644
aload 0 /* query */
arraylength
iload 1 /* offset */
bipush 6
iadd
if_icmpge 2
1: .line 645
iconst_0
ireturn
2: .line 648
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
bipush 32
ior
bipush 115
if_icmpne 9
3: .line 649
aload 0 /* query */
iload 1 /* offset */
iconst_1
iadd
caload
bipush 32
ior
bipush 101
if_icmpne 9
4: .line 650
aload 0 /* query */
iload 1 /* offset */
iconst_2
iadd
caload
bipush 32
ior
bipush 108
if_icmpne 9
5: .line 651
aload 0 /* query */
iload 1 /* offset */
iconst_3
iadd
caload
bipush 32
ior
bipush 101
if_icmpne 9
6: .line 652
aload 0 /* query */
iload 1 /* offset */
iconst_4
iadd
caload
bipush 32
ior
bipush 99
if_icmpne 9
7: .line 653
aload 0 /* query */
iload 1 /* offset */
iconst_5
iadd
caload
bipush 32
ior
bipush 116
if_icmpne 9
8: .line 648
iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 10 0 query [C
0 10 1 offset I
MethodParameters:
Name Flags
query final
offset
public static boolean parseUpdateKeyword(char[], int);
descriptor: ([CI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // char[] query
start local 1 // int offset
0: .line 664
aload 0 /* query */
arraylength
iload 1 /* offset */
bipush 6
iadd
if_icmpge 2
1: .line 665
iconst_0
ireturn
2: .line 668
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
bipush 32
ior
bipush 117
if_icmpne 9
3: .line 669
aload 0 /* query */
iload 1 /* offset */
iconst_1
iadd
caload
bipush 32
ior
bipush 112
if_icmpne 9
4: .line 670
aload 0 /* query */
iload 1 /* offset */
iconst_2
iadd
caload
bipush 32
ior
bipush 100
if_icmpne 9
5: .line 671
aload 0 /* query */
iload 1 /* offset */
iconst_3
iadd
caload
bipush 32
ior
bipush 97
if_icmpne 9
6: .line 672
aload 0 /* query */
iload 1 /* offset */
iconst_4
iadd
caload
bipush 32
ior
bipush 116
if_icmpne 9
7: .line 673
aload 0 /* query */
iload 1 /* offset */
iconst_5
iadd
caload
bipush 32
ior
bipush 101
if_icmpne 9
8: .line 668
iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 10 0 query [C
0 10 1 offset I
MethodParameters:
Name Flags
query final
offset
public static boolean parseValuesKeyword(char[], int);
descriptor: ([CI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // char[] query
start local 1 // int offset
0: .line 684
aload 0 /* query */
arraylength
iload 1 /* offset */
bipush 6
iadd
if_icmpge 2
1: .line 685
iconst_0
ireturn
2: .line 688
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
bipush 32
ior
bipush 118
if_icmpne 9
3: .line 689
aload 0 /* query */
iload 1 /* offset */
iconst_1
iadd
caload
bipush 32
ior
bipush 97
if_icmpne 9
4: .line 690
aload 0 /* query */
iload 1 /* offset */
iconst_2
iadd
caload
bipush 32
ior
bipush 108
if_icmpne 9
5: .line 691
aload 0 /* query */
iload 1 /* offset */
iconst_3
iadd
caload
bipush 32
ior
bipush 117
if_icmpne 9
6: .line 692
aload 0 /* query */
iload 1 /* offset */
iconst_4
iadd
caload
bipush 32
ior
bipush 101
if_icmpne 9
7: .line 693
aload 0 /* query */
iload 1 /* offset */
iconst_5
iadd
caload
bipush 32
ior
bipush 115
if_icmpne 9
8: .line 688
iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 10 0 query [C
0 10 1 offset I
MethodParameters:
Name Flags
query final
offset
public static long parseLong(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 // java.lang.String s
start local 1 // int beginIndex
start local 2 // int endIndex
0: .line 706
iload 2 /* endIndex */
iload 1 /* beginIndex */
isub
bipush 16
if_icmple 2
1: .line 707
aload 0 /* s */
iload 1 /* beginIndex */
iload 2 /* endIndex */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lreturn
2: .line 709
StackMap locals:
StackMap stack:
aload 0 /* s */
iload 1 /* beginIndex */
invokestatic org.postgresql.core.Parser.digitAt:(Ljava/lang/String;I)I
i2l
lstore 3 /* res */
start local 3 // long res
3: .line 710
iinc 1 /* beginIndex */ 1
goto 6
4: .line 711
StackMap locals: long
StackMap stack:
lload 3 /* res */
ldc 10
lmul
aload 0 /* s */
iload 1 /* beginIndex */
invokestatic org.postgresql.core.Parser.digitAt:(Ljava/lang/String;I)I
i2l
ladd
lstore 3 /* res */
5: .line 710
iinc 1 /* beginIndex */ 1
StackMap locals:
StackMap stack:
6: iload 1 /* beginIndex */
iload 2 /* endIndex */
if_icmplt 4
7: .line 713
lload 3 /* res */
lreturn
end local 3 // long res
end local 2 // int endIndex
end local 1 // int beginIndex
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 8 0 s Ljava/lang/String;
0 8 1 beginIndex I
0 8 2 endIndex I
3 8 3 res J
MethodParameters:
Name Flags
s
beginIndex
endIndex
public static boolean parseWithKeyword(char[], int);
descriptor: ([CI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // char[] query
start local 1 // int offset
0: .line 724
aload 0 /* query */
arraylength
iload 1 /* offset */
iconst_4
iadd
if_icmpge 2
1: .line 725
iconst_0
ireturn
2: .line 728
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
bipush 32
ior
bipush 119
if_icmpne 7
3: .line 729
aload 0 /* query */
iload 1 /* offset */
iconst_1
iadd
caload
bipush 32
ior
bipush 105
if_icmpne 7
4: .line 730
aload 0 /* query */
iload 1 /* offset */
iconst_2
iadd
caload
bipush 32
ior
bipush 116
if_icmpne 7
5: .line 731
aload 0 /* query */
iload 1 /* offset */
iconst_3
iadd
caload
bipush 32
ior
bipush 104
if_icmpne 7
6: .line 728
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 8 0 query [C
0 8 1 offset I
MethodParameters:
Name Flags
query final
offset
public static boolean parseAsKeyword(char[], int);
descriptor: ([CI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // char[] query
start local 1 // int offset
0: .line 742
aload 0 /* query */
arraylength
iload 1 /* offset */
iconst_2
iadd
if_icmpge 2
1: .line 743
iconst_0
ireturn
2: .line 746
StackMap locals:
StackMap stack:
aload 0 /* query */
iload 1 /* offset */
caload
bipush 32
ior
bipush 97
if_icmpne 5
3: .line 747
aload 0 /* query */
iload 1 /* offset */
iconst_1
iadd
caload
bipush 32
ior
bipush 115
if_icmpne 5
4: .line 746
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 1 // int offset
end local 0 // char[] query
LocalVariableTable:
Start End Slot Name Signature
0 6 0 query [C
0 6 1 offset I
MethodParameters:
Name Flags
query final
offset
public static boolean isDigitAt(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.lang.String s
start local 1 // int pos
0: .line 757
iload 1 /* pos */
ifle 1
iload 1 /* pos */
aload 0 /* s */
invokevirtual java.lang.String.length:()I
if_icmpge 1
aload 0 /* s */
iload 1 /* pos */
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 // int pos
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 2 0 s Ljava/lang/String;
0 2 1 pos I
MethodParameters:
Name Flags
s
pos
public static int digitAt(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 // java.lang.String s
start local 1 // int pos
0: .line 768
aload 0 /* s */
iload 1 /* pos */
invokevirtual java.lang.String.charAt:(I)C
bipush 48
isub
istore 2 /* c */
start local 2 // int c
1: .line 769
iload 2 /* c */
iflt 2
iload 2 /* c */
bipush 9
if_icmple 3
2: .line 770
StackMap locals: int
StackMap stack:
new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
ldc "Input string: \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* s */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\", position: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1 /* pos */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
3: .line 772
StackMap locals:
StackMap stack:
iload 2 /* c */
ireturn
end local 2 // int c
end local 1 // int pos
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 4 0 s Ljava/lang/String;
0 4 1 pos I
1 4 2 c I
MethodParameters:
Name Flags
s
pos
public static boolean isSpace(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // char c
0: .line 780
iload 0 /* c */
bipush 32
if_icmpeq 1
iload 0 /* c */
bipush 9
if_icmpeq 1
iload 0 /* c */
bipush 10
if_icmpeq 1
iload 0 /* c */
bipush 13
if_icmpeq 1
iload 0 /* c */
bipush 12
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
public static boolean isOperatorChar(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // char c
0: .line 793
ldc ",()[].;:+-*/%^<>=~!@#&|`?"
iload 0 /* c */
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
public static boolean isIdentifierStartChar(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // char c
0: .line 813
iload 0 /* c */
invokestatic java.lang.Character.isJavaIdentifierStart:(C)Z
ireturn
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 1 0 c C
MethodParameters:
Name Flags
c
public static boolean isIdentifierContChar(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // char c
0: .line 823
iload 0 /* c */
invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
ireturn
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 1 0 c C
MethodParameters:
Name Flags
c
public static boolean charTerminatesIdentifier(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // char c
0: .line 831
iload 0 /* c */
bipush 34
if_icmpeq 1
iload 0 /* c */
invokestatic org.postgresql.core.Parser.isSpace:(C)Z
ifne 1
iload 0 /* c */
invokestatic org.postgresql.core.Parser.isOperatorChar:(C)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
public static boolean isDollarQuoteStartChar(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // char c
0: .line 851
iload 0 /* c */
bipush 36
if_icmpeq 1
iload 0 /* c */
invokestatic org.postgresql.core.Parser.isIdentifierStartChar:(C)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
public static boolean isDollarQuoteContChar(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // char c
0: .line 861
iload 0 /* c */
bipush 36
if_icmpeq 1
iload 0 /* c */
invokestatic org.postgresql.core.Parser.isIdentifierContChar:(C)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
private static boolean subArraysEqual(char[], int, int, int);
descriptor: ([CIII)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 // char[] arr
start local 1 // int offA
start local 2 // int offB
start local 3 // int len
0: .line 877
iload 1 /* offA */
iflt 3
iload 2 /* offB */
iflt 3
1: .line 878
iload 1 /* offA */
aload 0 /* arr */
arraylength
if_icmpge 3
iload 2 /* offB */
aload 0 /* arr */
arraylength
if_icmpge 3
2: .line 879
iload 1 /* offA */
iload 3 /* len */
iadd
aload 0 /* arr */
arraylength
if_icmpgt 3
iload 2 /* offB */
iload 3 /* len */
iadd
aload 0 /* arr */
arraylength
if_icmple 4
3: .line 880
StackMap locals:
StackMap stack:
iconst_0
ireturn
4: .line 883
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* i */
start local 4 // int i
5: goto 9
6: .line 884
StackMap locals: int
StackMap stack:
aload 0 /* arr */
iload 1 /* offA */
iload 4 /* i */
iadd
caload
aload 0 /* arr */
iload 2 /* offB */
iload 4 /* i */
iadd
caload
if_icmpeq 8
7: .line 885
iconst_0
ireturn
8: .line 883
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 4 /* i */
iload 3 /* len */
if_icmplt 6
end local 4 // int i
10: .line 889
iconst_1
ireturn
end local 3 // int len
end local 2 // int offB
end local 1 // int offA
end local 0 // char[] arr
LocalVariableTable:
Start End Slot Name Signature
0 11 0 arr [C
0 11 1 offA I
0 11 2 offB I
0 11 3 len I
5 10 4 i I
MethodParameters:
Name Flags
arr final
offA final
offB final
len final
public static org.postgresql.core.JdbcCallParseInfo modifyJdbcCall(java.lang.String, boolean, int, int);
descriptor: (Ljava/lang/String;ZII)Lorg/postgresql/core/JdbcCallParseInfo;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=24, args_size=4
start local 0 // java.lang.String jdbcSql
start local 1 // boolean stdStrings
start local 2 // int serverVersion
start local 3 // int protocolVersion
0: .line 909
aload 0 /* jdbcSql */
astore 4 /* sql */
start local 4 // java.lang.String sql
1: .line 910
iconst_0
istore 5 /* isFunction */
start local 5 // boolean isFunction
2: .line 911
iconst_0
istore 6 /* outParamBeforeFunc */
start local 6 // boolean outParamBeforeFunc
3: .line 913
aload 0 /* jdbcSql */
invokevirtual java.lang.String.length:()I
istore 7 /* len */
start local 7 // int len
4: .line 914
iconst_1
istore 8 /* state */
start local 8 // int state
5: .line 915
iconst_0
istore 9 /* inQuotes */
start local 9 // boolean inQuotes
6: .line 916
iconst_0
istore 10 /* inEscape */
start local 10 // boolean inEscape
7: .line 917
iconst_m1
istore 11 /* startIndex */
start local 11 // int startIndex
8: .line 918
iconst_m1
istore 12 /* endIndex */
start local 12 // int endIndex
9: .line 919
iconst_0
istore 13 /* syntaxError */
start local 13 // boolean syntaxError
10: .line 920
iconst_0
istore 14 /* i */
start local 14 // int i
11: .line 922
goto 107
12: .line 923
StackMap locals: java.lang.String int int int java.lang.String int int int int int int int int int int
StackMap stack:
aload 0 /* jdbcSql */
iload 14 /* i */
invokevirtual java.lang.String.charAt:(I)C
istore 15 /* ch */
start local 15 // char ch
13: .line 925
iload 8 /* state */
tableswitch { // 1 - 8
1: 14
2: 23
3: 37
4: 46
5: 54
6: 66
7: 73
8: 101
default: 106
}
14: .line 927
StackMap locals: int
StackMap stack:
iload 15 /* ch */
bipush 123
if_icmpne 18
15: .line 928
iinc 14 /* i */ 1
16: .line 929
iinc 8 /* state */ 1
17: .line 930
goto 107
StackMap locals:
StackMap stack:
18: iload 15 /* ch */
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 21
19: .line 931
iinc 14 /* i */ 1
20: .line 932
goto 107
21: .line 934
StackMap locals:
StackMap stack:
iload 7 /* len */
istore 14 /* i */
22: .line 936
goto 107
23: .line 939
StackMap locals:
StackMap stack:
iload 15 /* ch */
bipush 63
if_icmpne 29
24: .line 941
iconst_1
dup
istore 5 /* isFunction */
25: .line 940
istore 6 /* outParamBeforeFunc */
26: .line 942
iinc 14 /* i */ 1
27: .line 943
iinc 8 /* state */ 1
28: .line 944
goto 107
StackMap locals:
StackMap stack:
29: iload 15 /* ch */
bipush 99
if_icmpeq 30
iload 15 /* ch */
bipush 67
if_icmpne 32
30: .line 945
StackMap locals:
StackMap stack:
iinc 8 /* state */ 3
31: .line 946
goto 107
StackMap locals:
StackMap stack:
32: iload 15 /* ch */
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 35
33: .line 947
iinc 14 /* i */ 1
34: .line 948
goto 107
35: .line 950
StackMap locals:
StackMap stack:
iconst_1
istore 13 /* syntaxError */
36: .line 952
goto 107
37: .line 955
StackMap locals:
StackMap stack:
iload 15 /* ch */
bipush 61
if_icmpne 41
38: .line 956
iinc 14 /* i */ 1
39: .line 957
iinc 8 /* state */ 1
40: .line 958
goto 107
StackMap locals:
StackMap stack:
41: iload 15 /* ch */
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 44
42: .line 959
iinc 14 /* i */ 1
43: .line 960
goto 107
44: .line 961
StackMap locals:
StackMap stack:
iconst_1
istore 13 /* syntaxError */
45: .line 963
goto 107
46: .line 966
StackMap locals:
StackMap stack:
iload 15 /* ch */
bipush 99
if_icmpeq 47
iload 15 /* ch */
bipush 67
if_icmpne 49
47: .line 967
StackMap locals:
StackMap stack:
iinc 8 /* state */ 1
48: .line 968
goto 107
StackMap locals:
StackMap stack:
49: iload 15 /* ch */
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 52
50: .line 969
iinc 14 /* i */ 1
51: .line 970
goto 107
52: .line 971
StackMap locals:
StackMap stack:
iconst_1
istore 13 /* syntaxError */
53: .line 973
goto 107
54: .line 976
StackMap locals:
StackMap stack:
iload 15 /* ch */
bipush 99
if_icmpeq 55
iload 15 /* ch */
bipush 67
if_icmpne 61
StackMap locals:
StackMap stack:
55: iload 14 /* i */
iconst_4
iadd
iload 7 /* len */
if_icmpgt 61
aload 0 /* jdbcSql */
iload 14 /* i */
iload 14 /* i */
iconst_4
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
56: .line 977
ldc "call"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 61
57: .line 978
iconst_1
istore 5 /* isFunction */
58: .line 979
iinc 14 /* i */ 4
59: .line 980
iinc 8 /* state */ 1
60: .line 981
goto 107
StackMap locals:
StackMap stack:
61: iload 15 /* ch */
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 64
62: .line 982
iinc 14 /* i */ 1
63: .line 983
goto 107
64: .line 984
StackMap locals:
StackMap stack:
iconst_1
istore 13 /* syntaxError */
65: .line 986
goto 107
66: .line 989
StackMap locals:
StackMap stack:
iload 15 /* ch */
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 71
67: .line 991
iinc 14 /* i */ 1
68: .line 992
iinc 8 /* state */ 1
69: .line 993
iload 14 /* i */
istore 11 /* startIndex */
70: .line 994
goto 107
71: .line 995
StackMap locals:
StackMap stack:
iconst_1
istore 13 /* syntaxError */
72: .line 997
goto 107
73: .line 1000
StackMap locals:
StackMap stack:
iload 15 /* ch */
bipush 39
if_icmpne 79
74: .line 1001
iload 9 /* inQuotes */
ifeq 75
iconst_0
goto 76
StackMap locals:
StackMap stack:
75: iconst_1
StackMap locals:
StackMap stack: int
76: istore 9 /* inQuotes */
77: .line 1002
iinc 14 /* i */ 1
78: .line 1003
goto 107
StackMap locals:
StackMap stack:
79: iload 9 /* inQuotes */
ifeq 82
iload 15 /* ch */
bipush 92
if_icmpne 82
iload 1 /* stdStrings */
ifne 82
80: .line 1005
iinc 14 /* i */ 2
81: .line 1006
goto 107
StackMap locals:
StackMap stack:
82: iload 9 /* inQuotes */
ifne 88
iload 15 /* ch */
bipush 123
if_icmpne 88
83: .line 1007
iload 10 /* inEscape */
ifeq 84
iconst_0
goto 85
StackMap locals:
StackMap stack:
84: iconst_1
StackMap locals:
StackMap stack: int
85: istore 10 /* inEscape */
86: .line 1008
iinc 14 /* i */ 1
87: .line 1009
goto 107
StackMap locals:
StackMap stack:
88: iload 9 /* inQuotes */
ifne 96
iload 15 /* ch */
bipush 125
if_icmpne 96
89: .line 1010
iload 10 /* inEscape */
ifne 94
90: .line 1012
iload 14 /* i */
istore 12 /* endIndex */
91: .line 1013
iinc 14 /* i */ 1
92: .line 1014
iinc 8 /* state */ 1
93: .line 1015
goto 107
94: .line 1016
StackMap locals:
StackMap stack:
iconst_0
istore 10 /* inEscape */
95: .line 1018
goto 107
StackMap locals:
StackMap stack:
96: iload 9 /* inQuotes */
ifne 99
iload 15 /* ch */
bipush 59
if_icmpne 99
97: .line 1019
iconst_1
istore 13 /* syntaxError */
98: .line 1020
goto 107
99: .line 1022
StackMap locals:
StackMap stack:
iinc 14 /* i */ 1
100: .line 1024
goto 107
101: .line 1027
StackMap locals:
StackMap stack:
iload 15 /* ch */
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 104
102: .line 1028
iinc 14 /* i */ 1
103: .line 1029
goto 107
104: .line 1030
StackMap locals:
StackMap stack:
iconst_1
istore 13 /* syntaxError */
105: .line 1032
goto 107
106: .line 1035
StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "somehow got into bad state "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8 /* state */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 15 // char ch
107: .line 922
StackMap locals:
StackMap stack:
iload 14 /* i */
iload 7 /* len */
if_icmpge 108
iload 13 /* syntaxError */
ifeq 12
108: .line 1040
StackMap locals:
StackMap stack:
iload 14 /* i */
iload 7 /* len */
if_icmpne 113
iload 13 /* syntaxError */
ifne 113
109: .line 1041
iload 8 /* state */
iconst_1
if_icmpne 111
110: .line 1043
new org.postgresql.core.JdbcCallParseInfo
dup
aload 4 /* sql */
iload 5 /* isFunction */
invokespecial org.postgresql.core.JdbcCallParseInfo.<init>:(Ljava/lang/String;Z)V
areturn
111: .line 1045
StackMap locals:
StackMap stack:
iload 8 /* state */
bipush 8
if_icmpeq 113
112: .line 1046
iconst_1
istore 13 /* syntaxError */
113: .line 1050
StackMap locals:
StackMap stack:
iload 13 /* syntaxError */
ifeq 118
114: .line 1051
new org.postgresql.util.PSQLException
dup
115: .line 1052
ldc "Malformed function or procedure escape syntax at offset {0}."
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 14 /* i */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
116: .line 1053
getstatic org.postgresql.util.PSQLState.STATEMENT_NOT_ALLOWED_IN_FUNCTION_CALL:Lorg/postgresql/util/PSQLState;
117: .line 1051
invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;)V
athrow
118: .line 1056
StackMap locals:
StackMap stack:
ldc "select * from "
astore 15 /* prefix */
start local 15 // java.lang.String prefix
119: .line 1057
ldc " as result"
astore 16 /* suffix */
start local 16 // java.lang.String suffix
120: .line 1059
aload 0 /* jdbcSql */
iload 11 /* startIndex */
iload 12 /* endIndex */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 17 /* s */
start local 17 // java.lang.String s
121: .line 1060
aload 15 /* prefix */
invokevirtual java.lang.String.length:()I
istore 18 /* prefixLength */
start local 18 // int prefixLength
122: .line 1061
new java.lang.StringBuilder
dup
iload 18 /* prefixLength */
aload 0 /* jdbcSql */
invokevirtual java.lang.String.length:()I
iadd
aload 16 /* suffix */
invokevirtual java.lang.String.length:()I
iadd
bipush 10
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 19 /* sb */
start local 19 // java.lang.StringBuilder sb
123: .line 1062
aload 19 /* sb */
aload 15 /* prefix */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
124: .line 1063
aload 19 /* sb */
aload 17 /* s */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
125: .line 1065
aload 17 /* s */
bipush 40
invokevirtual java.lang.String.indexOf:(I)I
iconst_1
iadd
istore 20 /* opening */
start local 20 // int opening
126: .line 1066
iload 20 /* opening */
ifne 131
127: .line 1068
aload 19 /* sb */
iload 6 /* outParamBeforeFunc */
ifeq 128
ldc "(?)"
goto 129
StackMap locals: java.lang.String int int int java.lang.String int int int int int int int int int int java.lang.String java.lang.String java.lang.String int java.lang.StringBuilder int
StackMap stack: java.lang.StringBuilder
128: ldc "()"
StackMap locals: java.lang.String int int int java.lang.String int int int int int int int int int int java.lang.String java.lang.String java.lang.String int java.lang.StringBuilder int
StackMap stack: java.lang.StringBuilder java.lang.String
129: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
130: .line 1069
goto 147
StackMap locals:
StackMap stack:
131: iload 6 /* outParamBeforeFunc */
ifeq 147
132: .line 1072
iconst_0
istore 21 /* needComma */
start local 21 // boolean needComma
133: .line 1076
iload 20 /* opening */
iload 18 /* prefixLength */
iadd
istore 22 /* j */
start local 22 // int j
134: goto 142
135: .line 1077
StackMap locals: int int
StackMap stack:
aload 19 /* sb */
iload 22 /* j */
invokevirtual java.lang.StringBuilder.charAt:(I)C
istore 23 /* c */
start local 23 // char c
136: .line 1078
iload 23 /* c */
bipush 41
if_icmpne 138
137: .line 1079
goto 143
138: .line 1082
StackMap locals: int
StackMap stack:
iload 23 /* c */
invokestatic java.lang.Character.isWhitespace:(C)Z
ifne 141
139: .line 1083
iconst_1
istore 21 /* needComma */
140: .line 1084
goto 143
end local 23 // char c
141: .line 1076
StackMap locals:
StackMap stack:
iinc 22 /* j */ 1
StackMap locals:
StackMap stack:
142: iload 22 /* j */
aload 19 /* sb */
invokevirtual java.lang.StringBuilder.length:()I
if_icmplt 135
end local 22 // int j
143: .line 1089
StackMap locals:
StackMap stack:
iload 21 /* needComma */
ifeq 146
144: .line 1090
aload 19 /* sb */
iload 20 /* opening */
iload 18 /* prefixLength */
iadd
ldc "?,"
invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
pop
145: .line 1091
goto 147
146: .line 1092
StackMap locals:
StackMap stack:
aload 19 /* sb */
iload 20 /* opening */
iload 18 /* prefixLength */
iadd
ldc "?"
invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 21 // boolean needComma
147: .line 1096
StackMap locals:
StackMap stack:
aload 19 /* sb */
aload 16 /* suffix */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4 /* sql */
148: .line 1097
new org.postgresql.core.JdbcCallParseInfo
dup
aload 4 /* sql */
iload 5 /* isFunction */
invokespecial org.postgresql.core.JdbcCallParseInfo.<init>:(Ljava/lang/String;Z)V
areturn
end local 20 // int opening
end local 19 // java.lang.StringBuilder sb
end local 18 // int prefixLength
end local 17 // java.lang.String s
end local 16 // java.lang.String suffix
end local 15 // java.lang.String prefix
end local 14 // int i
end local 13 // boolean syntaxError
end local 12 // int endIndex
end local 11 // int startIndex
end local 10 // boolean inEscape
end local 9 // boolean inQuotes
end local 8 // int state
end local 7 // int len
end local 6 // boolean outParamBeforeFunc
end local 5 // boolean isFunction
end local 4 // java.lang.String sql
end local 3 // int protocolVersion
end local 2 // int serverVersion
end local 1 // boolean stdStrings
end local 0 // java.lang.String jdbcSql
LocalVariableTable:
Start End Slot Name Signature
0 149 0 jdbcSql Ljava/lang/String;
0 149 1 stdStrings Z
0 149 2 serverVersion I
0 149 3 protocolVersion I
1 149 4 sql Ljava/lang/String;
2 149 5 isFunction Z
3 149 6 outParamBeforeFunc Z
4 149 7 len I
5 149 8 state I
6 149 9 inQuotes Z
7 149 10 inEscape Z
8 149 11 startIndex I
9 149 12 endIndex I
10 149 13 syntaxError Z
11 149 14 i I
13 107 15 ch C
119 149 15 prefix Ljava/lang/String;
120 149 16 suffix Ljava/lang/String;
121 149 17 s Ljava/lang/String;
122 149 18 prefixLength I
123 149 19 sb Ljava/lang/StringBuilder;
126 149 20 opening I
133 147 21 needComma Z
134 143 22 j I
136 141 23 c C
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
jdbcSql
stdStrings
serverVersion
protocolVersion
public static java.lang.String replaceProcessing(java.lang.String, boolean, boolean);
descriptor: (Ljava/lang/String;ZZ)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 // java.lang.String sql
start local 1 // boolean replaceProcessingEnabled
start local 2 // boolean standardConformingStrings
0: .line 1117
iload 1 /* replaceProcessingEnabled */
ifeq 12
1: .line 1120
aload 0 /* sql */
invokevirtual java.lang.String.length:()I
istore 3 /* len */
start local 3 // int len
2: .line 1121
aload 0 /* sql */
invokevirtual java.lang.String.toCharArray:()[C
astore 4 /* chars */
start local 4 // char[] chars
3: .line 1122
new java.lang.StringBuilder
dup
iload 3 /* len */
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5 /* newsql */
start local 5 // java.lang.StringBuilder newsql
4: .line 1123
iconst_0
istore 6 /* i */
start local 6 // int i
5: .line 1124
goto 10
6: .line 1125
StackMap locals: java.lang.String int int int char[] java.lang.StringBuilder int
StackMap stack:
aload 4 /* chars */
iload 6 /* i */
aload 5 /* newsql */
iconst_0
iload 2 /* standardConformingStrings */
invokestatic org.postgresql.core.Parser.parseSql:([CILjava/lang/StringBuilder;ZZ)I
istore 6 /* i */
7: .line 1131
iload 6 /* i */
iload 3 /* len */
if_icmpge 10
8: .line 1132
aload 5 /* newsql */
aload 4 /* chars */
iload 6 /* i */
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: .line 1133
iinc 6 /* i */ 1
10: .line 1124
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 3 /* len */
if_icmplt 6
11: .line 1136
aload 5 /* newsql */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 6 // int i
end local 5 // java.lang.StringBuilder newsql
end local 4 // char[] chars
end local 3 // int len
12: .line 1138
StackMap locals: java.lang.String int int
StackMap stack:
aload 0 /* sql */
areturn
end local 2 // boolean standardConformingStrings
end local 1 // boolean replaceProcessingEnabled
end local 0 // java.lang.String sql
LocalVariableTable:
Start End Slot Name Signature
0 13 0 sql Ljava/lang/String;
0 13 1 replaceProcessingEnabled Z
0 13 2 standardConformingStrings Z
2 12 3 len I
3 12 4 chars [C
4 12 5 newsql Ljava/lang/StringBuilder;
5 12 6 i I
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
sql
replaceProcessingEnabled
standardConformingStrings
private static int parseSql(char[], int, java.lang.StringBuilder, boolean, boolean);
descriptor: ([CILjava/lang/StringBuilder;ZZ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=14, args_size=5
start local 0 // char[] sql
start local 1 // int i
start local 2 // java.lang.StringBuilder newsql
start local 3 // boolean stopOnComma
start local 4 // boolean stdStrings
0: .line 1157
getstatic org.postgresql.core.Parser$SqlParseState.IN_SQLCODE:Lorg/postgresql/core/Parser$SqlParseState;
astore 5 /* state */
start local 5 // org.postgresql.core.Parser$SqlParseState state
1: .line 1158
aload 0 /* sql */
arraylength
istore 6 /* len */
start local 6 // int len
2: .line 1159
iconst_0
istore 7 /* nestedParenthesis */
start local 7 // int nestedParenthesis
3: .line 1160
iconst_0
istore 8 /* endOfNested */
start local 8 // boolean endOfNested
4: .line 1163
iinc 1 /* i */ -1
5: .line 1164
goto 81
6: .line 1165
StackMap locals: char[] int java.lang.StringBuilder int int org.postgresql.core.Parser$SqlParseState int int int
StackMap stack:
aload 0 /* sql */
iload 1 /* i */
caload
istore 9 /* c */
start local 9 // char c
7: .line 1168
invokestatic org.postgresql.core.Parser.$SWITCH_TABLE$org$postgresql$core$Parser$SqlParseState:()[I
aload 5 /* state */
invokevirtual org.postgresql.core.Parser$SqlParseState.ordinal:()I
iaload
tableswitch { // 1 - 7
1: 8
2: 77
3: 77
4: 77
5: 74
6: 77
7: 77
default: 81
}
8: .line 1170
StackMap locals: int
StackMap stack:
iload 9 /* c */
bipush 36
if_icmpne 16
9: .line 1171
iload 1 /* i */
istore 10 /* i0 */
start local 10 // int i0
10: .line 1172
aload 0 /* sql */
iload 1 /* i */
invokestatic org.postgresql.core.Parser.parseDollarQuotes:([CI)I
istore 1 /* i */
11: .line 1173
iload 1 /* i */
iload 6 /* len */
iload 10 /* i0 */
aload 0 /* sql */
12: .line 1174
ldc "Unterminated dollar quote started at position {0} in SQL {1}. Expected terminating $$"
13: .line 1173
invokestatic org.postgresql.core.Parser.checkParsePosition:(III[CLjava/lang/String;)V
14: .line 1175
aload 2 /* newsql */
aload 0 /* sql */
iload 10 /* i0 */
iload 1 /* i */
iload 10 /* i0 */
isub
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
15: .line 1176
goto 81
end local 10 // int i0
16: .line 1177
StackMap locals:
StackMap stack:
iload 9 /* c */
bipush 39
if_icmpne 24
17: .line 1179
iload 1 /* i */
istore 10 /* i0 */
start local 10 // int i0
18: .line 1180
aload 0 /* sql */
iload 1 /* i */
iload 4 /* stdStrings */
invokestatic org.postgresql.core.Parser.parseSingleQuotes:([CIZ)I
istore 1 /* i */
19: .line 1181
iload 1 /* i */
iload 6 /* len */
iload 10 /* i0 */
aload 0 /* sql */
20: .line 1182
ldc "Unterminated string literal started at position {0} in SQL {1}. Expected ' char"
21: .line 1181
invokestatic org.postgresql.core.Parser.checkParsePosition:(III[CLjava/lang/String;)V
22: .line 1183
aload 2 /* newsql */
aload 0 /* sql */
iload 10 /* i0 */
iload 1 /* i */
iload 10 /* i0 */
isub
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
23: .line 1184
goto 81
end local 10 // int i0
24: .line 1185
StackMap locals:
StackMap stack:
iload 9 /* c */
bipush 34
if_icmpne 32
25: .line 1187
iload 1 /* i */
istore 10 /* i0 */
start local 10 // int i0
26: .line 1188
aload 0 /* sql */
iload 1 /* i */
invokestatic org.postgresql.core.Parser.parseDoubleQuotes:([CI)I
istore 1 /* i */
27: .line 1189
iload 1 /* i */
iload 6 /* len */
iload 10 /* i0 */
aload 0 /* sql */
28: .line 1190
ldc "Unterminated identifier started at position {0} in SQL {1}. Expected \" char"
29: .line 1189
invokestatic org.postgresql.core.Parser.checkParsePosition:(III[CLjava/lang/String;)V
30: .line 1191
aload 2 /* newsql */
aload 0 /* sql */
iload 10 /* i0 */
iload 1 /* i */
iload 10 /* i0 */
isub
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
31: .line 1192
goto 81
end local 10 // int i0
32: .line 1193
StackMap locals:
StackMap stack:
iload 9 /* c */
bipush 47
if_icmpne 40
33: .line 1194
iload 1 /* i */
istore 10 /* i0 */
start local 10 // int i0
34: .line 1195
aload 0 /* sql */
iload 1 /* i */
invokestatic org.postgresql.core.Parser.parseBlockComment:([CI)I
istore 1 /* i */
35: .line 1196
iload 1 /* i */
iload 6 /* len */
iload 10 /* i0 */
aload 0 /* sql */
36: .line 1197
ldc "Unterminated block comment started at position {0} in SQL {1}. Expected */ sequence"
37: .line 1196
invokestatic org.postgresql.core.Parser.checkParsePosition:(III[CLjava/lang/String;)V
38: .line 1198
aload 2 /* newsql */
aload 0 /* sql */
iload 10 /* i0 */
iload 1 /* i */
iload 10 /* i0 */
isub
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
39: .line 1199
goto 81
end local 10 // int i0
40: .line 1200
StackMap locals:
StackMap stack:
iload 9 /* c */
bipush 45
if_icmpne 45
41: .line 1201
iload 1 /* i */
istore 10 /* i0 */
start local 10 // int i0
42: .line 1202
aload 0 /* sql */
iload 1 /* i */
invokestatic org.postgresql.core.Parser.parseLineComment:([CI)I
istore 1 /* i */
43: .line 1203
aload 2 /* newsql */
aload 0 /* sql */
iload 10 /* i0 */
iload 1 /* i */
iload 10 /* i0 */
isub
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
44: .line 1204
goto 81
end local 10 // int i0
45: .line 1205
StackMap locals:
StackMap stack:
iload 9 /* c */
bipush 40
if_icmpne 48
46: .line 1206
iinc 7 /* nestedParenthesis */ 1
47: .line 1207
goto 72
StackMap locals:
StackMap stack:
48: iload 9 /* c */
bipush 41
if_icmpne 53
49: .line 1208
iinc 7 /* nestedParenthesis */ -1
50: .line 1209
iload 7 /* nestedParenthesis */
ifge 72
51: .line 1210
iconst_1
istore 8 /* endOfNested */
52: .line 1211
goto 81
53: .line 1213
StackMap locals:
StackMap stack:
iload 3 /* stopOnComma */
ifeq 56
iload 9 /* c */
bipush 44
if_icmpne 56
iload 7 /* nestedParenthesis */
ifne 56
54: .line 1214
iconst_1
istore 8 /* endOfNested */
55: .line 1215
goto 81
56: .line 1216
StackMap locals:
StackMap stack:
iload 9 /* c */
bipush 123
if_icmpne 72
57: .line 1217
iload 1 /* i */
iconst_1
iadd
iload 6 /* len */
if_icmpge 72
58: .line 1218
getstatic org.postgresql.core.Parser$SqlParseState.VALUES:[Lorg/postgresql/core/Parser$SqlParseState;
astore 10 /* availableStates */
start local 10 // org.postgresql.core.Parser$SqlParseState[] availableStates
59: .line 1220
iconst_1
istore 11 /* j */
start local 11 // int j
60: goto 71
61: .line 1221
StackMap locals: org.postgresql.core.Parser$SqlParseState[] int
StackMap stack:
aload 10 /* availableStates */
iload 11 /* j */
aaload
astore 12 /* availableState */
start local 12 // org.postgresql.core.Parser$SqlParseState availableState
62: .line 1222
aload 12 /* availableState */
aload 0 /* sql */
iload 1 /* i */
iconst_1
iadd
invokevirtual org.postgresql.core.Parser$SqlParseState.getMatchedPosition:([CI)I
istore 13 /* matchedPosition */
start local 13 // int matchedPosition
63: .line 1223
iload 13 /* matchedPosition */
ifne 65
64: .line 1224
goto 70
65: .line 1226
StackMap locals: org.postgresql.core.Parser$SqlParseState int
StackMap stack:
iload 1 /* i */
iload 13 /* matchedPosition */
iadd
istore 1 /* i */
66: .line 1227
aload 12 /* availableState */
getfield org.postgresql.core.Parser$SqlParseState.replacementKeyword:Ljava/lang/String;
ifnull 68
67: .line 1228
aload 2 /* newsql */
aload 12 /* availableState */
getfield org.postgresql.core.Parser$SqlParseState.replacementKeyword:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
68: .line 1230
StackMap locals:
StackMap stack:
aload 12 /* availableState */
astore 5 /* state */
69: .line 1231
goto 81
end local 13 // int matchedPosition
end local 12 // org.postgresql.core.Parser$SqlParseState availableState
70: .line 1220
StackMap locals:
StackMap stack:
iinc 11 /* j */ 1
StackMap locals:
StackMap stack:
71: iload 11 /* j */
aload 10 /* availableStates */
arraylength
if_icmplt 61
end local 11 // int j
end local 10 // org.postgresql.core.Parser$SqlParseState[] availableStates
72: .line 1235
StackMap locals:
StackMap stack:
aload 2 /* newsql */
iload 9 /* c */
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
73: .line 1236
goto 81
74: .line 1240
StackMap locals:
StackMap stack:
aload 0 /* sql */
iload 1 /* i */
aload 2 /* newsql */
iload 4 /* stdStrings */
invokestatic org.postgresql.core.Parser.escapeFunction:([CILjava/lang/StringBuilder;Z)I
istore 1 /* i */
75: .line 1241
getstatic org.postgresql.core.Parser$SqlParseState.IN_SQLCODE:Lorg/postgresql/core/Parser$SqlParseState;
astore 5 /* state */
76: .line 1242
goto 81
77: .line 1248
StackMap locals:
StackMap stack:
iload 9 /* c */
bipush 125
if_icmpne 80
78: .line 1249
getstatic org.postgresql.core.Parser$SqlParseState.IN_SQLCODE:Lorg/postgresql/core/Parser$SqlParseState;
astore 5 /* state */
79: .line 1250
goto 81
80: .line 1251
StackMap locals:
StackMap stack:
aload 2 /* newsql */
iload 9 /* c */
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 9 // char c
81: .line 1164
StackMap locals:
StackMap stack:
iload 8 /* endOfNested */
ifne 82
iinc 1 /* i */ 1
iload 1 /* i */
iload 6 /* len */
if_icmplt 6
82: .line 1256
StackMap locals:
StackMap stack:
iload 1 /* i */
ireturn
end local 8 // boolean endOfNested
end local 7 // int nestedParenthesis
end local 6 // int len
end local 5 // org.postgresql.core.Parser$SqlParseState state
end local 4 // boolean stdStrings
end local 3 // boolean stopOnComma
end local 2 // java.lang.StringBuilder newsql
end local 1 // int i
end local 0 // char[] sql
LocalVariableTable:
Start End Slot Name Signature
0 83 0 sql [C
0 83 1 i I
0 83 2 newsql Ljava/lang/StringBuilder;
0 83 3 stopOnComma Z
0 83 4 stdStrings Z
1 83 5 state Lorg/postgresql/core/Parser$SqlParseState;
2 83 6 len I
3 83 7 nestedParenthesis I
4 83 8 endOfNested Z
7 81 9 c C
10 16 10 i0 I
18 24 10 i0 I
26 32 10 i0 I
34 40 10 i0 I
42 45 10 i0 I
59 72 10 availableStates [Lorg/postgresql/core/Parser$SqlParseState;
60 72 11 j I
62 70 12 availableState Lorg/postgresql/core/Parser$SqlParseState;
63 70 13 matchedPosition I
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
sql
i
newsql
stopOnComma
stdStrings
private static int findOpenBrace(char[], int);
descriptor: ([CI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 // char[] sql
start local 1 // int i
0: .line 1260
iload 1 /* i */
istore 2 /* posArgs */
start local 2 // int posArgs
1: .line 1261
goto 3
2: .line 1262
StackMap locals: int
StackMap stack:
iinc 2 /* posArgs */ 1
3: .line 1261
StackMap locals:
StackMap stack:
iload 2 /* posArgs */
aload 0 /* sql */
arraylength
if_icmpge 4
aload 0 /* sql */
iload 2 /* posArgs */
caload
bipush 40
if_icmpne 2
4: .line 1264
StackMap locals:
StackMap stack:
iload 2 /* posArgs */
ireturn
end local 2 // int posArgs
end local 1 // int i
end local 0 // char[] sql
LocalVariableTable:
Start End Slot Name Signature
0 5 0 sql [C
0 5 1 i I
1 5 2 posArgs I
MethodParameters:
Name Flags
sql
i
private static void checkParsePosition(int, int, int, char[], java.lang.String);
descriptor: (III[CLjava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=5, args_size=5
start local 0 // int i
start local 1 // int len
start local 2 // int i0
start local 3 // char[] sql
start local 4 // java.lang.String message
0: .line 1270
iload 0 /* i */
iload 1 /* len */
if_icmpge 2
1: .line 1271
return
2: .line 1273
StackMap locals:
StackMap stack:
new org.postgresql.util.PSQLException
dup
3: .line 1274
aload 4 /* message */
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 2 /* i0 */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
new java.lang.String
dup
aload 3 /* sql */
invokespecial java.lang.String.<init>:([C)V
aastore
invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
4: .line 1275
getstatic org.postgresql.util.PSQLState.SYNTAX_ERROR:Lorg/postgresql/util/PSQLState;
5: .line 1273
invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;)V
athrow
end local 4 // java.lang.String message
end local 3 // char[] sql
end local 2 // int i0
end local 1 // int len
end local 0 // int i
LocalVariableTable:
Start End Slot Name Signature
0 6 0 i I
0 6 1 len I
0 6 2 i0 I
0 6 3 sql [C
0 6 4 message Ljava/lang/String;
Exceptions:
throws org.postgresql.util.PSQLException
MethodParameters:
Name Flags
i
len
i0
sql
message
private static int escapeFunction(char[], int, java.lang.StringBuilder, boolean);
descriptor: ([CILjava/lang/StringBuilder;Z)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=4
start local 0 // char[] sql
start local 1 // int i
start local 2 // java.lang.StringBuilder newsql
start local 3 // boolean stdStrings
0: .line 1280
aload 0 /* sql */
iload 1 /* i */
invokestatic org.postgresql.core.Parser.findOpenBrace:([CI)I
istore 5 /* argPos */
start local 5 // int argPos
1: .line 1281
iload 5 /* argPos */
aload 0 /* sql */
arraylength
if_icmpge 5
2: .line 1282
new java.lang.String
dup
aload 0 /* sql */
iload 1 /* i */
iload 5 /* argPos */
iload 1 /* i */
isub
invokespecial java.lang.String.<init>:([CII)V
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 4 /* functionName */
start local 4 // java.lang.String functionName
3: .line 1284
iload 5 /* argPos */
iconst_1
iadd
istore 1 /* i */
4: .line 1285
aload 2 /* newsql */
aload 4 /* functionName */
aload 0 /* sql */
iload 1 /* i */
iload 3 /* stdStrings */
invokestatic org.postgresql.core.Parser.escapeFunctionArguments:(Ljava/lang/StringBuilder;Ljava/lang/String;[CIZ)I
istore 1 /* i */
end local 4 // java.lang.String functionName
5: .line 1288
StackMap locals: char[] int java.lang.StringBuilder int top int
StackMap stack:
iinc 1 /* i */ 1
6: .line 1289
goto 8
7: .line 1290
StackMap locals:
StackMap stack:
aload 2 /* newsql */
aload 0 /* sql */
iload 1 /* i */
iinc 1 /* i */ 1
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: .line 1289
StackMap locals:
StackMap stack:
iload 1 /* i */
aload 0 /* sql */
arraylength
if_icmpge 9
aload 0 /* sql */
iload 1 /* i */
caload
bipush 125
if_icmpne 7
9: .line 1292
StackMap locals:
StackMap stack:
iload 1 /* i */
ireturn
end local 5 // int argPos
end local 3 // boolean stdStrings
end local 2 // java.lang.StringBuilder newsql
end local 1 // int i
end local 0 // char[] sql
LocalVariableTable:
Start End Slot Name Signature
0 10 0 sql [C
0 10 1 i I
0 10 2 newsql Ljava/lang/StringBuilder;
0 10 3 stdStrings Z
3 5 4 functionName Ljava/lang/String;
1 10 5 argPos I
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
sql
i
newsql
stdStrings
private static int escapeFunctionArguments(java.lang.StringBuilder, java.lang.String, char[], int, boolean);
descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;[CIZ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=5
start local 0 // java.lang.StringBuilder newsql
start local 1 // java.lang.String functionName
start local 2 // char[] sql
start local 3 // int i
start local 4 // boolean stdStrings
0: .line 1310
new java.util.ArrayList
dup
iconst_3
invokespecial java.util.ArrayList.<init>:(I)V
astore 5 /* parsedArgs */
start local 5 // java.util.List parsedArgs
1: .line 1312
StackMap locals: java.util.List
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6 /* arg */
start local 6 // java.lang.StringBuilder arg
2: .line 1313
iload 3 /* i */
istore 7 /* lastPos */
start local 7 // int lastPos
3: .line 1314
aload 2 /* sql */
iload 3 /* i */
aload 6 /* arg */
iconst_1
iload 4 /* stdStrings */
invokestatic org.postgresql.core.Parser.parseSql:([CILjava/lang/StringBuilder;ZZ)I
istore 3 /* i */
4: .line 1315
iload 3 /* i */
iload 7 /* lastPos */
if_icmpeq 6
5: .line 1316
aload 5 /* parsedArgs */
aload 6 /* arg */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: .line 1318
StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 3 /* i */
aload 2 /* sql */
arraylength
if_icmpge 11
7: .line 1319
aload 2 /* sql */
iload 3 /* i */
caload
bipush 44
if_icmpeq 9
8: .line 1320
goto 11
9: .line 1322
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
end local 7 // int lastPos
end local 6 // java.lang.StringBuilder arg
10: .line 1311
goto 1
11: .line 1324
StackMap locals:
StackMap stack:
aload 1 /* functionName */
invokestatic org.postgresql.jdbc.EscapedFunctions2.getFunction:(Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 6 /* method */
start local 6 // java.lang.reflect.Method method
12: .line 1325
aload 6 /* method */
ifnonnull 16
13: .line 1326
aload 0 /* newsql */
aload 1 /* functionName */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: .line 1327
aload 0 /* newsql */
ldc "("
ldc ","
ldc ")"
aload 5 /* parsedArgs */
invokestatic org.postgresql.jdbc.EscapedFunctions2.appendCall:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
15: .line 1328
iload 3 /* i */
ireturn
16: .line 1331
StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 6 /* method */
aconst_null
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0 /* newsql */
aastore
dup
iconst_1
aload 5 /* parsedArgs */
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
17: .line 1332
goto 25
StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
18: astore 7 /* e */
start local 7 // java.lang.reflect.InvocationTargetException e
19: .line 1333
aload 7 /* e */
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
astore 8 /* targetException */
start local 8 // java.lang.Throwable targetException
20: .line 1334
aload 8 /* targetException */
instanceof java.sql.SQLException
ifeq 22
21: .line 1335
aload 8 /* targetException */
checkcast java.sql.SQLException
athrow
22: .line 1337
StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
StackMap stack:
new org.postgresql.util.PSQLException
dup
aload 8 /* targetException */
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
getstatic org.postgresql.util.PSQLState.SYSTEM_ERROR:Lorg/postgresql/util/PSQLState;
invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;)V
athrow
end local 8 // java.lang.Throwable targetException
end local 7 // java.lang.reflect.InvocationTargetException e
23: .line 1339
StackMap locals: java.lang.StringBuilder java.lang.String char[] int int java.util.List java.lang.reflect.Method
StackMap stack: java.lang.IllegalAccessException
astore 7 /* e */
start local 7 // java.lang.IllegalAccessException e
24: .line 1340
new org.postgresql.util.PSQLException
dup
aload 7 /* e */
invokevirtual java.lang.IllegalAccessException.getMessage:()Ljava/lang/String;
getstatic org.postgresql.util.PSQLState.SYSTEM_ERROR:Lorg/postgresql/util/PSQLState;
invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;)V
athrow
end local 7 // java.lang.IllegalAccessException e
25: .line 1342
StackMap locals:
StackMap stack:
iload 3 /* i */
ireturn
end local 6 // java.lang.reflect.Method method
end local 5 // java.util.List parsedArgs
end local 4 // boolean stdStrings
end local 3 // int i
end local 2 // char[] sql
end local 1 // java.lang.String functionName
end local 0 // java.lang.StringBuilder newsql
LocalVariableTable:
Start End Slot Name Signature
0 26 0 newsql Ljava/lang/StringBuilder;
0 26 1 functionName Ljava/lang/String;
0 26 2 sql [C
0 26 3 i I
0 26 4 stdStrings Z
1 26 5 parsedArgs Ljava/util/List<Ljava/lang/CharSequence;>;
2 10 6 arg Ljava/lang/StringBuilder;
3 10 7 lastPos I
12 26 6 method Ljava/lang/reflect/Method;
19 23 7 e Ljava/lang/reflect/InvocationTargetException;
20 23 8 targetException Ljava/lang/Throwable;
24 25 7 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
16 17 18 Class java.lang.reflect.InvocationTargetException
16 17 23 Class java.lang.IllegalAccessException
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
newsql
functionName
sql
i
stdStrings
static int[] $SWITCH_TABLE$org$postgresql$core$Parser$SqlParseState();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: .line 27
getstatic org.postgresql.core.Parser.$SWITCH_TABLE$org$postgresql$core$Parser$SqlParseState:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.postgresql.core.Parser$SqlParseState.values:()[Lorg/postgresql/core/Parser$SqlParseState;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.postgresql.core.Parser$SqlParseState.ESC_DATE:Lorg/postgresql/core/Parser$SqlParseState;
invokevirtual org.postgresql.core.Parser$SqlParseState.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 org.postgresql.core.Parser$SqlParseState.ESC_ESCAPECHAR:Lorg/postgresql/core/Parser$SqlParseState;
invokevirtual org.postgresql.core.Parser$SqlParseState.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 org.postgresql.core.Parser$SqlParseState.ESC_FUNCTION:Lorg/postgresql/core/Parser$SqlParseState;
invokevirtual org.postgresql.core.Parser$SqlParseState.ordinal:()I
iconst_5
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.postgresql.core.Parser$SqlParseState.ESC_OUTERJOIN:Lorg/postgresql/core/Parser$SqlParseState;
invokevirtual org.postgresql.core.Parser$SqlParseState.ordinal:()I
bipush 6
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.postgresql.core.Parser$SqlParseState.ESC_TIME:Lorg/postgresql/core/Parser$SqlParseState;
invokevirtual org.postgresql.core.Parser$SqlParseState.ordinal:()I
iconst_3
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.postgresql.core.Parser$SqlParseState.ESC_TIMESTAMP:Lorg/postgresql/core/Parser$SqlParseState;
invokevirtual org.postgresql.core.Parser$SqlParseState.ordinal:()I
iconst_4
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.postgresql.core.Parser$SqlParseState.IN_SQLCODE:Lorg/postgresql/core/Parser$SqlParseState;
invokevirtual org.postgresql.core.Parser$SqlParseState.ordinal:()I
iconst_1
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic org.postgresql.core.Parser.$SWITCH_TABLE$org$postgresql$core$Parser$SqlParseState:[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
}
SourceFile: "Parser.java"
NestMembers:
org.postgresql.core.Parser$SqlParseState
InnerClasses:
private final SqlParseState = org.postgresql.core.Parser$SqlParseState of org.postgresql.core.Parser