public class io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery<C, R> extends io.vertx.jdbcclient.impl.actions.JDBCQueryAction<C, R>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery
super_class: io.vertx.jdbcclient.impl.actions.JDBCQueryAction
{
private final io.vertx.sqlclient.impl.command.ExtendedQueryCommand<R> query;
descriptor: Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand<TR;>;
private final io.vertx.sqlclient.Tuple params;
descriptor: Lio/vertx/sqlclient/Tuple;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<java.lang.Integer> outParams;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/Integer;>;
private static java.util.List<java.lang.Integer> countOut(io.vertx.sqlclient.Tuple);
descriptor: (Lio/vertx/sqlclient/Tuple;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
ifnull 8
2: iconst_0
istore 2
start local 2 3: goto 7
4: StackMap locals: java.util.List int
StackMap stack:
aload 0
iload 2
invokeinterface io.vertx.sqlclient.Tuple.getValue:(I)Ljava/lang/Object;
instanceof io.vertx.jdbcclient.SqlOutParam
ifeq 6
5: aload 1
iload 2
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
invokeinterface io.vertx.sqlclient.Tuple.size:()I
if_icmplt 4
end local 2 8: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 tuple Lio/vertx/sqlclient/Tuple;
1 9 1 total Ljava/util/List<Ljava/lang/Integer;>;
3 8 2 i I
Signature: (Lio/vertx/sqlclient/Tuple;)Ljava/util/List<Ljava/lang/Integer;>;
MethodParameters:
Name Flags
tuple
public void <init>(io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper, io.vertx.ext.sql.SQLOptions, io.vertx.sqlclient.impl.command.ExtendedQueryCommand<R>, java.util.stream.Collector<io.vertx.sqlclient.Row, C, R>, io.vertx.sqlclient.Tuple);
descriptor: (Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;Lio/vertx/ext/sql/SQLOptions;Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;Ljava/util/stream/Collector;Lio/vertx/sqlclient/Tuple;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 4
invokespecial io.vertx.jdbcclient.impl.actions.JDBCQueryAction.<init>:(Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;Lio/vertx/ext/sql/SQLOptions;Ljava/util/stream/Collector;)V
1: aload 0
aload 3
putfield io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.query:Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;
2: aload 0
aload 5
putfield io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.params:Lio/vertx/sqlclient/Tuple;
3: aload 0
aload 5
invokestatic io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.countOut:(Lio/vertx/sqlclient/Tuple;)Ljava/util/List;
putfield io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.outParams:Ljava/util/List;
4: return
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 5 0 this Lio/vertx/jdbcclient/impl/actions/JDBCPreparedQuery<TC;TR;>;
0 5 1 helper Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
0 5 2 options Lio/vertx/ext/sql/SQLOptions;
0 5 3 query Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand<TR;>;
0 5 4 collector Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;TC;TR;>;
0 5 5 params Lio/vertx/sqlclient/Tuple;
Signature: (Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;Lio/vertx/ext/sql/SQLOptions;Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand<TR;>;Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;TC;TR;>;Lio/vertx/sqlclient/Tuple;)V
MethodParameters:
Name Flags
helper
options
query
collector
params
public io.vertx.jdbcclient.impl.actions.JDBCResponse<R> execute(java.sql.Connection);
descriptor: (Ljava/sql/Connection;)Lio/vertx/jdbcclient/impl/actions/JDBCResponse;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
aload 1
invokevirtual io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.prepare:(Ljava/sql/Connection;)Ljava/sql/PreparedStatement;
astore 4
start local 4 2: aload 0
aload 4
aload 1
invokevirtual io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.fillStatement:(Ljava/sql/PreparedStatement;Ljava/sql/Connection;)V
3: aload 0
aload 4
aload 4
invokeinterface java.sql.PreparedStatement.execute:()Z
iconst_1
aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.outParams:Ljava/util/List;
invokevirtual io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.decode:(Ljava/sql/Statement;ZZLjava/util/List;)Lio/vertx/jdbcclient/impl/actions/JDBCResponse;
4: aload 4
ifnull 5
aload 4
invokeinterface java.sql.PreparedStatement.close:()V
5: StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery java.sql.Connection java.lang.Throwable java.lang.Throwable java.sql.PreparedStatement
StackMap stack: io.vertx.jdbcclient.impl.actions.JDBCResponse
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 2
7: aload 4
ifnull 8
aload 4
invokeinterface java.sql.PreparedStatement.close:()V
end local 4 StackMap locals:
StackMap stack:
8: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
aload 2
ifnonnull 10
aload 3
astore 2
goto 11
StackMap locals:
StackMap stack:
10: aload 2
aload 3
if_acmpeq 11
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/jdbcclient/impl/actions/JDBCPreparedQuery<TC;TR;>;
0 12 1 conn Ljava/sql/Connection;
2 8 4 ps Ljava/sql/PreparedStatement;
Exception table:
from to target type
2 4 6 any
1 5 9 any
6 9 9 any
Exceptions:
throws java.sql.SQLException
Signature: (Ljava/sql/Connection;)Lio/vertx/jdbcclient/impl/actions/JDBCResponse<TR;>;
MethodParameters:
Name Flags
conn
private java.sql.PreparedStatement prepare(java.sql.Connection);
descriptor: (Ljava/sql/Connection;)Ljava/sql/PreparedStatement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.query:Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;
invokevirtual io.vertx.sqlclient.impl.command.ExtendedQueryCommand.sql:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.outParams:Ljava/util/List;
invokeinterface java.util.List.size:()I
ifle 3
2: aload 1
aload 2
invokeinterface java.sql.Connection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.options:Lio/vertx/ext/sql/SQLOptions;
ifnull 4
aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.options:Lio/vertx/ext/sql/SQLOptions;
invokevirtual io.vertx.ext.sql.SQLOptions.isAutoGeneratedKeys:()Z
ifne 4
iconst_0
goto 5
StackMap locals:
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.options:Lio/vertx/ext/sql/SQLOptions;
ifnull 7
aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.options:Lio/vertx/ext/sql/SQLOptions;
invokevirtual io.vertx.ext.sql.SQLOptions.getAutoGeneratedKeysIndexes:()Lio/vertx/core/json/JsonArray;
ifnull 7
iconst_1
goto 8
StackMap locals: int
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 4
start local 4 9: iload 3
ifeq 11
iload 4
ifne 11
10: aload 1
aload 2
iconst_1
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;I)Ljava/sql/PreparedStatement;
areturn
11: StackMap locals: int
StackMap stack:
iload 4
ifeq 34
12: aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.options:Lio/vertx/ext/sql/SQLOptions;
invokevirtual io.vertx.ext.sql.SQLOptions.getAutoGeneratedKeysIndexes:()Lio/vertx/core/json/JsonArray;
astore 5
start local 5 13: aload 5
iconst_0
invokevirtual io.vertx.core.json.JsonArray.getValue:(I)Ljava/lang/Object;
instanceof java.lang.Number
ifeq 22
14: aload 5
invokevirtual io.vertx.core.json.JsonArray.size:()I
newarray 10
astore 6
start local 6 15: iconst_0
istore 7
start local 7 16: goto 19
17: StackMap locals: io.vertx.core.json.JsonArray int[] int
StackMap stack:
aload 6
iload 7
aload 5
iload 7
invokevirtual io.vertx.core.json.JsonArray.getInteger:(I)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
iastore
18: iinc 7 1
StackMap locals:
StackMap stack:
19: iload 7
aload 6
arraylength
if_icmplt 17
end local 7 20: aload 1
aload 2
aload 6
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;[I)Ljava/sql/PreparedStatement;
21: areturn
end local 6 22: StackMap locals:
StackMap stack:
aload 5
iconst_0
invokevirtual io.vertx.core.json.JsonArray.getValue:(I)Ljava/lang/Object;
instanceof java.lang.String
ifeq 31
23: aload 5
invokevirtual io.vertx.core.json.JsonArray.size:()I
anewarray java.lang.String
astore 6
start local 6 24: iconst_0
istore 7
start local 7 25: goto 28
26: StackMap locals: java.lang.String[] int
StackMap stack:
aload 6
iload 7
aload 5
iload 7
invokevirtual io.vertx.core.json.JsonArray.getString:(I)Ljava/lang/String;
aastore
27: iinc 7 1
StackMap locals:
StackMap stack:
28: iload 7
aload 6
arraylength
if_icmplt 26
end local 7 29: aload 1
aload 2
aload 6
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;[Ljava/lang/String;)Ljava/sql/PreparedStatement;
30: areturn
end local 6 31: StackMap locals:
StackMap stack:
new java.sql.SQLException
dup
ldc "Invalid type of index, only [int, String] allowed"
invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 6
start local 6 33: new java.sql.SQLException
dup
aload 6
invokespecial java.sql.SQLException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 34: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lio/vertx/jdbcclient/impl/actions/JDBCPreparedQuery<TC;TR;>;
0 35 1 conn Ljava/sql/Connection;
1 35 2 sql Ljava/lang/String;
6 35 3 autoGeneratedKeys Z
9 35 4 autoGeneratedIndexes Z
13 34 5 indexes Lio/vertx/core/json/JsonArray;
15 22 6 keys [I
16 20 7 i I
24 31 6 keys [Ljava/lang/String;
25 29 7 i I
33 34 6 e Ljava/lang/RuntimeException;
Exception table:
from to target type
13 21 32 Class java.lang.RuntimeException
22 30 32 Class java.lang.RuntimeException
31 32 32 Class java.lang.RuntimeException
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
private void fillStatement(java.sql.PreparedStatement, java.sql.Connection);
descriptor: (Ljava/sql/PreparedStatement;Ljava/sql/Connection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 12
2: StackMap locals: int
StackMap stack:
aload 0
aload 2
aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.params:Lio/vertx/sqlclient/Tuple;
iload 3
invokeinterface io.vertx.sqlclient.Tuple.getValue:(I)Ljava/lang/Object;
invokevirtual io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.adaptType:(Ljava/sql/Connection;Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 3: aload 4
instanceof io.vertx.jdbcclient.SqlOutParam
ifeq 10
4: aload 4
checkcast io.vertx.jdbcclient.SqlOutParam
astore 5
start local 5 5: aload 5
invokeinterface io.vertx.jdbcclient.SqlOutParam.in:()Z
ifeq 7
6: aload 1
iload 3
iconst_1
iadd
aload 0
aload 2
aload 5
invokeinterface io.vertx.jdbcclient.SqlOutParam.value:()Ljava/lang/Object;
invokevirtual io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.adaptType:(Ljava/sql/Connection;Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface java.sql.PreparedStatement.setObject:(ILjava/lang/Object;)V
7: StackMap locals: java.lang.Object io.vertx.jdbcclient.SqlOutParam
StackMap stack:
aload 1
checkcast java.sql.CallableStatement
8: iload 3
iconst_1
iadd
aload 5
invokeinterface io.vertx.jdbcclient.SqlOutParam.type:()I
invokeinterface java.sql.CallableStatement.registerOutParameter:(II)V
end local 5 9: goto 11
10: StackMap locals:
StackMap stack:
aload 1
iload 3
iconst_1
iadd
aload 4
invokeinterface java.sql.PreparedStatement.setObject:(ILjava/lang/Object;)V
end local 4 11: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.params:Lio/vertx/sqlclient/Tuple;
invokeinterface io.vertx.sqlclient.Tuple.size:()I
if_icmplt 2
end local 3 13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/vertx/jdbcclient/impl/actions/JDBCPreparedQuery<TC;TR;>;
0 14 1 ps Ljava/sql/PreparedStatement;
0 14 2 conn Ljava/sql/Connection;
1 13 3 i I
3 11 4 value Ljava/lang/Object;
5 9 5 outValue Lio/vertx/jdbcclient/SqlOutParam;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
ps
conn
private java.lang.Object adaptType(java.sql.Connection, java.lang.Object);
descriptor: (Ljava/sql/Connection;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof java.time.LocalTime
ifeq 3
1: aload 2
checkcast java.time.LocalTime
astore 3
start local 3 2: aload 3
invokestatic java.sql.Time.valueOf:(Ljava/time/LocalTime;)Ljava/sql/Time;
areturn
end local 3 3: StackMap locals:
StackMap stack:
aload 2
instanceof java.time.LocalDate
ifeq 6
4: aload 2
checkcast java.time.LocalDate
astore 3
start local 3 5: aload 3
invokestatic java.sql.Date.valueOf:(Ljava/time/LocalDate;)Ljava/sql/Date;
areturn
end local 3 6: StackMap locals:
StackMap stack:
aload 2
instanceof java.time.Instant
ifeq 9
7: aload 2
checkcast java.time.Instant
astore 3
start local 3 8: aload 3
invokestatic java.sql.Timestamp.from:(Ljava/time/Instant;)Ljava/sql/Timestamp;
areturn
end local 3 9: StackMap locals:
StackMap stack:
aload 2
instanceof io.vertx.core.buffer.Buffer
ifeq 12
10: aload 2
checkcast io.vertx.core.buffer.Buffer
astore 3
start local 3 11: aload 1
invokeinterface java.sql.Connection.createBlob:()Ljava/sql/Blob;
lconst_0
aload 3
invokeinterface io.vertx.core.buffer.Buffer.getBytes:()[B
invokeinterface java.sql.Blob.setBytes:(J[B)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 3 12: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/vertx/jdbcclient/impl/actions/JDBCPreparedQuery<TC;TR;>;
0 13 1 conn Ljava/sql/Connection;
0 13 2 value Ljava/lang/Object;
2 3 3 time Ljava/time/LocalTime;
5 6 3 date Ljava/time/LocalDate;
8 9 3 timestamp Ljava/time/Instant;
11 12 3 blob Lio/vertx/core/buffer/Buffer;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
value
public java.lang.Object execute(java.sql.Connection);
descriptor: (Ljava/sql/Connection;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual io.vertx.jdbcclient.impl.actions.JDBCPreparedQuery.execute:(Ljava/sql/Connection;)Lio/vertx/jdbcclient/impl/actions/JDBCResponse;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.sql.SQLException
}
Signature: <C:Ljava/lang/Object;R:Ljava/lang/Object;>Lio/vertx/jdbcclient/impl/actions/JDBCQueryAction<TC;TR;>;
SourceFile: "JDBCPreparedQuery.java"