public final class io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper
super_class: java.lang.Object
{
private static final io.vertx.core.impl.logging.Logger log;
descriptor: Lio/vertx/core/impl/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.vertx.core.json.JsonArray EMPTY;
descriptor: Lio/vertx/core/json/JsonArray;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern DATETIME;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern DATE;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern TIME;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern UUID;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final boolean castUUID;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean castDate;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean castTime;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean castDatetime;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
putstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.log:Lio/vertx/core/impl/logging/Logger;
1: new io.vertx.core.json.JsonArray
dup
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
invokespecial io.vertx.core.json.JsonArray.<init>:(Ljava/util/List;)V
putstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.EMPTY:Lio/vertx/core/json/JsonArray;
2: ldc "^\\d{4}-(?:0[0-9]|1[0-2])-[0-9]{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3,9})?Z$"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.DATETIME:Ljava/util/regex/Pattern;
3: ldc "^\\d{4}-(?:0[0-9]|1[0-2])-[0-9]{2}$"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.DATE:Ljava/util/regex/Pattern;
4: ldc "^\\d{2}:\\d{2}:\\d{2}$"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.TIME:Ljava/util/regex/Pattern;
5: ldc "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.UUID:Ljava/util/regex/Pattern;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new io.vertx.core.json.JsonObject
dup
invokespecial io.vertx.core.json.JsonObject.<init>:()V
invokespecial io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.<init>:(Lio/vertx/core/json/JsonObject;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
public void <init>(io.vertx.core.json.JsonObject);
descriptor: (Lio/vertx/core/json/JsonObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
ldc "castUUID"
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual io.vertx.core.json.JsonObject.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
putfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castUUID:Z
2: aload 0
aload 1
ldc "castDate"
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual io.vertx.core.json.JsonObject.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
putfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castDate:Z
3: aload 0
aload 1
ldc "castTime"
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual io.vertx.core.json.JsonObject.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
putfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castTime:Z
4: aload 0
aload 1
ldc "castDatetime"
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual io.vertx.core.json.JsonObject.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
putfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castDatetime:Z
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
0 6 1 config Lio/vertx/core/json/JsonObject;
MethodParameters:
Name Flags
config
public void fillStatement(java.sql.PreparedStatement, io.vertx.core.json.JsonArray);
descriptor: (Ljava/sql/PreparedStatement;Lio/vertx/core/json/JsonArray;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.EMPTY:Lio/vertx/core/json/JsonArray;
astore 2
2: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 3: goto 13
4: StackMap locals: int
StackMap stack:
aload 2
iload 3
invokevirtual io.vertx.core.json.JsonArray.getValue:(I)Ljava/lang/Object;
astore 4
start local 4 5: aload 4
ifnull 11
6: aload 4
instanceof java.lang.String
ifeq 9
7: aload 1
iload 3
iconst_1
iadd
aload 0
aload 4
checkcast java.lang.String
invokevirtual io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.optimisticCast:(Ljava/lang/String;)Ljava/lang/Object;
invokeinterface java.sql.PreparedStatement.setObject:(ILjava/lang/Object;)V
8: goto 12
9: StackMap locals: java.lang.Object
StackMap stack:
aload 1
iload 3
iconst_1
iadd
aload 4
invokeinterface java.sql.PreparedStatement.setObject:(ILjava/lang/Object;)V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 1
iload 3
iconst_1
iadd
aconst_null
invokeinterface java.sql.PreparedStatement.setObject:(ILjava/lang/Object;)V
end local 4 12: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
13: iload 3
aload 2
invokevirtual io.vertx.core.json.JsonArray.size:()I
if_icmplt 4
end local 3 14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
0 15 1 statement Ljava/sql/PreparedStatement;
0 15 2 in Lio/vertx/core/json/JsonArray;
3 14 3 i I
5 12 4 value Ljava/lang/Object;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
statement
in
public void fillStatement(java.sql.CallableStatement, io.vertx.core.json.JsonArray, io.vertx.core.json.JsonArray);
descriptor: (Ljava/sql/CallableStatement;Lio/vertx/core/json/JsonArray;Lio/vertx/core/json/JsonArray;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 2
1: getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.EMPTY:Lio/vertx/core/json/JsonArray;
astore 2
2: StackMap locals:
StackMap stack:
aload 3
ifnonnull 4
3: getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.EMPTY:Lio/vertx/core/json/JsonArray;
astore 3
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.vertx.core.json.JsonArray.size:()I
aload 3
invokevirtual io.vertx.core.json.JsonArray.size:()I
invokestatic java.lang.Math.max:(II)I
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 30
7: StackMap locals: int int
StackMap stack:
aconst_null
astore 6
start local 6 8: iconst_0
istore 7
start local 7 9: iload 5
aload 2
invokevirtual io.vertx.core.json.JsonArray.size:()I
if_icmpge 11
10: aload 2
iload 5
invokevirtual io.vertx.core.json.JsonArray.getValue:(I)Ljava/lang/Object;
astore 6
11: StackMap locals: java.lang.Object int
StackMap stack:
aload 6
ifnull 17
12: aload 6
instanceof java.lang.String
ifeq 15
13: aload 1
iload 5
iconst_1
iadd
aload 0
aload 6
checkcast java.lang.String
invokevirtual io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.optimisticCast:(Ljava/lang/String;)Ljava/lang/Object;
invokeinterface java.sql.CallableStatement.setObject:(ILjava/lang/Object;)V
14: goto 16
15: StackMap locals:
StackMap stack:
aload 1
iload 5
iconst_1
iadd
aload 6
invokeinterface java.sql.CallableStatement.setObject:(ILjava/lang/Object;)V
16: StackMap locals:
StackMap stack:
iconst_1
istore 7
17: StackMap locals:
StackMap stack:
aconst_null
astore 6
18: iload 5
aload 3
invokevirtual io.vertx.core.json.JsonArray.size:()I
if_icmpge 20
19: aload 3
iload 5
invokevirtual io.vertx.core.json.JsonArray.getValue:(I)Ljava/lang/Object;
astore 6
20: StackMap locals:
StackMap stack:
aload 6
ifnull 27
21: aload 6
instanceof java.lang.String
ifeq 24
22: aload 1
iload 5
iconst_1
iadd
aload 6
checkcast java.lang.String
invokestatic java.sql.JDBCType.valueOf:(Ljava/lang/String;)Ljava/sql/JDBCType;
invokevirtual java.sql.JDBCType.getVendorTypeNumber:()Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
invokeinterface java.sql.CallableStatement.registerOutParameter:(II)V
23: goto 26
StackMap locals:
StackMap stack:
24: aload 6
instanceof java.lang.Number
ifeq 26
25: aload 1
iload 5
iconst_1
iadd
aload 6
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
invokeinterface java.sql.CallableStatement.registerOutParameter:(II)V
26: StackMap locals:
StackMap stack:
iconst_1
istore 7
27: StackMap locals:
StackMap stack:
iload 7
ifne 29
28: aload 1
iload 5
iconst_1
iadd
iconst_0
invokeinterface java.sql.CallableStatement.setNull:(II)V
end local 7 end local 6 29: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
30: iload 5
iload 4
if_icmplt 7
end local 5 31: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
0 32 1 statement Ljava/sql/CallableStatement;
0 32 2 in Lio/vertx/core/json/JsonArray;
0 32 3 out Lio/vertx/core/json/JsonArray;
5 32 4 max I
6 31 5 i I
8 29 6 value Ljava/lang/Object;
9 29 7 set Z
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
statement
in
out
public io.vertx.ext.sql.ResultSet asList(java.sql.ResultSet);
descriptor: (Ljava/sql/ResultSet;)Lio/vertx/ext/sql/ResultSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface java.sql.ResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
astore 3
start local 3 2: aload 3
invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
istore 4
start local 4 3: iconst_1
istore 5
start local 5 4: goto 7
5: StackMap locals: io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper java.sql.ResultSet java.util.List java.sql.ResultSetMetaData int int
StackMap stack:
aload 2
aload 3
iload 5
invokeinterface java.sql.ResultSetMetaData.getColumnLabel:(I)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 4
if_icmple 5
end local 5 8: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 9: goto 21
10: StackMap locals: io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper java.sql.ResultSet java.util.List java.sql.ResultSetMetaData int java.util.List
StackMap stack:
new io.vertx.core.json.JsonArray
dup
invokespecial io.vertx.core.json.JsonArray.<init>:()V
astore 6
start local 6 11: iconst_1
istore 7
start local 7 12: goto 19
13: StackMap locals: io.vertx.core.json.JsonArray int
StackMap stack:
aload 1
iload 7
invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
invokestatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.convertSqlValue:(Ljava/lang/Object;)Ljava/lang/Object;
astore 8
start local 8 14: aload 8
ifnull 17
15: aload 6
aload 8
invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
pop
16: goto 18
17: StackMap locals: java.lang.Object
StackMap stack:
aload 6
invokevirtual io.vertx.core.json.JsonArray.addNull:()Lio/vertx/core/json/JsonArray;
pop
end local 8 18: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
19: iload 7
iload 4
if_icmple 13
end local 7 20: aload 5
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 21: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.sql.ResultSet.next:()Z
ifne 10
22: new io.vertx.ext.sql.ResultSet
dup
aload 2
aload 5
aconst_null
invokespecial io.vertx.ext.sql.ResultSet.<init>:(Ljava/util/List;Ljava/util/List;Lio/vertx/ext/sql/ResultSet;)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
0 23 1 rs Ljava/sql/ResultSet;
1 23 2 columnNames Ljava/util/List<Ljava/lang/String;>;
2 23 3 metaData Ljava/sql/ResultSetMetaData;
3 23 4 cols I
4 8 5 i I
9 23 5 results Ljava/util/List<Lio/vertx/core/json/JsonArray;>;
11 21 6 result Lio/vertx/core/json/JsonArray;
12 20 7 i I
14 18 8 res Ljava/lang/Object;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
rs
public static java.lang.Object convertSqlValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=10, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Boolean
ifne 3
aload 0
instanceof java.lang.String
ifne 3
aload 0
instanceof byte[]
ifeq 4
3: StackMap locals:
StackMap stack:
aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Number
ifeq 11
5: aload 0
instanceof java.math.BigDecimal
ifeq 10
6: aload 0
checkcast java.math.BigDecimal
astore 1
start local 1 7: aload 1
invokevirtual java.math.BigDecimal.scale:()I
ifne 9
8: aload 0
checkcast java.math.BigDecimal
invokevirtual java.math.BigDecimal.toBigInteger:()Ljava/math/BigInteger;
areturn
9: StackMap locals: java.math.BigDecimal
StackMap stack:
aload 0
checkcast java.math.BigDecimal
invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 1 10: StackMap locals:
StackMap stack:
aload 0
areturn
11: StackMap locals:
StackMap stack:
aload 0
instanceof java.sql.Time
ifeq 13
12: aload 0
checkcast java.sql.Time
invokevirtual java.sql.Time.toLocalTime:()Ljava/time/LocalTime;
getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
invokevirtual java.time.LocalTime.atOffset:(Ljava/time/ZoneOffset;)Ljava/time/OffsetTime;
getstatic java.time.format.DateTimeFormatter.ISO_LOCAL_TIME:Ljava/time/format/DateTimeFormatter;
invokevirtual java.time.OffsetTime.format:(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
areturn
13: StackMap locals:
StackMap stack:
aload 0
instanceof java.sql.Date
ifeq 15
14: aload 0
checkcast java.sql.Date
invokevirtual java.sql.Date.toLocalDate:()Ljava/time/LocalDate;
getstatic java.time.format.DateTimeFormatter.ISO_LOCAL_DATE:Ljava/time/format/DateTimeFormatter;
invokevirtual java.time.LocalDate.format:(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
areturn
15: StackMap locals:
StackMap stack:
aload 0
instanceof java.sql.Timestamp
ifeq 17
16: aload 0
checkcast java.sql.Timestamp
invokevirtual java.sql.Timestamp.toInstant:()Ljava/time/Instant;
getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
invokestatic java.time.OffsetDateTime.ofInstant:(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/OffsetDateTime;
getstatic java.time.format.DateTimeFormatter.ISO_OFFSET_DATE_TIME:Ljava/time/format/DateTimeFormatter;
invokevirtual java.time.OffsetDateTime.format:(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
areturn
17: StackMap locals:
StackMap stack:
aload 0
instanceof java.sql.Clob
ifeq 29
18: aload 0
checkcast java.sql.Clob
astore 1
start local 1 19: aload 1
lconst_1
aload 1
invokeinterface java.sql.Clob.length:()J
l2i
invokeinterface java.sql.Clob.getSubString:(JI)Ljava/lang/String;
astore 3
20: aload 1
invokeinterface java.sql.Clob.free:()V
21: goto 23
StackMap locals: java.lang.Object java.sql.Clob top java.lang.Object
StackMap stack: java.lang.Throwable
22: pop
23: StackMap locals:
StackMap stack:
aload 3
areturn
24: StackMap locals: java.lang.Object java.sql.Clob
StackMap stack: java.lang.Throwable
astore 2
25: aload 1
invokeinterface java.sql.Clob.free:()V
26: goto 28
StackMap locals: java.lang.Object java.sql.Clob java.lang.Throwable
StackMap stack: java.lang.Throwable
27: pop
28: StackMap locals:
StackMap stack:
aload 2
athrow
end local 1 29: StackMap locals:
StackMap stack:
aload 0
instanceof java.sql.Blob
ifeq 41
30: aload 0
checkcast java.sql.Blob
astore 1
start local 1 31: aload 1
lconst_1
aload 1
invokeinterface java.sql.Blob.length:()J
l2i
invokeinterface java.sql.Blob.getBytes:(JI)[B
astore 3
32: aload 1
invokeinterface java.sql.Blob.free:()V
33: goto 35
StackMap locals: java.lang.Object java.sql.Blob top java.lang.Object
StackMap stack: java.lang.Throwable
34: pop
35: StackMap locals:
StackMap stack:
aload 3
areturn
36: StackMap locals: java.lang.Object java.sql.Blob
StackMap stack: java.lang.Throwable
astore 2
37: aload 1
invokeinterface java.sql.Blob.free:()V
38: goto 40
StackMap locals: java.lang.Object java.sql.Blob java.lang.Throwable
StackMap stack: java.lang.Throwable
39: pop
40: StackMap locals:
StackMap stack:
aload 2
athrow
end local 1 41: StackMap locals:
StackMap stack:
aload 0
instanceof java.sql.Array
ifeq 58
42: aload 0
checkcast java.sql.Array
astore 1
start local 1 43: aload 1
invokeinterface java.sql.Array.getArray:()Ljava/lang/Object;
checkcast java.lang.Object[]
astore 2
start local 2 44: aload 2
ifnull 57
45: new io.vertx.core.json.JsonArray
dup
invokespecial io.vertx.core.json.JsonArray.<init>:()V
astore 3
start local 3 46: aload 2
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 50
StackMap locals: java.lang.Object java.sql.Array java.lang.Object[] io.vertx.core.json.JsonArray top int int java.lang.Object[]
StackMap stack:
47: aload 7
iload 5
aaload
astore 4
start local 4 48: aload 3
aload 4
invokestatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.convertSqlValue:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
pop
end local 4 49: iinc 5 1
StackMap locals:
StackMap stack:
50: iload 5
iload 6
if_icmplt 47
51: aload 3
astore 9
52: aload 1
invokeinterface java.sql.Array.free:()V
53: aload 9
areturn
end local 3 end local 2 54: StackMap locals: java.lang.Object java.sql.Array
StackMap stack: java.lang.Throwable
astore 8
55: aload 1
invokeinterface java.sql.Array.free:()V
56: aload 8
athrow
57: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.sql.Array.free:()V
end local 1 58: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 59 0 value Ljava/lang/Object;
7 10 1 d Ljava/math/BigDecimal;
19 29 1 c Ljava/sql/Clob;
31 41 1 b Ljava/sql/Blob;
43 58 1 a Ljava/sql/Array;
44 54 2 arr [Ljava/lang/Object;
46 54 3 jsonArray Lio/vertx/core/json/JsonArray;
48 49 4 o Ljava/lang/Object;
Exception table:
from to target type
20 21 22 Class java.lang.AbstractMethodError
20 21 22 Class java.sql.SQLFeatureNotSupportedException
19 20 24 any
25 26 27 Class java.lang.AbstractMethodError
25 26 27 Class java.sql.SQLFeatureNotSupportedException
32 33 34 Class java.lang.AbstractMethodError
32 33 34 Class java.sql.SQLFeatureNotSupportedException
31 32 36 any
37 38 39 Class java.lang.AbstractMethodError
37 38 39 Class java.sql.SQLFeatureNotSupportedException
43 52 54 any
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
value
public java.lang.Object optimisticCast(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castTime:Z
ifeq 7
getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.TIME:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 7
3: aload 1
invokestatic java.time.LocalTime.parse:(Ljava/lang/CharSequence;)Ljava/time/LocalTime;
sipush 1970
iconst_1
iconst_1
invokestatic java.time.LocalDate.of:(III)Ljava/time/LocalDate;
invokevirtual java.time.LocalTime.atDate:(Ljava/time/LocalDate;)Ljava/time/LocalDateTime;
getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
invokevirtual java.time.LocalDateTime.toInstant:(Ljava/time/ZoneOffset;)Ljava/time/Instant;
astore 2
start local 2 4: invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
aload 2
invokevirtual java.time.Instant.toEpochMilli:()J
invokevirtual java.util.TimeZone.getOffset:(J)I
istore 3
start local 3 5: new java.sql.Time
dup
aload 2
invokevirtual java.time.Instant.toEpochMilli:()J
iload 3
i2l
lsub
invokespecial java.sql.Time.<init>:(J)V
6: areturn
end local 3 end local 2 7: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castDate:Z
ifeq 12
getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.DATE:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 12
8: aload 1
invokestatic java.time.LocalDate.parse:(Ljava/lang/CharSequence;)Ljava/time/LocalDate;
iconst_0
iconst_0
iconst_0
iconst_0
invokestatic java.time.LocalTime.of:(IIII)Ljava/time/LocalTime;
invokevirtual java.time.LocalDate.atTime:(Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
invokevirtual java.time.LocalDateTime.toInstant:(Ljava/time/ZoneOffset;)Ljava/time/Instant;
astore 2
start local 2 9: invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
aload 2
invokevirtual java.time.Instant.toEpochMilli:()J
invokevirtual java.util.TimeZone.getOffset:(J)I
istore 3
start local 3 10: new java.sql.Date
dup
aload 2
invokevirtual java.time.Instant.toEpochMilli:()J
iload 3
i2l
lsub
invokespecial java.sql.Date.<init>:(J)V
11: areturn
end local 3 end local 2 12: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castDatetime:Z
ifeq 16
getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.DATETIME:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 16
13: getstatic java.time.format.DateTimeFormatter.ISO_INSTANT:Ljava/time/format/DateTimeFormatter;
aload 1
invokevirtual java.time.format.DateTimeFormatter.parse:(Ljava/lang/CharSequence;)Ljava/time/temporal/TemporalAccessor;
invokestatic java.time.Instant.from:(Ljava/time/temporal/TemporalAccessor;)Ljava/time/Instant;
astore 2
start local 2 14: aload 2
invokestatic java.sql.Timestamp.from:(Ljava/time/Instant;)Ljava/sql/Timestamp;
15: areturn
end local 2 16: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castUUID:Z
ifeq 21
getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.UUID:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 21
17: aload 1
invokestatic java.util.UUID.fromString:(Ljava/lang/String;)Ljava/util/UUID;
18: areturn
19: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 2
start local 2 20: getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.log:Lio/vertx/core/impl/logging/Logger;
aload 2
invokeinterface io.vertx.core.impl.logging.Logger.debug:(Ljava/lang/Object;)V
end local 2 21: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
0 22 1 value Ljava/lang/String;
4 7 2 instant Ljava/time/Instant;
5 7 3 offset I
9 12 2 instant Ljava/time/Instant;
10 12 3 offset I
14 16 2 instant Ljava/time/Instant;
20 21 2 e Ljava/lang/RuntimeException;
Exception table:
from to target type
2 6 19 Class java.lang.RuntimeException
7 11 19 Class java.lang.RuntimeException
12 15 19 Class java.lang.RuntimeException
16 18 19 Class java.lang.RuntimeException
MethodParameters:
Name Flags
value
}
SourceFile: "JDBCStatementHelper.java"