public class io.vertx.sqlclient.impl.TransactionImpl extends io.vertx.sqlclient.impl.SqlConnectionBase<io.vertx.sqlclient.impl.TransactionImpl> implements io.vertx.sqlclient.Transaction
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.sqlclient.impl.TransactionImpl
super_class: io.vertx.sqlclient.impl.SqlConnectionBase
{
private static final int ST_BEGIN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int ST_PENDING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int ST_PROCESSING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int ST_COMPLETED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private final io.vertx.core.Handler<java.lang.Void> disposeHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;
private java.util.Deque<io.vertx.sqlclient.impl.command.CommandBase<?>> pending;
descriptor: Ljava/util/Deque;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Deque<Lio/vertx/sqlclient/impl/command/CommandBase<*>;>;
private io.vertx.core.Handler<java.lang.Void> failedHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;
private int status;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(io.vertx.core.Context, io.vertx.sqlclient.impl.Connection, io.vertx.core.Handler<java.lang.Void>);
descriptor: (Lio/vertx/core/Context;Lio/vertx/sqlclient/impl/Connection;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial io.vertx.sqlclient.impl.SqlConnectionBase.<init>:(Lio/vertx/core/Context;Lio/vertx/sqlclient/impl/Connection;)V
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield io.vertx.sqlclient.impl.TransactionImpl.pending:Ljava/util/Deque;
2: aload 0
iconst_0
putfield io.vertx.sqlclient.impl.TransactionImpl.status:I
3: aload 0
aload 3
putfield io.vertx.sqlclient.impl.TransactionImpl.disposeHandler:Lio/vertx/core/Handler;
4: aload 0
aload 0
ldc "BEGIN"
aload 0
invokedynamic handle(Lio/vertx/sqlclient/impl/TransactionImpl;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/sqlclient/impl/TransactionImpl.afterBegin(Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.doQuery:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/impl/command/CommandBase;
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.doSchedule:(Lio/vertx/sqlclient/impl/command/CommandBase;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 6 1 context Lio/vertx/core/Context;
0 6 2 conn Lio/vertx/sqlclient/impl/Connection;
0 6 3 disposeHandler Lio/vertx/core/Handler<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Context;Lio/vertx/sqlclient/impl/Connection;Lio/vertx/core/Handler<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
context
conn
disposeHandler
private void doSchedule(io.vertx.sqlclient.impl.command.CommandBase<?>);
descriptor: (Lio/vertx/sqlclient/impl/command/CommandBase;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.context:Lio/vertx/core/Context;
invokestatic io.vertx.core.Vertx.currentContext:()Lio/vertx/core/Context;
if_acmpne 3
1: aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.conn:Lio/vertx/sqlclient/impl/Connection;
aload 1
invokeinterface io.vertx.sqlclient.impl.Connection.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.context:Lio/vertx/core/Context;
aload 0
aload 1
invokedynamic handle(Lio/vertx/sqlclient/impl/TransactionImpl;Lio/vertx/sqlclient/impl/command/CommandBase;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/sqlclient/impl/TransactionImpl.lambda$1(Lio/vertx/sqlclient/impl/command/CommandBase;Ljava/lang/Void;)V (7)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 5 1 cmd Lio/vertx/sqlclient/impl/command/CommandBase<*>;
Signature: (Lio/vertx/sqlclient/impl/command/CommandBase<*>;)V
MethodParameters:
Name Flags
cmd
private synchronized void afterBegin(io.vertx.core.AsyncResult<?>);
descriptor: (Lio/vertx/core/AsyncResult;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 3
1: aload 0
iconst_1
putfield io.vertx.sqlclient.impl.TransactionImpl.status:I
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield io.vertx.sqlclient.impl.TransactionImpl.status:I
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.checkPending:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 6 1 ar Lio/vertx/core/AsyncResult<*>;
Signature: (Lio/vertx/core/AsyncResult<*>;)V
MethodParameters:
Name Flags
ar
private boolean isComplete(io.vertx.sqlclient.impl.command.CommandBase<?>);
descriptor: (Lio/vertx/sqlclient/impl/command/CommandBase;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.vertx.sqlclient.impl.command.QueryCommandBase
ifeq 4
1: aload 1
checkcast io.vertx.sqlclient.impl.command.QueryCommandBase
invokevirtual io.vertx.sqlclient.impl.command.QueryCommandBase.sql:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
ldc "COMMIT"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 3
aload 2
ldc "ROLLBACK"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 3
iconst_0
ireturn
StackMap locals: java.lang.String
StackMap stack:
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 5 1 cmd Lio/vertx/sqlclient/impl/command/CommandBase<*>;
2 4 2 sql Ljava/lang/String;
Signature: (Lio/vertx/sqlclient/impl/command/CommandBase<*>;)Z
MethodParameters:
Name Flags
cmd
private synchronized void checkPending();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.status:I
tableswitch { // 0 - 3
0: 1
1: 2
2: 11
3: 12
default: 18
}
1: StackMap locals:
StackMap stack:
goto 18
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.pending:Ljava/util/Deque;
invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
checkcast io.vertx.sqlclient.impl.command.CommandBase
astore 1
start local 1 3: aload 1
ifnull 18
4: aload 0
aload 1
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.isComplete:(Lio/vertx/sqlclient/impl/command/CommandBase;)Z
ifeq 7
5: aload 0
iconst_3
putfield io.vertx.sqlclient.impl.TransactionImpl.status:I
6: goto 9
7: StackMap locals: io.vertx.sqlclient.impl.command.CommandBase
StackMap stack:
aload 0
aload 1
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.wrap:(Lio/vertx/sqlclient/impl/command/CommandBase;)V
8: aload 0
iconst_2
putfield io.vertx.sqlclient.impl.TransactionImpl.status:I
9: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.doSchedule:(Lio/vertx/sqlclient/impl/command/CommandBase;)V
10: goto 18
end local 1 11: StackMap locals:
StackMap stack:
goto 18
12: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.pending:Ljava/util/Deque;
invokeinterface java.util.Deque.size:()I
ifle 18
13: new io.vertx.core.VertxException
dup
ldc "Transaction already completed"
invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/String;)V
astore 1
start local 1 14: goto 16
start local 2 15: StackMap locals: io.vertx.core.VertxException io.vertx.sqlclient.impl.command.CommandBase
StackMap stack:
aload 2
aload 1
invokevirtual io.vertx.sqlclient.impl.command.CommandBase.fail:(Ljava/lang/Throwable;)V
end local 2 16: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.pending:Ljava/util/Deque;
invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
checkcast io.vertx.sqlclient.impl.command.CommandBase
dup
astore 2
start local 2 17: ifnonnull 15
end local 2 end local 1 18: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
3 11 1 cmd Lio/vertx/sqlclient/impl/command/CommandBase<*>;
14 18 1 err Lio/vertx/core/VertxException;
15 16 2 cmd Lio/vertx/sqlclient/impl/command/CommandBase<*>;
17 18 2 cmd Lio/vertx/sqlclient/impl/command/CommandBase<*>;
public <R> void schedule(io.vertx.sqlclient.impl.command.CommandBase<R>, io.vertx.core.Handler<? super io.vertx.sqlclient.impl.command.CommandResponse<R>>);
descriptor: (Lio/vertx/sqlclient/impl/command/CommandBase;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
aload 2
invokedynamic handle(Lio/vertx/sqlclient/impl/TransactionImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/sqlclient/impl/TransactionImpl.lambda$2(Lio/vertx/core/Handler;Lio/vertx/sqlclient/impl/command/CommandResponse;)V (7)
(Lio/vertx/sqlclient/impl/command/CommandResponse;)V
putfield io.vertx.sqlclient.impl.command.CommandBase.handler:Lio/vertx/core/Handler;
1: aload 0
aload 1
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 3 1 cmd Lio/vertx/sqlclient/impl/command/CommandBase<TR;>;
0 3 2 handler Lio/vertx/core/Handler<-Lio/vertx/sqlclient/impl/command/CommandResponse<TR;>;>;
Signature: <R:Ljava/lang/Object;>(Lio/vertx/sqlclient/impl/command/CommandBase<TR;>;Lio/vertx/core/Handler<-Lio/vertx/sqlclient/impl/command/CommandResponse<TR;>;>;)V
MethodParameters:
Name Flags
cmd
handler
public void schedule(io.vertx.sqlclient.impl.command.CommandBase<?>);
descriptor: (Lio/vertx/sqlclient/impl/command/CommandBase;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.pending:Ljava/util/Deque;
aload 1
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
2: aload 2
monitorexit
3: goto 6
StackMap locals: io.vertx.sqlclient.impl.TransactionImpl io.vertx.sqlclient.impl.command.CommandBase io.vertx.sqlclient.impl.TransactionImpl
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.checkPending:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 8 1 cmd Lio/vertx/sqlclient/impl/command/CommandBase<*>;
Exception table:
from to target type
1 3 4 any
4 5 4 any
Signature: (Lio/vertx/sqlclient/impl/command/CommandBase<*>;)V
MethodParameters:
Name Flags
cmd
private <T> void wrap(io.vertx.sqlclient.impl.command.CommandBase<T>);
descriptor: (Lio/vertx/sqlclient/impl/command/CommandBase;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield io.vertx.sqlclient.impl.command.CommandBase.handler:Lio/vertx/core/Handler;
astore 2
start local 2 1: aload 1
aload 0
aload 2
invokedynamic handle(Lio/vertx/sqlclient/impl/TransactionImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/sqlclient/impl/TransactionImpl.lambda$3(Lio/vertx/core/Handler;Lio/vertx/sqlclient/impl/command/CommandResponse;)V (7)
(Lio/vertx/sqlclient/impl/command/CommandResponse;)V
putfield io.vertx.sqlclient.impl.command.CommandBase.handler:Lio/vertx/core/Handler;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 3 1 cmd Lio/vertx/sqlclient/impl/command/CommandBase<TT;>;
1 3 2 handler Lio/vertx/core/Handler<-Lio/vertx/sqlclient/impl/command/CommandResponse<TT;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/sqlclient/impl/command/CommandBase<TT;>;)V
MethodParameters:
Name Flags
cmd
public void commit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.commit:(Lio/vertx/core/Handler;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
public void commit(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.status:I
tableswitch { // 0 - 3
0: 1
1: 1
2: 1
3: 3
default: 5
}
1: StackMap locals:
StackMap stack:
aload 0
aload 0
ldc "COMMIT"
aload 0
aload 1
invokedynamic handle(Lio/vertx/sqlclient/impl/TransactionImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/sqlclient/impl/TransactionImpl.lambda$5(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.doQuery:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/impl/command/CommandBase;
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;)V
2: goto 5
3: StackMap locals:
StackMap stack:
aload 1
ifnull 5
4: aload 1
ldc "Transaction already completed"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 6 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
handler
public void rollback();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.rollback:(Lio/vertx/core/Handler;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
public void rollback(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
ldc "ROLLBACK"
aload 0
aload 1
invokedynamic handle(Lio/vertx/sqlclient/impl/TransactionImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/sqlclient/impl/TransactionImpl.lambda$6(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.doQuery:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/impl/command/CommandBase;
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 2 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
handler
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.rollback:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
public io.vertx.sqlclient.Transaction abortHandler(io.vertx.core.Handler<java.lang.Void>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/sqlclient/Transaction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.sqlclient.impl.TransactionImpl.failedHandler:Lio/vertx/core/Handler;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 2 1 handler Lio/vertx/core/Handler<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/sqlclient/Transaction;
MethodParameters:
Name Flags
handler
private io.vertx.sqlclient.impl.command.CommandBase doQuery(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.sqlclient.RowSet>>);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/impl/command/CommandBase;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new io.vertx.sqlclient.impl.SqlResultBuilder
dup
getstatic io.vertx.sqlclient.impl.RowSetImpl.FACTORY:Ljava/util/function/Function;
aload 2
invokespecial io.vertx.sqlclient.impl.SqlResultBuilder.<init>:(Ljava/util/function/Function;Lio/vertx/core/Handler;)V
astore 3
start local 3 1: new io.vertx.sqlclient.impl.command.SimpleQueryCommand
dup
aload 1
iconst_0
getstatic io.vertx.sqlclient.impl.RowSetImpl.COLLECTOR:Ljava/util/stream/Collector;
aload 3
invokespecial io.vertx.sqlclient.impl.command.SimpleQueryCommand.<init>:(Ljava/lang/String;ZLjava/util/stream/Collector;Lio/vertx/sqlclient/impl/QueryResultHandler;)V
astore 4
start local 4 2: aload 4
aload 3
putfield io.vertx.sqlclient.impl.command.SimpleQueryCommand.handler:Lio/vertx/core/Handler;
3: aload 4
areturn
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/sqlclient/impl/TransactionImpl;
0 4 1 sql Ljava/lang/String;
0 4 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/RowSet;>;>;
1 4 3 b Lio/vertx/sqlclient/impl/SqlResultBuilder<Lio/vertx/sqlclient/RowSet;Lio/vertx/sqlclient/impl/RowSetImpl;Lio/vertx/sqlclient/RowSet;>;
2 4 4 cmd Lio/vertx/sqlclient/impl/command/SimpleQueryCommand<Lio/vertx/sqlclient/RowSet;>;
Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/RowSet;>;>;)Lio/vertx/sqlclient/impl/command/CommandBase;
MethodParameters:
Name Flags
sql
handler
public io.vertx.sqlclient.Transaction preparedQuery(java.lang.String, java.util.stream.Collector, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/Transaction;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
checkcast java.util.stream.Collector
aload 3
checkcast io.vertx.core.Handler
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.preparedQuery:(Ljava/lang/String;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
checkcast io.vertx.sqlclient.Transaction
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.sqlclient.Transaction preparedQuery(java.lang.String, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/Transaction;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.preparedQuery:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
checkcast io.vertx.sqlclient.Transaction
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.sqlclient.Transaction preparedQuery(java.lang.String, io.vertx.sqlclient.Tuple, java.util.stream.Collector, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/sqlclient/Tuple;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/Transaction;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
0: aload 0
aload 1
aload 2
aload 3
checkcast java.util.stream.Collector
aload 4
checkcast io.vertx.core.Handler
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.preparedQuery:(Ljava/lang/String;Lio/vertx/sqlclient/Tuple;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
checkcast io.vertx.sqlclient.Transaction
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.sqlclient.Transaction preparedQuery(java.lang.String, io.vertx.sqlclient.Tuple, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/sqlclient/Tuple;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/Transaction;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.preparedQuery:(Ljava/lang/String;Lio/vertx/sqlclient/Tuple;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
checkcast io.vertx.sqlclient.Transaction
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.sqlclient.Transaction prepare(java.lang.String, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/Transaction;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.prepare:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/impl/SqlConnectionBase;
checkcast io.vertx.sqlclient.Transaction
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.sqlclient.Transaction query(java.lang.String, java.util.stream.Collector, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/Transaction;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
checkcast java.util.stream.Collector
aload 3
checkcast io.vertx.core.Handler
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.query:(Ljava/lang/String;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
checkcast io.vertx.sqlclient.Transaction
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.sqlclient.Transaction query(java.lang.String, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/Transaction;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.query:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
checkcast io.vertx.sqlclient.Transaction
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.sqlclient.Transaction preparedBatch(java.lang.String, java.util.List, java.util.stream.Collector, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/Transaction;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
0: aload 0
aload 1
aload 2
aload 3
checkcast java.util.stream.Collector
aload 4
checkcast io.vertx.core.Handler
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.preparedBatch:(Ljava/lang/String;Ljava/util/List;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
checkcast io.vertx.sqlclient.Transaction
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.sqlclient.Transaction preparedBatch(java.lang.String, java.util.List, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Ljava/util/List;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/Transaction;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.preparedBatch:(Ljava/lang/String;Ljava/util/List;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
checkcast io.vertx.sqlclient.Transaction
areturn
LocalVariableTable:
Start End Slot Name Signature
private void lambda$1(io.vertx.sqlclient.impl.command.CommandBase, java.lang.Void);
descriptor: (Lio/vertx/sqlclient/impl/command/CommandBase;Ljava/lang/Void;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.conn:Lio/vertx/sqlclient/impl/Connection;
aload 1
invokeinterface io.vertx.sqlclient.impl.Connection.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;)V
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 1 2 v Ljava/lang/Void;
private void lambda$2(io.vertx.core.Handler, io.vertx.sqlclient.impl.command.CommandResponse);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/sqlclient/impl/command/CommandResponse;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 2
aload 0
putfield io.vertx.sqlclient.impl.command.CommandResponse.scheduler:Lio/vertx/sqlclient/impl/command/CommandScheduler;
1: aload 1
aload 2
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 3 2 cr Lio/vertx/sqlclient/impl/command/CommandResponse<TR;>;
private void lambda$3(io.vertx.core.Handler, io.vertx.sqlclient.impl.command.CommandResponse);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/sqlclient/impl/command/CommandResponse;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 2 0: aload 0
dup
astore 3
monitorenter
1: aload 0
iconst_1
putfield io.vertx.sqlclient.impl.TransactionImpl.status:I
2: aload 2
invokevirtual io.vertx.sqlclient.impl.command.CommandResponse.txStatus:()Lio/vertx/sqlclient/impl/TxStatus;
getstatic io.vertx.sqlclient.impl.TxStatus.FAILED:Lio/vertx/sqlclient/impl/TxStatus;
if_acmpne 12
3: goto 5
start local 4 4: StackMap locals: io.vertx.sqlclient.impl.TransactionImpl io.vertx.sqlclient.impl.command.CommandBase
StackMap stack:
aload 4
new java.lang.RuntimeException
dup
ldc "rollback exception"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
invokevirtual io.vertx.sqlclient.impl.command.CommandBase.fail:(Ljava/lang/Throwable;)V
end local 4 5: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.pending:Ljava/util/Deque;
invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
checkcast io.vertx.sqlclient.impl.command.CommandBase
dup
astore 4
start local 4 6: ifnonnull 4
7: aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.failedHandler:Lio/vertx/core/Handler;
astore 5
start local 5 8: aload 5
ifnull 10
9: aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.context:Lio/vertx/core/Context;
aload 5
invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
10: StackMap locals: io.vertx.sqlclient.impl.command.CommandBase io.vertx.core.Handler
StackMap stack:
aload 0
aload 0
ldc "ROLLBACK"
aload 0
aload 1
aload 2
invokedynamic handle(Lio/vertx/sqlclient/impl/TransactionImpl;Lio/vertx/core/Handler;Lio/vertx/sqlclient/impl/command/CommandResponse;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/sqlclient/impl/TransactionImpl.lambda$4(Lio/vertx/core/Handler;Lio/vertx/sqlclient/impl/command/CommandResponse;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.doQuery:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/impl/command/CommandBase;
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;)V
end local 5 end local 4 11: goto 14
12: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
13: aload 0
invokevirtual io.vertx.sqlclient.impl.TransactionImpl.checkPending:()V
14: StackMap locals:
StackMap stack:
aload 3
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 3
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 19 2 ar Lio/vertx/sqlclient/impl/command/CommandResponse<TT;>;
4 5 4 c Lio/vertx/sqlclient/impl/command/CommandBase<*>;
6 11 4 c Lio/vertx/sqlclient/impl/command/CommandBase<*>;
8 11 5 h Lio/vertx/core/Handler<Ljava/lang/Void;>;
Exception table:
from to target type
1 15 16 any
16 17 16 any
private void lambda$5(io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.disposeHandler:Lio/vertx/core/Handler;
aconst_null
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
1: aload 1
ifnull 6
2: aload 2
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 5
3: aload 1
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 7 2 ar Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/RowSet;>;
private void lambda$6(io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.disposeHandler:Lio/vertx/core/Handler;
aconst_null
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
1: aload 1
ifnull 3
2: aload 1
aload 2
invokeinterface io.vertx.core.AsyncResult.mapEmpty:()Lio/vertx/core/AsyncResult;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 4 2 ar Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/RowSet;>;
private void lambda$4(io.vertx.core.Handler, io.vertx.sqlclient.impl.command.CommandResponse, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/sqlclient/impl/command/CommandResponse;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 3 0: aload 0
getfield io.vertx.sqlclient.impl.TransactionImpl.disposeHandler:Lio/vertx/core/Handler;
aconst_null
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
1: aload 1
aload 2
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/sqlclient/impl/TransactionImpl;
0 3 3 ar2 Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/RowSet;>;
}
Signature: Lio/vertx/sqlclient/impl/SqlConnectionBase<Lio/vertx/sqlclient/impl/TransactionImpl;>;Lio/vertx/sqlclient/Transaction;
SourceFile: "TransactionImpl.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles