public class io.vertx.jdbcclient.impl.actions.JDBCPreparedBatch<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.JDBCPreparedBatch
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 java.util.List<io.vertx.sqlclient.Tuple> listParams;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lio/vertx/sqlclient/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>, java.util.List<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;Ljava/util/List;)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.JDBCPreparedBatch.query:Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;
2: aload 0
aload 5
putfield io.vertx.jdbcclient.impl.actions.JDBCPreparedBatch.listParams:Ljava/util/List;
3: 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 4 0 this Lio/vertx/jdbcclient/impl/actions/JDBCPreparedBatch<TC;TR;>;
0 4 1 helper Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
0 4 2 options Lio/vertx/ext/sql/SQLOptions;
0 4 3 query Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand<TR;>;
0 4 4 collector Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;TC;TR;>;
0 4 5 listParams Ljava/util/List<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;>;Ljava/util/List<Lio/vertx/sqlclient/Tuple;>;)V
MethodParameters:
Name Flags
helper
options
query
collector
listParams
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=4, locals=7, 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.JDBCPreparedBatch.prepare:(Ljava/sql/Connection;)Ljava/sql/PreparedStatement;
astore 4
start local 4 2: aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedBatch.listParams:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 6
StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCPreparedBatch java.sql.Connection java.lang.Throwable java.lang.Throwable java.sql.PreparedStatement top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.sqlclient.Tuple
astore 5
start local 5 4: aload 0
aload 4
aload 1
aload 5
invokevirtual io.vertx.jdbcclient.impl.actions.JDBCPreparedBatch.fillStatement:(Ljava/sql/PreparedStatement;Ljava/sql/Connection;Lio/vertx/sqlclient/Tuple;)V
5: aload 4
invokeinterface java.sql.PreparedStatement.addBatch:()V
end local 5 6: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 0
aload 4
aload 4
invokeinterface java.sql.PreparedStatement.executeBatch:()[I
iconst_1
invokevirtual io.vertx.jdbcclient.impl.actions.JDBCPreparedBatch.decode:(Ljava/sql/Statement;[IZ)Lio/vertx/jdbcclient/impl/actions/JDBCResponse;
8: aload 4
ifnull 9
aload 4
invokeinterface java.sql.PreparedStatement.close:()V
9: StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCPreparedBatch 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
10: astore 2
11: aload 4
ifnull 12
aload 4
invokeinterface java.sql.PreparedStatement.close:()V
end local 4 StackMap locals:
StackMap stack:
12: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 3
aload 2
ifnonnull 14
aload 3
astore 2
goto 15
StackMap locals:
StackMap stack:
14: aload 2
aload 3
if_acmpeq 15
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/vertx/jdbcclient/impl/actions/JDBCPreparedBatch<TC;TR;>;
0 16 1 conn Ljava/sql/Connection;
2 12 4 ps Ljava/sql/PreparedStatement;
4 6 5 params Lio/vertx/sqlclient/Tuple;
Exception table:
from to target type
2 8 10 any
1 9 13 any
10 13 13 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.JDBCPreparedBatch.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.JDBCPreparedBatch.options:Lio/vertx/ext/sql/SQLOptions;
ifnull 2
aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedBatch.options:Lio/vertx/ext/sql/SQLOptions;
invokevirtual io.vertx.ext.sql.SQLOptions.isAutoGeneratedKeys:()Z
ifne 2
iconst_0
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedBatch.options:Lio/vertx/ext/sql/SQLOptions;
ifnull 5
aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedBatch.options:Lio/vertx/ext/sql/SQLOptions;
invokevirtual io.vertx.ext.sql.SQLOptions.getAutoGeneratedKeysIndexes:()Lio/vertx/core/json/JsonArray;
ifnull 5
iconst_1
goto 6
StackMap locals: int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 4
start local 4 7: iload 3
ifeq 9
iload 4
ifne 9
8: aload 1
aload 2
iconst_1
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;I)Ljava/sql/PreparedStatement;
areturn
9: StackMap locals: int
StackMap stack:
iload 4
ifeq 32
10: aload 0
getfield io.vertx.jdbcclient.impl.actions.JDBCPreparedBatch.options:Lio/vertx/ext/sql/SQLOptions;
invokevirtual io.vertx.ext.sql.SQLOptions.getAutoGeneratedKeysIndexes:()Lio/vertx/core/json/JsonArray;
astore 5
start local 5 11: aload 5
iconst_0
invokevirtual io.vertx.core.json.JsonArray.getValue:(I)Ljava/lang/Object;
instanceof java.lang.Number
ifeq 20
12: aload 5
invokevirtual io.vertx.core.json.JsonArray.size:()I
newarray 10
astore 6
start local 6 13: iconst_0
istore 7
start local 7 14: goto 17
15: 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
16: iinc 7 1
StackMap locals:
StackMap stack:
17: iload 7
aload 6
arraylength
if_icmplt 15
end local 7 18: aload 1
aload 2
aload 6
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;[I)Ljava/sql/PreparedStatement;
19: areturn
end local 6 20: StackMap locals:
StackMap stack:
aload 5
iconst_0
invokevirtual io.vertx.core.json.JsonArray.getValue:(I)Ljava/lang/Object;
instanceof java.lang.String
ifeq 29
21: aload 5
invokevirtual io.vertx.core.json.JsonArray.size:()I
anewarray java.lang.String
astore 6
start local 6 22: iconst_0
istore 7
start local 7 23: goto 26
24: 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
25: iinc 7 1
StackMap locals:
StackMap stack:
26: iload 7
aload 6
arraylength
if_icmplt 24
end local 7 27: aload 1
aload 2
aload 6
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;[Ljava/lang/String;)Ljava/sql/PreparedStatement;
28: areturn
end local 6 29: 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
30: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 6
start local 6 31: new java.sql.SQLException
dup
aload 6
invokespecial java.sql.SQLException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 32: 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 33 0 this Lio/vertx/jdbcclient/impl/actions/JDBCPreparedBatch<TC;TR;>;
0 33 1 conn Ljava/sql/Connection;
1 33 2 sql Ljava/lang/String;
4 33 3 autoGeneratedKeys Z
7 33 4 autoGeneratedIndexes Z
11 32 5 indexes Lio/vertx/core/json/JsonArray;
13 20 6 keys [I
14 18 7 i I
22 29 6 keys [Ljava/lang/String;
23 27 7 i I
31 32 6 e Ljava/lang/RuntimeException;
Exception table:
from to target type
11 19 30 Class java.lang.RuntimeException
20 28 30 Class java.lang.RuntimeException
29 30 30 Class java.lang.RuntimeException
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
private void fillStatement(java.sql.PreparedStatement, java.sql.Connection, io.vertx.sqlclient.Tuple);
descriptor: (Ljava/sql/PreparedStatement;Ljava/sql/Connection;Lio/vertx/sqlclient/Tuple;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 0
aload 2
aload 3
iload 4
invokeinterface io.vertx.sqlclient.Tuple.getValue:(I)Ljava/lang/Object;
invokevirtual io.vertx.jdbcclient.impl.actions.JDBCPreparedBatch.adaptType:(Ljava/sql/Connection;Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 3: aload 5
instanceof io.vertx.jdbcclient.SqlOutParam
ifeq 5
4: new java.sql.SQLException
dup
ldc "{out} parameters are not supported in batch mode"
invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
aload 1
iload 4
iconst_1
iadd
aload 5
invokeinterface java.sql.PreparedStatement.setObject:(ILjava/lang/Object;)V
end local 5 6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 3
invokeinterface io.vertx.sqlclient.Tuple.size:()I
if_icmplt 2
end local 4 8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/jdbcclient/impl/actions/JDBCPreparedBatch<TC;TR;>;
0 9 1 ps Ljava/sql/PreparedStatement;
0 9 2 conn Ljava/sql/Connection;
0 9 3 params Lio/vertx/sqlclient/Tuple;
1 8 4 i I
3 6 5 value Ljava/lang/Object;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
ps
conn
params
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/JDBCPreparedBatch<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.JDBCPreparedBatch.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: "JDBCPreparedBatch.java"