public abstract class org.h2.command.Command implements org.h2.command.CommandInterface
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.h2.command.Command
super_class: java.lang.Object
{
protected final org.h2.engine.Session session;
descriptor: Lorg/h2/engine/Session;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected long startTimeNanos;
descriptor: J
flags: (0x0004) ACC_PROTECTED
private final org.h2.message.Trace trace;
descriptor: Lorg/h2/message/Trace;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean cancel;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.lang.String sql;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean canReuse;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
void <init>(org.h2.engine.Session, java.lang.String);
descriptor: (Lorg/h2/engine/Session;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.h2.command.Command.session:Lorg/h2/engine/Session;
2: aload 0
aload 2
putfield org.h2.command.Command.sql:Ljava/lang/String;
3: aload 0
aload 1
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
iconst_0
invokevirtual org.h2.engine.Database.getTrace:(I)Lorg/h2/message/Trace;
putfield org.h2.command.Command.trace:Lorg/h2/message/Trace;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/command/Command;
0 5 1 session Lorg/h2/engine/Session;
0 5 2 sql Ljava/lang/String;
MethodParameters:
Name Flags
session
sql
public abstract boolean isTransactional();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean isQuery();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract void prepareJoinBatch();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.util.ArrayList<? extends org.h2.expression.ParameterInterface> getParameters();
descriptor: ()Ljava/util/ArrayList;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Ljava/util/ArrayList<+Lorg/h2/expression/ParameterInterface;>;
public abstract boolean isReadOnly();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract org.h2.result.ResultInterface queryMeta();
descriptor: ()Lorg/h2/result/ResultInterface;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public int update();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc 90001
invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/command/Command;
public org.h2.result.ResultInterface query(int);
descriptor: (I)Lorg/h2/result/ResultInterface;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: ldc 90002
invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/command/Command;
0 1 1 maxrows I
MethodParameters:
Name Flags
maxrows
public final org.h2.result.ResultInterface getMetaData();
descriptor: ()Lorg/h2/result/ResultInterface;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.h2.command.Command.queryMeta:()Lorg/h2/result/ResultInterface;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/command/Command;
void start();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.command.Command.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isInfoEnabled:()Z
ifne 1
aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
invokevirtual org.h2.engine.Database.getQueryStatistics:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.System.nanoTime:()J
putfield org.h2.command.Command.startTimeNanos:J
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/command/Command;
void setProgress(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
iload 1
aload 0
getfield org.h2.command.Command.sql:Ljava/lang/String;
iconst_0
iconst_0
invokevirtual org.h2.engine.Database.setProgress:(ILjava/lang/String;II)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/command/Command;
0 2 1 state I
MethodParameters:
Name Flags
state
protected void checkCanceled();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.command.Command.cancel:Z
ifeq 3
1: aload 0
iconst_0
putfield org.h2.command.Command.cancel:Z
2: ldc 57014
invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
athrow
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/command/Command;
public void stop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
aconst_null
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.h2.engine.Session.setCurrentCommand:(Lorg/h2/command/Command;Ljava/lang/Object;)V
1: aload 0
invokevirtual org.h2.command.Command.isTransactional:()Z
ifne 4
2: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
iconst_1
invokevirtual org.h2.engine.Session.commit:(Z)V
3: goto 8
StackMap locals:
StackMap stack:
4: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getAutoCommit:()Z
ifeq 7
5: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
iconst_0
invokevirtual org.h2.engine.Session.commit:(Z)V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.unlockReadLocks:()V
8: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.endStatement:()V
9: aload 0
getfield org.h2.command.Command.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isInfoEnabled:()Z
ifeq 13
aload 0
getfield org.h2.command.Command.startTimeNanos:J
lconst_0
lcmp
ifle 13
10: invokestatic java.lang.System.nanoTime:()J
aload 0
getfield org.h2.command.Command.startTimeNanos:J
lsub
ldc 1000
ldiv
ldc 1000
ldiv
lstore 1
start local 1 11: lload 1
ldc 100
lcmp
ifle 13
12: aload 0
getfield org.h2.command.Command.trace:Lorg/h2/message/Trace;
ldc "slow query: {0} ms"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual org.h2.message.Trace.info:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 1 13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/h2/command/Command;
11 13 1 timeMillis J
public org.h2.result.ResultInterface executeQuery(int, boolean);
descriptor: (IZ)Lorg/h2/result/ResultInterface;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 0
lconst_0
putfield org.h2.command.Command.startTimeNanos:J
1: lconst_0
lstore 3
start local 3 2: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
astore 5
start local 5 3: aload 5
invokevirtual org.h2.engine.Database.isMultiThreaded:()Z
ifne 4
aload 5
invokevirtual org.h2.engine.Database.getStore:()Lorg/h2/mvstore/db/MVTableEngine$Store;
ifnull 5
StackMap locals: long org.h2.engine.Database
StackMap stack:
4: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
goto 6
StackMap locals:
StackMap stack:
5: aload 5
StackMap locals:
StackMap stack: java.lang.Object
6: astore 6
start local 6 7: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.waitIfExclusiveModeEnabled:()V
8: iconst_1
istore 7
start local 7 9: aload 0
invokevirtual org.h2.command.Command.isReadOnly:()Z
ifeq 10
iconst_0
goto 11
StackMap locals: java.lang.Object int
StackMap stack:
10: iconst_1
StackMap locals:
StackMap stack: int
11: istore 8
start local 8 12: iload 8
ifeq 14
13: StackMap locals: int
StackMap stack:
aload 5
invokevirtual org.h2.engine.Database.beforeWriting:()Z
ifeq 13
14: StackMap locals:
StackMap stack:
aload 6
dup
astore 9
monitorenter
15: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.startStatementWithinTransaction:()V
16: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
aload 0
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.h2.engine.Session.setCurrentCommand:(Lorg/h2/command/Command;Ljava/lang/Object;)V
17: StackMap locals: java.lang.Object
StackMap stack:
aload 5
invokevirtual org.h2.engine.Database.checkPowerOff:()V
18: aload 0
iload 1
invokevirtual org.h2.command.Command.query:(I)Lorg/h2/result/ResultInterface;
astore 10
start local 10 19: aload 10
invokeinterface org.h2.result.ResultInterface.isLazy:()Z
ifeq 20
iconst_0
goto 21
StackMap locals: org.h2.result.ResultInterface
StackMap stack:
20: iconst_1
StackMap locals:
StackMap stack: int
21: istore 7
22: aload 5
invokevirtual org.h2.engine.Database.getMode:()Lorg/h2/engine/Mode;
getfield org.h2.engine.Mode.padFixedLengthStrings:Z
ifeq 30
23: aload 10
invokestatic org.h2.result.ResultWithPaddedStrings.get:(Lorg/h2/result/ResultInterface;)Lorg/h2/result/ResultInterface;
astore 13
24: iload 7
ifeq 26
25: aload 0
invokevirtual org.h2.command.Command.stop:()V
26: StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.result.ResultInterface top top org.h2.result.ResultInterface
StackMap stack:
iload 8
ifeq 28
27: aload 5
invokevirtual org.h2.engine.Database.afterWriting:()V
28: StackMap locals:
StackMap stack:
aload 9
monitorexit
29: aload 13
areturn
30: StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.result.ResultInterface
StackMap stack:
aload 10
astore 13
31: iload 7
ifeq 33
32: aload 0
invokevirtual org.h2.command.Command.stop:()V
33: StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.result.ResultInterface top top org.h2.result.ResultInterface
StackMap stack:
iload 8
ifeq 35
34: aload 5
invokevirtual org.h2.engine.Database.afterWriting:()V
35: StackMap locals:
StackMap stack:
aload 9
monitorexit
36: aload 13
areturn
end local 10 37: StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object
StackMap stack: org.h2.message.DbException
astore 10
start local 10 38: aload 0
aload 10
lload 3
invokevirtual org.h2.command.Command.filterConcurrentUpdate:(Lorg/h2/message/DbException;J)J
lstore 3
end local 10 39: goto 17
40: StackMap locals:
StackMap stack: java.lang.OutOfMemoryError
astore 10
start local 10 41: iconst_0
istore 7
42: aload 5
invokevirtual org.h2.engine.Database.shutdownImmediately:()V
43: aload 10
invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
athrow
end local 10 44: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
start local 10 45: aload 10
invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
athrow
end local 10 46: StackMap locals:
StackMap stack: org.h2.message.DbException
astore 10
start local 10 47: aload 10
aload 0
getfield org.h2.command.Command.sql:Ljava/lang/String;
invokevirtual org.h2.message.DbException.addSQL:(Ljava/lang/String;)Lorg/h2/message/DbException;
astore 10
48: aload 10
invokevirtual org.h2.message.DbException.getSQLException:()Ljava/sql/SQLException;
astore 11
start local 11 49: aload 5
aload 11
aload 0
getfield org.h2.command.Command.sql:Ljava/lang/String;
invokevirtual org.h2.engine.Database.exceptionThrown:(Ljava/sql/SQLException;Ljava/lang/String;)V
50: aload 11
invokevirtual java.sql.SQLException.getErrorCode:()I
ldc 90108
if_icmpne 54
51: iconst_0
istore 7
52: aload 5
invokevirtual org.h2.engine.Database.shutdownImmediately:()V
53: aload 10
athrow
54: StackMap locals: org.h2.message.DbException java.sql.SQLException
StackMap stack:
aload 5
invokevirtual org.h2.engine.Database.checkPowerOff:()V
55: aload 10
athrow
end local 11 end local 10 56: StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object
StackMap stack: java.lang.Throwable
astore 12
57: iload 7
ifeq 59
58: aload 0
invokevirtual org.h2.command.Command.stop:()V
59: StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object top top java.lang.Throwable
StackMap stack:
iload 8
ifeq 61
60: aload 5
invokevirtual org.h2.engine.Database.afterWriting:()V
61: StackMap locals:
StackMap stack:
aload 12
athrow
62: StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object
StackMap stack: java.lang.Throwable
aload 9
monitorexit
63: athrow
end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 64 0 this Lorg/h2/command/Command;
0 64 1 maxrows I
0 64 2 scrollable Z
2 64 3 start J
3 64 5 database Lorg/h2/engine/Database;
7 64 6 sync Ljava/lang/Object;
9 64 7 callStop Z
12 64 8 writing Z
19 37 10 result Lorg/h2/result/ResultInterface;
38 39 10 e Lorg/h2/message/DbException;
41 44 10 e Ljava/lang/OutOfMemoryError;
45 46 10 e Ljava/lang/Throwable;
47 56 10 e Lorg/h2/message/DbException;
49 56 11 s Ljava/sql/SQLException;
Exception table:
from to target type
18 24 37 Class org.h2.message.DbException
30 31 37 Class org.h2.message.DbException
18 24 40 Class java.lang.OutOfMemoryError
30 31 40 Class java.lang.OutOfMemoryError
18 24 44 Class java.lang.Throwable
30 31 44 Class java.lang.Throwable
17 24 46 Class org.h2.message.DbException
30 31 46 Class org.h2.message.DbException
37 46 46 Class org.h2.message.DbException
17 24 56 any
30 31 56 any
37 56 56 any
15 29 62 any
30 36 62 any
37 63 62 any
MethodParameters:
Name Flags
maxrows
scrollable
public org.h2.result.ResultWithGeneratedKeys executeUpdate(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/h2/result/ResultWithGeneratedKeys;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=18, args_size=2
start local 0 start local 1 0: lconst_0
lstore 2
start local 2 1: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
astore 4
start local 4 2: aload 4
invokevirtual org.h2.engine.Database.isMultiThreaded:()Z
ifne 3
aload 4
invokevirtual org.h2.engine.Database.getStore:()Lorg/h2/mvstore/db/MVTableEngine$Store;
ifnull 4
StackMap locals: long org.h2.engine.Database
StackMap stack:
3: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
goto 5
StackMap locals:
StackMap stack:
4: aload 4
StackMap locals:
StackMap stack: java.lang.Object
5: astore 5
start local 5 6: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.waitIfExclusiveModeEnabled:()V
7: iconst_1
istore 6
start local 6 8: aload 0
invokevirtual org.h2.command.Command.isReadOnly:()Z
ifeq 9
iconst_0
goto 10
StackMap locals: java.lang.Object int
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: istore 7
start local 7 11: iload 7
ifeq 13
12: StackMap locals: int
StackMap stack:
aload 4
invokevirtual org.h2.engine.Database.beforeWriting:()Z
ifeq 12
13: StackMap locals:
StackMap stack:
aload 5
dup
astore 8
monitorenter
14: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.setSavepoint:()Lorg/h2/engine/Session$Savepoint;
astore 9
start local 9 15: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.startStatementWithinTransaction:()V
16: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
aload 0
aload 1
invokevirtual org.h2.engine.Session.setCurrentCommand:(Lorg/h2/command/Command;Ljava/lang/Object;)V
17: aconst_null
astore 10
start local 10 18: StackMap locals: java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException
StackMap stack:
aload 4
invokevirtual org.h2.engine.Database.checkPowerOff:()V
19: aload 0
invokevirtual org.h2.command.Command.update:()I
istore 11
start local 11 20: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
aload 1
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifne 41
21: new org.h2.result.ResultWithGeneratedKeys$WithKeys
dup
iload 11
22: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getGeneratedKeys:()Lorg/h2/engine/GeneratedKeys;
aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.GeneratedKeys.getKeys:(Lorg/h2/engine/Session;)Lorg/h2/result/LocalResult;
23: invokespecial org.h2.result.ResultWithGeneratedKeys$WithKeys.<init>:(ILorg/h2/result/ResultInterface;)V
astore 15
24: iload 6
ifeq 37
25: aload 0
invokevirtual org.h2.command.Command.stop:()V
26: goto 37
StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys
StackMap stack: java.lang.Throwable
27: astore 16
start local 16 28: aload 10
ifnonnull 30
29: aload 16
athrow
30: StackMap locals: java.lang.Throwable
StackMap stack:
aload 10
aload 16
invokevirtual org.h2.message.DbException.addSuppressed:(Ljava/lang/Throwable;)V
end local 16 31: iload 7
ifeq 39
32: aload 4
invokevirtual org.h2.engine.Database.afterWriting:()V
goto 39
33: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys
StackMap stack: java.lang.Throwable
astore 17
34: iload 7
ifeq 36
35: aload 4
invokevirtual org.h2.engine.Database.afterWriting:()V
36: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys top java.lang.Throwable
StackMap stack:
aload 17
athrow
37: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys
StackMap stack:
iload 7
ifeq 39
38: aload 4
invokevirtual org.h2.engine.Database.afterWriting:()V
39: StackMap locals:
StackMap stack:
aload 8
monitorexit
40: aload 15
areturn
41: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int
StackMap stack:
iload 11
invokestatic org.h2.result.ResultWithGeneratedKeys.of:(I)Lorg/h2/result/ResultWithGeneratedKeys;
astore 15
42: iload 6
ifeq 55
43: aload 0
invokevirtual org.h2.command.Command.stop:()V
44: goto 55
StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys
StackMap stack: java.lang.Throwable
45: astore 16
start local 16 46: aload 10
ifnonnull 48
47: aload 16
athrow
48: StackMap locals: java.lang.Throwable
StackMap stack:
aload 10
aload 16
invokevirtual org.h2.message.DbException.addSuppressed:(Ljava/lang/Throwable;)V
end local 16 49: iload 7
ifeq 57
50: aload 4
invokevirtual org.h2.engine.Database.afterWriting:()V
goto 57
51: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys
StackMap stack: java.lang.Throwable
astore 17
52: iload 7
ifeq 54
53: aload 4
invokevirtual org.h2.engine.Database.afterWriting:()V
54: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys top java.lang.Throwable
StackMap stack:
aload 17
athrow
55: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys
StackMap stack:
iload 7
ifeq 57
56: aload 4
invokevirtual org.h2.engine.Database.afterWriting:()V
57: StackMap locals:
StackMap stack:
aload 8
monitorexit
58: aload 15
areturn
end local 11 59: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException
StackMap stack: org.h2.message.DbException
astore 11
start local 11 60: aload 0
aload 11
lload 2
invokevirtual org.h2.command.Command.filterConcurrentUpdate:(Lorg/h2/message/DbException;J)J
lstore 2
end local 11 61: goto 18
62: StackMap locals:
StackMap stack: java.lang.OutOfMemoryError
astore 11
start local 11 63: iconst_0
istore 6
64: aload 4
invokevirtual org.h2.engine.Database.shutdownImmediately:()V
65: aload 11
invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
athrow
end local 11 66: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
start local 11 67: aload 11
invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
athrow
end local 11 68: StackMap locals:
StackMap stack: org.h2.message.DbException
astore 11
start local 11 69: aload 11
aload 0
getfield org.h2.command.Command.sql:Ljava/lang/String;
invokevirtual org.h2.message.DbException.addSQL:(Ljava/lang/String;)Lorg/h2/message/DbException;
astore 11
70: aload 11
invokevirtual org.h2.message.DbException.getSQLException:()Ljava/sql/SQLException;
astore 12
start local 12 71: aload 4
aload 12
aload 0
getfield org.h2.command.Command.sql:Ljava/lang/String;
invokevirtual org.h2.engine.Database.exceptionThrown:(Ljava/sql/SQLException;Ljava/lang/String;)V
72: aload 12
invokevirtual java.sql.SQLException.getErrorCode:()I
ldc 90108
if_icmpne 76
73: iconst_0
istore 6
74: aload 4
invokevirtual org.h2.engine.Database.shutdownImmediately:()V
75: aload 11
athrow
76: StackMap locals: org.h2.message.DbException java.sql.SQLException
StackMap stack:
aload 4
invokevirtual org.h2.engine.Database.checkPowerOff:()V
77: aload 12
invokevirtual java.sql.SQLException.getErrorCode:()I
ldc 40001
if_icmpne 80
78: aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.rollback:()V
79: goto 84
80: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
aload 9
invokevirtual org.h2.engine.Session.rollbackTo:(Lorg/h2/engine/Session$Savepoint;)V
81: goto 84
StackMap locals:
StackMap stack: java.lang.Throwable
82: astore 13
start local 13 83: aload 11
aload 13
invokevirtual org.h2.message.DbException.addSuppressed:(Ljava/lang/Throwable;)V
end local 13 84: StackMap locals:
StackMap stack:
aload 11
astore 10
85: aload 11
athrow
end local 12 end local 11 86: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException
StackMap stack: java.lang.Throwable
astore 14
87: iload 6
ifeq 100
88: aload 0
invokevirtual org.h2.command.Command.stop:()V
89: goto 100
StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException top top top java.lang.Throwable
StackMap stack: java.lang.Throwable
90: astore 16
start local 16 91: aload 10
ifnonnull 93
92: aload 16
athrow
93: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException top top top java.lang.Throwable top java.lang.Throwable
StackMap stack:
aload 10
aload 16
invokevirtual org.h2.message.DbException.addSuppressed:(Ljava/lang/Throwable;)V
end local 16 94: iload 7
ifeq 102
95: aload 4
invokevirtual org.h2.engine.Database.afterWriting:()V
goto 102
96: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException top top top java.lang.Throwable
StackMap stack: java.lang.Throwable
astore 17
97: iload 7
ifeq 99
98: aload 4
invokevirtual org.h2.engine.Database.afterWriting:()V
99: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException top top top java.lang.Throwable top top java.lang.Throwable
StackMap stack:
aload 17
athrow
100: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException top top top java.lang.Throwable
StackMap stack:
iload 7
ifeq 102
101: aload 4
invokevirtual org.h2.engine.Database.afterWriting:()V
102: StackMap locals:
StackMap stack:
aload 14
athrow
end local 10 end local 9 103: StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object
StackMap stack: java.lang.Throwable
aload 8
monitorexit
104: athrow
end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 105 0 this Lorg/h2/command/Command;
0 105 1 generatedKeysRequest Ljava/lang/Object;
1 105 2 start J
2 105 4 database Lorg/h2/engine/Database;
6 105 5 sync Ljava/lang/Object;
8 105 6 callStop Z
11 105 7 writing Z
15 103 9 rollback Lorg/h2/engine/Session$Savepoint;
18 103 10 ex Lorg/h2/message/DbException;
20 59 11 updateCount I
60 61 11 e Lorg/h2/message/DbException;
63 66 11 e Ljava/lang/OutOfMemoryError;
67 68 11 e Ljava/lang/Throwable;
69 86 11 e Lorg/h2/message/DbException;
71 86 12 s Ljava/sql/SQLException;
83 84 13 nested Ljava/lang/Throwable;
28 31 16 nested Ljava/lang/Throwable;
46 49 16 nested Ljava/lang/Throwable;
91 94 16 nested Ljava/lang/Throwable;
Exception table:
from to target type
24 26 27 Class java.lang.Throwable
24 31 33 any
42 44 45 Class java.lang.Throwable
42 49 51 any
19 24 59 Class org.h2.message.DbException
41 42 59 Class org.h2.message.DbException
19 24 62 Class java.lang.OutOfMemoryError
41 42 62 Class java.lang.OutOfMemoryError
19 24 66 Class java.lang.Throwable
41 42 66 Class java.lang.Throwable
18 24 68 Class org.h2.message.DbException
41 42 68 Class org.h2.message.DbException
59 68 68 Class org.h2.message.DbException
76 81 82 Class java.lang.Throwable
18 24 86 any
41 42 86 any
59 86 86 any
87 89 90 Class java.lang.Throwable
87 94 96 any
14 40 103 any
41 58 103 any
59 104 103 any
MethodParameters:
Name Flags
generatedKeysRequest
private long filterConcurrentUpdate(org.h2.message.DbException, long);
descriptor: (Lorg/h2/message/DbException;J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.h2.message.DbException.getErrorCode:()I
istore 4
start local 4 1: iload 4
ldc 90131
if_icmpeq 5
2: iload 4
ldc 90143
if_icmpeq 5
3: iload 4
ldc 90112
if_icmpeq 5
4: aload 1
athrow
5: StackMap locals: int
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lstore 5
start local 5 6: lload 2
lconst_0
lcmp
ifeq 8
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
lload 5
lload 2
lsub
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getLockTimeout:()I
i2l
lcmp
ifle 8
7: ldc 50200
aload 1
iconst_0
anewarray java.lang.String
invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
8: StackMap locals: long
StackMap stack:
aload 0
getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
astore 7
start local 7 9: aload 7
invokevirtual org.h2.engine.Database.getStore:()Lorg/h2/mvstore/db/MVTableEngine$Store;
ifnonnull 19
10: iconst_1
bipush 10
invokestatic org.h2.util.MathUtils.randomInt:(I)I
iadd
istore 8
start local 8 11: StackMap locals: org.h2.engine.Database int
StackMap stack:
aload 7
invokevirtual org.h2.engine.Database.isMultiThreaded:()Z
ifeq 14
12: iload 8
i2l
invokestatic java.lang.Thread.sleep:(J)V
13: goto 17
14: StackMap locals:
StackMap stack:
aload 7
iload 8
i2l
invokevirtual java.lang.Object.wait:(J)V
15: goto 17
StackMap locals:
StackMap stack: java.lang.InterruptedException
16: pop
17: StackMap locals:
StackMap stack:
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic java.lang.System.nanoTime:()J
lload 5
lsub
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lstore 9
start local 9 18: lload 9
iload 8
i2l
lcmp
iflt 11
end local 9 end local 8 19: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifne 20
lload 5
goto 21
StackMap locals:
StackMap stack:
20: lload 2
StackMap locals:
StackMap stack: long
21: lreturn
end local 7 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/h2/command/Command;
0 22 1 e Lorg/h2/message/DbException;
0 22 2 start J
1 22 4 errorCode I
6 22 5 now J
9 22 7 database Lorg/h2/engine/Database;
11 19 8 sleep I
18 19 9 slept J
Exception table:
from to target type
11 15 16 Class java.lang.InterruptedException
MethodParameters:
Name Flags
e
start
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.h2.command.Command.canReuse:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/command/Command;
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.h2.command.Command.cancel:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/command/Command;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield org.h2.command.Command.sql:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.h2.command.Command.getParameters:()Ljava/util/ArrayList;
invokestatic org.h2.message.Trace.formatParams:(Ljava/util/ArrayList;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/command/Command;
public boolean isCacheable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/command/Command;
public boolean canReuse();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.command.Command.canReuse:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/command/Command;
public void reuse();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.h2.command.Command.canReuse:Z
1: aload 0
invokevirtual org.h2.command.Command.getParameters:()Ljava/util/ArrayList;
astore 1
start local 1 2: aload 1
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.h2.command.Command java.util.ArrayList top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.expression.ParameterInterface
astore 2
start local 2 4: aload 2
aconst_null
iconst_1
invokeinterface org.h2.expression.ParameterInterface.setValue:(Lorg/h2/value/Value;Z)V
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/command/Command;
2 7 1 parameters Ljava/util/ArrayList<+Lorg/h2/expression/ParameterInterface;>;
4 5 2 param Lorg/h2/expression/ParameterInterface;
public void setCanReuse(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.h2.command.Command.canReuse:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/command/Command;
0 2 1 canReuse Z
MethodParameters:
Name Flags
canReuse
}
SourceFile: "Command.java"
InnerClasses:
public Savepoint = org.h2.engine.Session$Savepoint of org.h2.engine.Session
public Store = org.h2.mvstore.db.MVTableEngine$Store of org.h2.mvstore.db.MVTableEngine
public final WithKeys = org.h2.result.ResultWithGeneratedKeys$WithKeys of org.h2.result.ResultWithGeneratedKeys