public class org.h2.tools.Recover extends org.h2.util.Tool implements org.h2.store.DataHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.tools.Recover
super_class: org.h2.util.Tool
{
private java.lang.String databaseName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int storageId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String storageName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int recordLength;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int valueId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean trace;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean transactionLog;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<org.h2.engine.MetaRecord> schema;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lorg/h2/engine/MetaRecord;>;
private java.util.HashSet<java.lang.Integer> objectIdSet;
descriptor: Ljava/util/HashSet;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashSet<Ljava/lang/Integer;>;
private java.util.HashMap<java.lang.Integer, java.lang.String> tableMap;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/Integer;Ljava/lang/String;>;
private java.util.HashMap<java.lang.String, java.lang.String> columnTypeMap;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
private boolean remove;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int pageSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.h2.store.FileStore store;
descriptor: Lorg/h2/store/FileStore;
flags: (0x0002) ACC_PRIVATE
private int[] parents;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private org.h2.tools.Recover$Stats stat;
descriptor: Lorg/h2/tools/Recover$Stats;
flags: (0x0002) ACC_PRIVATE
private boolean lobMaps;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.h2.util.Tool.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=1, args_size=1
start local 0 0: new org.h2.tools.Recover
dup
invokespecial org.h2.tools.Recover.<init>:()V
aload 0
invokevirtual org.h2.tools.Recover.runTool:([Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 args [Ljava/lang/String;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
args
public void runTool(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: ldc "."
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 25
4: StackMap locals: java.lang.String java.lang.String int
StackMap stack:
aload 1
iload 4
aaload
astore 5
start local 5 5: ldc "-dir"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 1
iinc 4 1
iload 4
aaload
astore 2
7: goto 24
StackMap locals: java.lang.String
StackMap stack:
8: ldc "-db"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
9: aload 1
iinc 4 1
iload 4
aaload
astore 3
10: goto 24
StackMap locals:
StackMap stack:
11: ldc "-removePassword"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
12: aload 0
iconst_1
putfield org.h2.tools.Recover.remove:Z
13: goto 24
StackMap locals:
StackMap stack:
14: ldc "-trace"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
15: aload 0
iconst_1
putfield org.h2.tools.Recover.trace:Z
16: goto 24
StackMap locals:
StackMap stack:
17: ldc "-transactionLog"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
18: aload 0
iconst_1
putfield org.h2.tools.Recover.transactionLog:Z
19: goto 24
StackMap locals:
StackMap stack:
20: aload 5
ldc "-help"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
aload 5
ldc "-?"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.tools.Recover.showUsage:()V
22: return
23: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual org.h2.tools.Recover.showUsageAndThrowUnsupportedOption:(Ljava/lang/String;)Ljava/sql/SQLException;
pop
end local 5 24: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
25: aload 1
ifnull 26
iload 4
aload 1
arraylength
if_icmplt 4
end local 4 26: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual org.h2.tools.Recover.process:(Ljava/lang/String;Ljava/lang/String;)V
27: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/h2/tools/Recover;
0 28 1 args [Ljava/lang/String;
1 28 2 dir Ljava/lang/String;
2 28 3 db Ljava/lang/String;
3 26 4 i I
5 24 5 arg Ljava/lang/String;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
args
public static java.io.Reader readClob(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/Reader;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 0
invokestatic org.h2.tools.Recover.readBlob:(Ljava/lang/String;)Ljava/io/InputStream;
1: getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
2: invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 fileName Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fileName
public static java.io.InputStream readBlob(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.io.BufferedInputStream
dup
aload 0
invokestatic org.h2.store.fs.FileUtils.newInputStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 fileName Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fileName
public static org.h2.value.ValueLobDb readBlobDb(java.sql.Connection, long, long);
descriptor: (Ljava/sql/Connection;JJ)Lorg/h2/value/ValueLobDb;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=7, args_size=3
start local 0 start local 1 start local 3 0: aload 0
checkcast org.h2.jdbc.JdbcConnection
invokevirtual org.h2.jdbc.JdbcConnection.getSession:()Lorg/h2/engine/SessionInterface;
invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
astore 5
start local 5 1: aload 5
invokestatic org.h2.tools.Recover.verifyPageStore:(Lorg/h2/store/DataHandler;)V
2: bipush 15
aload 5
bipush -2
3: lload 1
aconst_null
lload 3
4: invokestatic org.h2.value.ValueLobDb.create:(ILorg/h2/store/DataHandler;IJ[BJ)Lorg/h2/value/ValueLobDb;
astore 6
start local 6 5: aload 6
iconst_1
invokevirtual org.h2.value.ValueLobDb.setRecoveryReference:(Z)V
6: aload 6
areturn
end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 conn Ljava/sql/Connection;
0 7 1 lobId J
0 7 3 precision J
1 7 5 h Lorg/h2/store/DataHandler;
5 7 6 lob Lorg/h2/value/ValueLobDb;
MethodParameters:
Name Flags
conn
lobId
precision
private static void verifyPageStore(org.h2.store.DataHandler);
descriptor: (Lorg/h2/store/DataHandler;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface org.h2.store.DataHandler.getLobStorage:()Lorg/h2/store/LobStorageInterface;
instanceof org.h2.store.LobStorageMap
ifeq 4
1: ldc 50100
2: ldc "Restore page store recovery SQL script can only be restored to a PageStore file"
3: invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 h Lorg/h2/store/DataHandler;
MethodParameters:
Name Flags
h
public static org.h2.value.ValueLobDb readClobDb(java.sql.Connection, long, long);
descriptor: (Ljava/sql/Connection;JJ)Lorg/h2/value/ValueLobDb;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=7, args_size=3
start local 0 start local 1 start local 3 0: aload 0
checkcast org.h2.jdbc.JdbcConnection
invokevirtual org.h2.jdbc.JdbcConnection.getSession:()Lorg/h2/engine/SessionInterface;
invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
astore 5
start local 5 1: aload 5
invokestatic org.h2.tools.Recover.verifyPageStore:(Lorg/h2/store/DataHandler;)V
2: bipush 16
aload 5
bipush -2
3: lload 1
aconst_null
lload 3
4: invokestatic org.h2.value.ValueLobDb.create:(ILorg/h2/store/DataHandler;IJ[BJ)Lorg/h2/value/ValueLobDb;
astore 6
start local 6 5: aload 6
iconst_1
invokevirtual org.h2.value.ValueLobDb.setRecoveryReference:(Z)V
6: aload 6
areturn
end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 conn Ljava/sql/Connection;
0 7 1 lobId J
0 7 3 precision J
1 7 5 h Lorg/h2/store/DataHandler;
5 7 6 lob Lorg/h2/value/ValueLobDb;
MethodParameters:
Name Flags
conn
lobId
precision
public static java.io.InputStream readBlobMap(java.sql.Connection, long, long);
descriptor: (Ljava/sql/Connection;JJ)Ljava/io/InputStream;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: aload 0
1: ldc "SELECT DATA FROM INFORMATION_SCHEMA.LOB_BLOCKS WHERE LOB_ID = ? AND SEQ = ? AND ? > 0"
2: invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 5
start local 5 3: aload 5
iconst_1
lload 1
invokeinterface java.sql.PreparedStatement.setLong:(IJ)V
4: aload 5
iconst_3
lload 3
invokeinterface java.sql.PreparedStatement.setLong:(IJ)V
5: new java.io.SequenceInputStream
dup
6: new org.h2.tools.Recover$1
dup
aload 5
invokespecial org.h2.tools.Recover$1.<init>:(Ljava/sql/PreparedStatement;)V
7: invokespecial java.io.SequenceInputStream.<init>:(Ljava/util/Enumeration;)V
areturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 conn Ljava/sql/Connection;
0 8 1 lobId J
0 8 3 precision J
3 8 5 prep Ljava/sql/PreparedStatement;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
lobId
precision
public static java.io.Reader readClobMap(java.sql.Connection, long, long);
descriptor: (Ljava/sql/Connection;JJ)Ljava/io/Reader;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
lload 3
invokestatic org.h2.tools.Recover.readBlobMap:(Ljava/sql/Connection;JJ)Ljava/io/InputStream;
astore 5
start local 5 1: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 5
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
areturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 conn Ljava/sql/Connection;
0 2 1 lobId J
0 2 3 precision J
1 2 5 in Ljava/io/InputStream;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
conn
lobId
precision
private void trace(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.tools.Recover.trace:Z
ifeq 2
1: aload 0
getfield org.h2.tools.Recover.out:Ljava/io/PrintStream;
aload 1
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/tools/Recover;
0 3 1 message Ljava/lang/String;
MethodParameters:
Name Flags
message
private void traceError(java.lang.String, java.lang.Throwable);
descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.tools.Recover.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: aload 0
getfield org.h2.tools.Recover.trace:Z
ifeq 3
2: aload 2
aload 0
getfield org.h2.tools.Recover.out:Ljava/io/PrintStream;
invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintStream;)V
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/tools/Recover;
0 4 1 message Ljava/lang/String;
0 4 2 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
message
t
public static void execute(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new org.h2.tools.Recover
dup
invokespecial org.h2.tools.Recover.<init>:()V
aload 0
aload 1
invokevirtual org.h2.tools.Recover.process:(Ljava/lang/String;Ljava/lang/String;)V
1: goto 4
StackMap locals:
StackMap stack: org.h2.message.DbException
2: astore 2
start local 2 3: aload 2
invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
athrow
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 dir Ljava/lang/String;
0 5 1 db Ljava/lang/String;
3 4 2 e Lorg/h2/message/DbException;
Exception table:
from to target type
0 1 2 Class org.h2.message.DbException
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
dir
db
private void process(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
iconst_1
invokestatic org.h2.store.FileLister.getDatabaseFiles:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/ArrayList;
astore 3
start local 3 1: aload 3
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 3
2: aload 0
aload 1
aload 2
invokevirtual org.h2.tools.Recover.printNoDatabaseFilesFound:(Ljava/lang/String;Ljava/lang/String;)V
3: StackMap locals: java.util.ArrayList
StackMap stack:
aload 3
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 34
StackMap locals: org.h2.tools.Recover java.lang.String java.lang.String java.util.ArrayList top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 5: aload 4
ldc ".h2.db"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 8
6: aload 0
aload 4
invokevirtual org.h2.tools.Recover.dumpPageStore:(Ljava/lang/String;)V
7: goto 34
StackMap locals: org.h2.tools.Recover java.lang.String java.lang.String java.util.ArrayList java.lang.String java.util.Iterator
StackMap stack:
8: aload 4
ldc ".lob.db"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 11
9: aload 0
aload 4
iconst_0
invokevirtual org.h2.tools.Recover.dumpLob:(Ljava/lang/String;Z)V
10: goto 34
StackMap locals:
StackMap stack:
11: aload 4
ldc ".mv.db"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 34
12: aload 4
iconst_0
aload 4
invokevirtual java.lang.String.length:()I
13: ldc ".h2.db"
invokevirtual java.lang.String.length:()I
isub
14: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 6
start local 6 15: aconst_null
astore 7
aconst_null
astore 8
16: aload 0
aload 4
ldc ".txt"
invokevirtual org.h2.tools.Recover.getWriter:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/PrintWriter;
astore 9
start local 9 17: aload 4
aload 9
iconst_1
invokestatic org.h2.mvstore.MVStoreTool.dump:(Ljava/lang/String;Ljava/io/Writer;Z)V
18: aload 4
aload 9
invokestatic org.h2.mvstore.MVStoreTool.info:(Ljava/lang/String;Ljava/io/Writer;)Ljava/lang/String;
pop
19: aload 9
ifnull 25
aload 9
invokevirtual java.io.PrintWriter.close:()V
goto 25
StackMap locals: org.h2.tools.Recover java.lang.String java.lang.String java.util.ArrayList java.lang.String java.util.Iterator java.lang.String java.lang.Throwable java.lang.Throwable java.io.PrintWriter
StackMap stack: java.lang.Throwable
20: astore 7
aload 9
ifnull 21
aload 9
invokevirtual java.io.PrintWriter.close:()V
end local 9 StackMap locals:
StackMap stack:
21: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 8
aload 7
ifnonnull 23
aload 8
astore 7
goto 24
StackMap locals:
StackMap stack:
23: aload 7
aload 8
if_acmpeq 24
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
24: aload 7
athrow
25: StackMap locals:
StackMap stack:
aconst_null
astore 7
aconst_null
astore 8
26: aload 0
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".h2.db"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc ".sql"
invokevirtual org.h2.tools.Recover.getWriter:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/PrintWriter;
astore 9
start local 9 27: aload 0
aload 9
aload 4
invokevirtual org.h2.tools.Recover.dumpMVStoreFile:(Ljava/io/PrintWriter;Ljava/lang/String;)V
28: aload 9
ifnull 34
aload 9
invokevirtual java.io.PrintWriter.close:()V
goto 34
StackMap locals: org.h2.tools.Recover java.lang.String java.lang.String java.util.ArrayList java.lang.String java.util.Iterator java.lang.String java.lang.Throwable java.lang.Throwable java.io.PrintWriter
StackMap stack: java.lang.Throwable
29: astore 7
aload 9
ifnull 30
aload 9
invokevirtual java.io.PrintWriter.close:()V
end local 9 StackMap locals:
StackMap stack:
30: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
31: astore 8
aload 7
ifnonnull 32
aload 8
astore 7
goto 33
StackMap locals:
StackMap stack:
32: aload 7
aload 8
if_acmpeq 33
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
33: aload 7
athrow
end local 6 end local 4 34: StackMap locals: org.h2.tools.Recover java.lang.String java.lang.String java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
35: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/h2/tools/Recover;
0 36 1 dir Ljava/lang/String;
0 36 2 db Ljava/lang/String;
1 36 3 list Ljava/util/ArrayList<Ljava/lang/String;>;
5 34 4 fileName Ljava/lang/String;
15 34 6 f Ljava/lang/String;
17 21 9 writer Ljava/io/PrintWriter;
27 30 9 writer Ljava/io/PrintWriter;
Exception table:
from to target type
17 19 20 any
16 22 22 any
27 28 29 any
26 31 31 any
MethodParameters:
Name Flags
dir
db
private java.io.PrintWriter getWriter(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/io/PrintWriter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
iconst_3
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
1: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 2: aload 0
new java.lang.StringBuilder
dup
ldc "Created file: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.h2.tools.Recover.trace:(Ljava/lang/String;)V
3: new java.io.PrintWriter
dup
4: aload 3
iconst_0
invokestatic org.h2.store.fs.FileUtils.newOutputStream:(Ljava/lang/String;Z)Ljava/io/OutputStream;
5: invokestatic org.h2.util.IOUtils.getBufferedWriter:(Ljava/io/OutputStream;)Ljava/io/Writer;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
6: areturn
7: StackMap locals: org.h2.tools.Recover java.lang.String java.lang.String java.lang.String
StackMap stack: java.io.IOException
astore 4
start local 4 8: aload 4
aconst_null
invokestatic org.h2.message.DbException.convertIOException:(Ljava/io/IOException;Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/h2/tools/Recover;
0 9 1 fileName Ljava/lang/String;
0 9 2 suffix Ljava/lang/String;
2 9 3 outputFile Ljava/lang/String;
8 9 4 e Ljava/io/IOException;
Exception table:
from to target type
3 6 7 Class java.io.IOException
MethodParameters:
Name Flags
fileName
suffix
private void writeDataError(java.io.PrintWriter, java.lang.String, byte[]);
descriptor: (Ljava/io/PrintWriter;Ljava/lang/String;[B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
new java.lang.StringBuilder
dup
ldc "-- ERROR: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " storageId: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: aload 0
getfield org.h2.tools.Recover.storageId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " recordLength: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.recordLength:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " valueId: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.valueId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 4: aload 3
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 12
StackMap locals: org.h2.tools.Recover java.io.PrintWriter java.lang.String byte[] java.lang.StringBuilder top int int byte[]
StackMap stack:
5: aload 8
iload 6
baload
istore 5
start local 5 6: iload 5
sipush 255
iand
istore 9
start local 9 7: iload 9
bipush 32
if_icmplt 10
iload 9
sipush 128
if_icmpge 10
8: aload 4
iload 9
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: goto 11
10: StackMap locals: org.h2.tools.Recover java.io.PrintWriter java.lang.String byte[] java.lang.StringBuilder int int int byte[] int
StackMap stack:
aload 4
bipush 63
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 9 end local 5 11: StackMap locals: org.h2.tools.Recover java.io.PrintWriter java.lang.String byte[] java.lang.StringBuilder top int int byte[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
12: iload 6
iload 7
if_icmplt 5
13: aload 1
new java.lang.StringBuilder
dup
ldc "-- dump: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
14: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
15: aload 3
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 23
StackMap locals:
StackMap stack:
16: aload 8
iload 6
baload
istore 5
start local 5 17: iload 5
sipush 255
iand
istore 9
start local 9 18: aload 4
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: iload 9
bipush 16
if_icmpge 21
20: aload 4
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
21: StackMap locals: org.h2.tools.Recover java.io.PrintWriter java.lang.String byte[] java.lang.StringBuilder int int int byte[] int
StackMap stack:
aload 4
iload 9
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 9 end local 5 22: iinc 6 1
StackMap locals: org.h2.tools.Recover java.io.PrintWriter java.lang.String byte[] java.lang.StringBuilder top int int byte[]
StackMap stack:
23: iload 6
iload 7
if_icmplt 16
24: aload 1
new java.lang.StringBuilder
dup
ldc "-- dump: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
25: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/h2/tools/Recover;
0 26 1 writer Ljava/io/PrintWriter;
0 26 2 error Ljava/lang/String;
0 26 3 data [B
4 26 4 sb Ljava/lang/StringBuilder;
6 11 5 aData1 B
7 11 9 x I
17 22 5 aData B
18 22 9 x I
MethodParameters:
Name Flags
writer
error
data
private void dumpLob(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: lconst_0
lstore 5
start local 5 3: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
ifeq 4
ldc ".comp"
goto 5
StackMap locals: org.h2.tools.Recover java.lang.String int java.io.OutputStream org.h2.store.FileStore long
StackMap stack: java.lang.StringBuilder
4: ldc ""
StackMap locals: org.h2.tools.Recover java.lang.String int java.io.OutputStream org.h2.store.FileStore long
StackMap stack: java.lang.StringBuilder java.lang.String
5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".txt"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 6: aconst_null
astore 8
start local 8 7: aload 7
iconst_0
invokestatic org.h2.store.fs.FileUtils.newOutputStream:(Ljava/lang/String;Z)Ljava/io/OutputStream;
astore 3
8: aconst_null
aload 1
ldc "r"
invokestatic org.h2.store.FileStore.open:(Lorg/h2/store/DataHandler;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/store/FileStore;
astore 4
9: aload 4
invokevirtual org.h2.store.FileStore.init:()V
10: new org.h2.store.FileStoreInputStream
dup
aload 4
aload 0
iload 2
iconst_0
invokespecial org.h2.store.FileStoreInputStream.<init>:(Lorg/h2/store/FileStore;Lorg/h2/store/DataHandler;ZZ)V
astore 8
11: aload 8
aload 3
invokestatic org.h2.util.IOUtils.copy:(Ljava/io/InputStream;Ljava/io/OutputStream;)J
lstore 5
12: goto 22
StackMap locals: org.h2.tools.Recover java.lang.String int java.io.OutputStream org.h2.store.FileStore long java.lang.String java.io.InputStream
StackMap stack: java.lang.Throwable
13: pop
14: aload 3
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
15: aload 8
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
16: aload 4
invokestatic org.h2.tools.Recover.closeSilently:(Lorg/h2/store/FileStore;)V
goto 25
17: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
18: aload 3
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
19: aload 8
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
20: aload 4
invokestatic org.h2.tools.Recover.closeSilently:(Lorg/h2/store/FileStore;)V
21: aload 9
athrow
22: StackMap locals:
StackMap stack:
aload 3
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
23: aload 8
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
24: aload 4
invokestatic org.h2.tools.Recover.closeSilently:(Lorg/h2/store/FileStore;)V
25: StackMap locals:
StackMap stack:
lload 5
lconst_0
lcmp
ifne 30
26: aload 7
invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
27: goto 30
StackMap locals:
StackMap stack: java.lang.Exception
28: astore 9
start local 9 29: aload 0
aload 7
aload 9
invokevirtual org.h2.tools.Recover.traceError:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 9 30: StackMap locals:
StackMap stack:
return
end local 8 end local 7 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 31 0 this Lorg/h2/tools/Recover;
0 31 1 fileName Ljava/lang/String;
0 31 2 lobCompression Z
1 31 3 fileOut Ljava/io/OutputStream;
2 31 4 fileStore Lorg/h2/store/FileStore;
3 31 5 size J
6 31 7 n Ljava/lang/String;
7 31 8 in Ljava/io/InputStream;
29 30 9 e Ljava/lang/Exception;
Exception table:
from to target type
7 12 13 Class java.lang.Throwable
7 14 17 any
26 27 28 Class java.lang.Exception
MethodParameters:
Name Flags
fileName
lobCompression
private void getSQL(java.lang.StringBuilder, java.lang.String, org.h2.value.Value);
descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Lorg/h2/value/Value;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
instanceof org.h2.value.ValueLob
ifeq 13
1: aload 3
checkcast org.h2.value.ValueLob
astore 4
start local 4 2: aload 4
invokevirtual org.h2.value.ValueLob.getSmall:()[B
astore 5
start local 5 3: aload 5
ifnonnull 33
4: aload 4
invokevirtual org.h2.value.ValueLob.getFileName:()Ljava/lang/String;
astore 6
start local 6 5: aload 4
invokevirtual org.h2.value.ValueLob.getValueType:()I
bipush 15
if_icmpne 6
ldc "BLOB"
goto 7
StackMap locals: org.h2.value.ValueLob byte[] java.lang.String
StackMap stack:
6: ldc "CLOB"
StackMap locals:
StackMap stack: java.lang.String
7: astore 7
start local 7 8: aload 4
invokevirtual org.h2.value.ValueLob.isCompressed:()Z
ifeq 11
9: aload 0
aload 6
iconst_1
invokevirtual org.h2.tools.Recover.dumpLob:(Ljava/lang/String;Z)V
10: new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".comp"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
11: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc "READ_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "('"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".txt')"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: return
end local 7 end local 6 end local 5 end local 4 13: StackMap locals: org.h2.tools.Recover java.lang.StringBuilder java.lang.String org.h2.value.Value
StackMap stack:
aload 3
instanceof org.h2.value.ValueLobDb
ifeq 33
14: aload 3
checkcast org.h2.value.ValueLobDb
astore 4
start local 4 15: aload 4
invokevirtual org.h2.value.ValueLobDb.getSmall:()[B
astore 5
start local 5 16: aload 5
ifnonnull 33
17: aload 4
invokevirtual org.h2.value.ValueLobDb.getValueType:()I
istore 6
start local 6 18: aload 4
invokevirtual org.h2.value.ValueLobDb.getLobId:()J
lstore 7
start local 7 19: aload 4
invokevirtual org.h2.value.ValueLobDb.getType:()Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getPrecision:()J
lstore 9
start local 9 20: iload 6
bipush 15
if_icmpne 24
21: ldc "BLOB"
astore 11
start local 11 22: aload 1
ldc "READ_BLOB"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: goto 26
end local 11 24: StackMap locals: org.h2.tools.Recover java.lang.StringBuilder java.lang.String org.h2.value.Value org.h2.value.ValueLobDb byte[] int long long
StackMap stack:
ldc "CLOB"
astore 11
start local 11 25: aload 1
ldc "READ_CLOB"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.h2.tools.Recover.lobMaps:Z
ifeq 29
27: aload 1
ldc "_MAP"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
28: goto 30
29: StackMap locals:
StackMap stack:
aload 1
ldc "_DB"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
30: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Recover.columnTypeMap:Ljava/util/HashMap;
aload 2
aload 11
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
31: aload 1
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
lload 7
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 9
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
32: return
end local 11 end local 9 end local 7 end local 6 end local 5 end local 4 33: StackMap locals: org.h2.tools.Recover java.lang.StringBuilder java.lang.String org.h2.value.Value
StackMap stack:
aload 3
aload 1
invokevirtual org.h2.value.Value.getSQL:(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
pop
34: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/h2/tools/Recover;
0 35 1 builder Ljava/lang/StringBuilder;
0 35 2 column Ljava/lang/String;
0 35 3 v Lorg/h2/value/Value;
2 13 4 lob Lorg/h2/value/ValueLob;
3 13 5 small [B
5 13 6 file Ljava/lang/String;
8 13 7 type Ljava/lang/String;
15 33 4 lob Lorg/h2/value/ValueLobDb;
16 33 5 small [B
18 33 6 type I
19 33 7 id J
20 33 9 precision J
22 24 11 columnType Ljava/lang/String;
25 33 11 columnType Ljava/lang/String;
MethodParameters:
Name Flags
builder
column
v
private void setDatabaseName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.h2.tools.Recover.databaseName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Recover;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private void dumpPageStore(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=24, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
1: ldc ".h2.db"
invokevirtual java.lang.String.length:()I
isub
2: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual org.h2.tools.Recover.setDatabaseName:(Ljava/lang/String;)V
3: aconst_null
astore 2
start local 2 4: aload 0
new org.h2.tools.Recover$Stats
dup
invokespecial org.h2.tools.Recover$Stats.<init>:()V
putfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
5: aload 0
aload 1
ldc ".sql"
invokevirtual org.h2.tools.Recover.getWriter:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/PrintWriter;
astore 2
6: aload 2
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS READ_BLOB FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".readBlob\";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
9: aload 2
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS READ_CLOB FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".readClob\";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
12: aload 2
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS READ_BLOB_DB FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".readBlobDb\";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
15: aload 2
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS READ_CLOB_DB FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".readClobDb\";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
18: aload 0
invokevirtual org.h2.tools.Recover.resetSchema:()V
19: aload 0
aconst_null
aload 1
aload 0
getfield org.h2.tools.Recover.remove:Z
ifeq 20
ldc "rw"
goto 21
StackMap locals: org.h2.tools.Recover java.lang.String java.io.PrintWriter
StackMap stack: org.h2.tools.Recover null java.lang.String
20: ldc "r"
StackMap locals: org.h2.tools.Recover java.lang.String java.io.PrintWriter
StackMap stack: org.h2.tools.Recover null java.lang.String java.lang.String
21: invokestatic org.h2.store.FileStore.open:(Lorg/h2/store/DataHandler;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/store/FileStore;
putfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
22: aload 0
getfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
invokevirtual org.h2.store.FileStore.length:()J
lstore 3
start local 3 23: aload 0
getfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
invokevirtual org.h2.store.FileStore.init:()V
24: goto 27
StackMap locals: org.h2.tools.Recover java.lang.String java.io.PrintWriter long
StackMap stack: java.lang.Exception
25: astore 5
start local 5 26: aload 0
aload 2
aload 5
invokevirtual org.h2.tools.Recover.writeError:(Ljava/io/PrintWriter;Ljava/lang/Throwable;)V
end local 5 27: StackMap locals:
StackMap stack:
aload 0
sipush 128
iconst_0
invokestatic org.h2.store.Data.create:(Lorg/h2/store/DataHandler;IZ)Lorg/h2/store/Data;
astore 5
start local 5 28: aload 0
lconst_0
invokevirtual org.h2.tools.Recover.seek:(J)V
29: aload 0
getfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
aload 5
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
sipush 128
invokevirtual org.h2.store.FileStore.readFully:([BII)V
30: aload 5
bipush 48
invokevirtual org.h2.store.Data.setPos:(I)V
31: aload 0
aload 5
invokevirtual org.h2.store.Data.readInt:()I
putfield org.h2.tools.Recover.pageSize:I
32: aload 5
invokevirtual org.h2.store.Data.readByte:()B
istore 6
start local 6 33: aload 5
invokevirtual org.h2.store.Data.readByte:()B
istore 7
start local 7 34: aload 2
new java.lang.StringBuilder
dup
ldc "-- pageSize: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.tools.Recover.pageSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
35: ldc " writeVersion: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
36: ldc " readVersion: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
37: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
38: aload 0
getfield org.h2.tools.Recover.pageSize:I
bipush 64
if_icmplt 40
39: aload 0
getfield org.h2.tools.Recover.pageSize:I
ldc 32768
if_icmple 42
40: StackMap locals: org.h2.store.Data int int
StackMap stack:
aload 0
sipush 4096
putfield org.h2.tools.Recover.pageSize:I
41: aload 2
new java.lang.StringBuilder
dup
ldc "-- ERROR: page size; using "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.tools.Recover.pageSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
42: StackMap locals:
StackMap stack:
lload 3
aload 0
getfield org.h2.tools.Recover.pageSize:I
i2l
ldiv
lstore 8
start local 8 43: aload 0
lload 8
l2i
newarray 10
putfield org.h2.tools.Recover.parents:[I
44: aload 0
aload 0
getfield org.h2.tools.Recover.pageSize:I
iconst_0
invokestatic org.h2.store.Data.create:(Lorg/h2/store/DataHandler;IZ)Lorg/h2/store/Data;
astore 5
45: ldc 3
lstore 10
start local 10 46: goto 54
47: StackMap locals: long long
StackMap stack:
aload 5
invokevirtual org.h2.store.Data.reset:()V
48: aload 0
lload 10
invokevirtual org.h2.tools.Recover.seek:(J)V
49: aload 0
getfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
aload 5
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
bipush 32
invokevirtual org.h2.store.FileStore.readFully:([BII)V
50: aload 5
invokevirtual org.h2.store.Data.readByte:()B
pop
51: aload 5
invokevirtual org.h2.store.Data.readShortInt:()S
pop
52: aload 0
getfield org.h2.tools.Recover.parents:[I
lload 10
l2i
aload 5
invokevirtual org.h2.store.Data.readInt:()I
iastore
53: lload 10
lconst_1
ladd
lstore 10
StackMap locals:
StackMap stack:
54: lload 10
lload 8
lcmp
iflt 47
end local 10 55: iconst_0
istore 10
start local 10 56: iconst_0
istore 11
start local 11 57: iconst_0
istore 12
start local 12 58: aload 0
aload 0
getfield org.h2.tools.Recover.pageSize:I
iconst_0
invokestatic org.h2.store.Data.create:(Lorg/h2/store/DataHandler;IZ)Lorg/h2/store/Data;
astore 5
59: lconst_1
lstore 13
start local 13 60: StackMap locals: org.h2.tools.Recover java.lang.String java.io.PrintWriter long org.h2.store.Data int int long int int int long
StackMap stack:
lload 13
ldc 3
lcmp
ifne 62
61: goto 86
62: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.h2.store.Data.reset:()V
63: aload 0
lload 13
invokevirtual org.h2.tools.Recover.seek:(J)V
64: aload 0
getfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
aload 5
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
aload 0
getfield org.h2.tools.Recover.pageSize:I
invokevirtual org.h2.store.FileStore.readFully:([BII)V
65: new java.util.zip.CRC32
dup
invokespecial java.util.zip.CRC32.<init>:()V
astore 15
start local 15 66: aload 15
aload 5
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_4
aload 0
getfield org.h2.tools.Recover.pageSize:I
iconst_4
isub
invokevirtual java.util.zip.CRC32.update:([BII)V
67: aload 15
invokevirtual java.util.zip.CRC32.getValue:()J
l2i
istore 16
start local 16 68: aload 5
invokevirtual org.h2.store.Data.readInt:()I
istore 17
start local 17 69: aload 5
invokevirtual org.h2.store.Data.readLong:()J
lstore 18
start local 18 70: aload 5
invokevirtual org.h2.store.Data.readInt:()I
istore 20
start local 20 71: aload 5
invokevirtual org.h2.store.Data.readInt:()I
istore 21
start local 21 72: aload 5
invokevirtual org.h2.store.Data.readInt:()I
istore 22
start local 22 73: iload 16
iload 17
if_icmpne 77
74: iload 20
istore 10
75: iload 21
istore 11
76: iload 22
istore 12
77: StackMap locals: org.h2.tools.Recover java.lang.String java.io.PrintWriter long org.h2.store.Data int int long int int int long java.util.zip.CRC32 int int long int int int
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "-- head "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 13
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
78: ldc ": writeCounter: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 18
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
79: ldc " log "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 20
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 21
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 22
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
80: ldc " crc "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 17
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 16
iload 17
if_icmpne 82
81: ldc "ok"
goto 83
StackMap locals: org.h2.tools.Recover java.lang.String java.io.PrintWriter long org.h2.store.Data int int long int int int long java.util.zip.CRC32 int int long int int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder
82: new java.lang.StringBuilder
dup
ldc "expected: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 16
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: org.h2.tools.Recover java.lang.String java.io.PrintWriter long org.h2.store.Data int int long int int int long java.util.zip.CRC32 int int long int int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder java.lang.String
83: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
84: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 22 end local 21 end local 20 end local 18 end local 17 end local 16 end local 15 85: lload 13
lconst_1
ladd
lstore 13
goto 60
end local 13 86: StackMap locals: org.h2.tools.Recover java.lang.String java.io.PrintWriter long org.h2.store.Data int int long int int int
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "-- log "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
87: ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 12
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
88: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
89: new java.io.PrintWriter
dup
new org.h2.tools.Recover$2
dup
aload 0
invokespecial org.h2.tools.Recover$2.<init>:(Lorg/h2/tools/Recover;)V
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
astore 13
start local 13 90: aload 0
aload 13
lload 8
invokevirtual org.h2.tools.Recover.dumpPageStore:(Ljava/io/PrintWriter;J)V
91: aload 0
new org.h2.tools.Recover$Stats
dup
invokespecial org.h2.tools.Recover$Stats.<init>:()V
putfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
92: aload 0
getfield org.h2.tools.Recover.schema:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
93: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.h2.tools.Recover.objectIdSet:Ljava/util/HashSet;
94: aload 0
aload 2
lload 8
invokevirtual org.h2.tools.Recover.dumpPageStore:(Ljava/io/PrintWriter;J)V
95: aload 0
aload 2
invokevirtual org.h2.tools.Recover.writeSchemaSET:(Ljava/io/PrintWriter;)V
96: aload 0
aload 2
invokevirtual org.h2.tools.Recover.writeSchema:(Ljava/io/PrintWriter;)V
97: aload 0
aload 2
iload 10
iload 11
98: iload 12
lload 8
99: invokevirtual org.h2.tools.Recover.dumpPageLogStream:(Ljava/io/PrintWriter;IIIJ)V
100: goto 102
StackMap locals: org.h2.tools.Recover java.lang.String java.io.PrintWriter long org.h2.store.Data int int long int int int java.io.PrintWriter
StackMap stack: java.io.IOException
101: pop
102: StackMap locals:
StackMap stack:
aload 2
ldc "---- Statistics ----"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
103: aload 2
new java.lang.StringBuilder
dup
ldc "-- page count: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 8
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ", free: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.free:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
104: lconst_1
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageDataRows:J
105: aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageDataEmpty:J
ladd
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageDataHead:J
ladd
106: invokestatic java.lang.Math.max:(JJ)J
lstore 14
start local 14 107: aload 2
new java.lang.StringBuilder
dup
ldc "-- page data bytes: head "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageDataHead:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
108: ldc ", empty "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageDataEmpty:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
109: ldc ", rows "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageDataRows:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
110: ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc 100
ldc 100
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageDataEmpty:J
lmul
lload 14
ldiv
lsub
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "% full)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
111: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
112: iconst_0
istore 16
start local 16 113: goto 120
114: StackMap locals: long int
StackMap stack:
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageTypeCount:[I
iload 16
iaload
istore 17
start local 17 115: iload 17
ifle 119
116: aload 2
new java.lang.StringBuilder
dup
ldc "-- "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 16
invokestatic org.h2.tools.Recover.getPageType:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
117: bipush 100
iload 17
imul
i2l
lload 8
ldiv
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "%, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 17
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " page(s)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
118: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 17 119: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
120: iload 16
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageTypeCount:[I
arraylength
if_icmplt 114
end local 16 121: aload 2
invokevirtual java.io.PrintWriter.close:()V
end local 14 end local 13 end local 12 end local 11 end local 10 end local 8 end local 7 end local 6 end local 5 end local 3 122: goto 131
StackMap locals: org.h2.tools.Recover java.lang.String java.io.PrintWriter
StackMap stack: java.lang.Throwable
123: astore 3
start local 3 124: aload 0
aload 2
aload 3
invokevirtual org.h2.tools.Recover.writeError:(Ljava/io/PrintWriter;Ljava/lang/Throwable;)V
end local 3 125: aload 2
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
126: aload 0
getfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
invokestatic org.h2.tools.Recover.closeSilently:(Lorg/h2/store/FileStore;)V
goto 133
127: StackMap locals:
StackMap stack: java.lang.Throwable
astore 23
128: aload 2
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
129: aload 0
getfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
invokestatic org.h2.tools.Recover.closeSilently:(Lorg/h2/store/FileStore;)V
130: aload 23
athrow
131: StackMap locals:
StackMap stack:
aload 2
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
132: aload 0
getfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
invokestatic org.h2.tools.Recover.closeSilently:(Lorg/h2/store/FileStore;)V
133: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 134 0 this Lorg/h2/tools/Recover;
0 134 1 fileName Ljava/lang/String;
4 134 2 writer Ljava/io/PrintWriter;
23 122 3 length J
26 27 5 e Ljava/lang/Exception;
28 122 5 s Lorg/h2/store/Data;
33 122 6 writeVersion I
34 122 7 readVersion I
43 122 8 pageCount J
46 55 10 i J
56 122 10 logKey I
57 122 11 logFirstTrunkPage I
58 122 12 logFirstDataPage I
60 86 13 i J
66 85 15 crc Ljava/util/zip/CRC32;
68 85 16 expected I
69 85 17 got I
70 85 18 writeCounter J
71 85 20 key I
72 85 21 firstTrunkPage I
73 85 22 firstDataPage I
90 122 13 devNull Ljava/io/PrintWriter;
107 122 14 total J
113 121 16 i I
115 119 17 count I
124 125 3 e Ljava/lang/Throwable;
Exception table:
from to target type
23 24 25 Class java.lang.Exception
97 100 101 Class java.io.IOException
5 122 123 Class java.lang.Throwable
5 125 127 any
MethodParameters:
Name Flags
fileName
private void dumpMVStoreFile(java.io.PrintWriter, java.lang.String);
descriptor: (Ljava/io/PrintWriter;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=18, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "-- MVStore"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
1: aload 1
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS READ_BLOB FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".readBlob\";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: aload 1
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS READ_CLOB FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".readClob\";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
7: aload 1
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS READ_BLOB_DB FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".readBlobDb\";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
10: aload 1
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS READ_CLOB_DB FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".readClobDb\";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
13: aload 1
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS READ_BLOB_MAP FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".readBlobMap\";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
16: aload 1
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS READ_CLOB_MAP FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".readClobMap\";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
19: aload 0
invokevirtual org.h2.tools.Recover.resetSchema:()V
20: aload 0
aload 2
iconst_0
aload 2
invokevirtual java.lang.String.length:()I
21: ldc ".mv.db"
invokevirtual java.lang.String.length:()I
isub
22: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual org.h2.tools.Recover.setDatabaseName:(Ljava/lang/String;)V
23: new org.h2.mvstore.MVStore$Builder
dup
invokespecial org.h2.mvstore.MVStore$Builder.<init>:()V
24: aload 2
invokevirtual org.h2.mvstore.MVStore$Builder.fileName:(Ljava/lang/String;)Lorg/h2/mvstore/MVStore$Builder;
invokevirtual org.h2.mvstore.MVStore$Builder.readOnly:()Lorg/h2/mvstore/MVStore$Builder;
invokevirtual org.h2.mvstore.MVStore$Builder.open:()Lorg/h2/mvstore/MVStore;
25: astore 3
start local 3 26: aload 0
aload 1
aload 3
invokevirtual org.h2.tools.Recover.dumpLobMaps:(Ljava/io/PrintWriter;Lorg/h2/mvstore/MVStore;)V
27: aload 1
ldc "-- Meta"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
28: aload 1
aload 3
invokestatic org.h2.tools.Recover.dumpMeta:(Ljava/io/PrintWriter;Lorg/h2/mvstore/MVStore;)V
29: aload 1
ldc "-- Tables"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
30: new org.h2.mvstore.tx.TransactionStore
dup
aload 3
invokespecial org.h2.mvstore.tx.TransactionStore.<init>:(Lorg/h2/mvstore/MVStore;)V
astore 4
start local 4 31: aload 4
invokevirtual org.h2.mvstore.tx.TransactionStore.init:()V
32: goto 35
StackMap locals: org.h2.tools.Recover java.io.PrintWriter java.lang.String org.h2.mvstore.MVStore org.h2.mvstore.tx.TransactionStore
StackMap stack: java.lang.Throwable
33: astore 5
start local 5 34: aload 0
aload 1
aload 5
invokevirtual org.h2.tools.Recover.writeError:(Ljava/io/PrintWriter;Ljava/lang/Throwable;)V
end local 5 35: StackMap locals:
StackMap stack:
new org.h2.mvstore.db.ValueDataType
dup
invokespecial org.h2.mvstore.db.ValueDataType.<init>:()V
astore 5
start local 5 36: aload 3
invokevirtual org.h2.mvstore.MVStore.getMapNames:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 60
StackMap locals: org.h2.tools.Recover java.io.PrintWriter java.lang.String org.h2.mvstore.MVStore org.h2.mvstore.tx.TransactionStore org.h2.mvstore.db.ValueDataType top java.util.Iterator
StackMap stack:
37: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 38: aload 6
ldc "table."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 40
39: goto 60
40: StackMap locals: org.h2.tools.Recover java.io.PrintWriter java.lang.String org.h2.mvstore.MVStore org.h2.mvstore.tx.TransactionStore org.h2.mvstore.db.ValueDataType java.lang.String java.util.Iterator
StackMap stack:
aload 6
ldc "table."
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 8
start local 8 41: aload 8
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
ifne 60
42: aload 4
invokevirtual org.h2.mvstore.tx.TransactionStore.begin:()Lorg/h2/mvstore/tx/Transaction;
aload 6
aload 5
aload 5
invokevirtual org.h2.mvstore.tx.Transaction.openMap:(Ljava/lang/String;Lorg/h2/mvstore/type/DataType;Lorg/h2/mvstore/type/DataType;)Lorg/h2/mvstore/tx/TransactionMap;
astore 9
start local 9 43: aload 9
aconst_null
invokevirtual org.h2.mvstore.tx.TransactionMap.keyIterator:(Ljava/lang/Object;)Ljava/util/Iterator;
astore 10
start local 10 44: goto 59
45: StackMap locals: java.lang.String org.h2.mvstore.tx.TransactionMap java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.value.Value
astore 11
start local 11 46: aload 9
aload 11
invokevirtual org.h2.mvstore.tx.TransactionMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.h2.value.ValueArray
47: invokevirtual org.h2.value.ValueArray.getList:()[Lorg/h2/value/Value;
48: astore 12
start local 12 49: new org.h2.result.SimpleRow
dup
aload 12
invokespecial org.h2.result.SimpleRow.<init>:([Lorg/h2/value/Value;)V
astore 13
start local 13 50: new org.h2.engine.MetaRecord
dup
aload 13
invokespecial org.h2.engine.MetaRecord.<init>:(Lorg/h2/result/SearchRow;)V
astore 14
start local 14 51: aload 0
getfield org.h2.tools.Recover.schema:Ljava/util/ArrayList;
aload 14
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
52: aload 14
invokevirtual org.h2.engine.MetaRecord.getObjectType:()I
ifne 59
53: aload 12
iconst_3
aaload
invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
astore 15
start local 15 54: aload 15
invokestatic org.h2.tools.Recover.extractTableOrViewName:(Ljava/lang/String;)Ljava/lang/String;
astore 16
start local 16 55: aload 0
getfield org.h2.tools.Recover.tableMap:Ljava/util/HashMap;
aload 14
invokevirtual org.h2.engine.MetaRecord.getId:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 16
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 16 end local 15 end local 14 end local 13 56: goto 59
StackMap locals: org.h2.tools.Recover java.io.PrintWriter java.lang.String org.h2.mvstore.MVStore org.h2.mvstore.tx.TransactionStore org.h2.mvstore.db.ValueDataType java.lang.String java.util.Iterator java.lang.String org.h2.mvstore.tx.TransactionMap java.util.Iterator org.h2.value.Value org.h2.value.Value[]
StackMap stack: java.lang.Throwable
57: astore 13
start local 13 58: aload 0
aload 1
aload 13
invokevirtual org.h2.tools.Recover.writeError:(Ljava/io/PrintWriter;Ljava/lang/Throwable;)V
end local 13 end local 12 end local 11 59: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 45
end local 10 end local 9 end local 8 end local 6 60: StackMap locals: org.h2.tools.Recover java.io.PrintWriter java.lang.String org.h2.mvstore.MVStore org.h2.mvstore.tx.TransactionStore org.h2.mvstore.db.ValueDataType top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 37
61: aload 0
aload 1
invokevirtual org.h2.tools.Recover.writeSchemaSET:(Ljava/io/PrintWriter;)V
62: aload 1
ldc "---- Table Data ----"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
63: aload 3
invokevirtual org.h2.mvstore.MVStore.getMapNames:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 101
StackMap locals:
StackMap stack:
64: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 65: aload 6
ldc "table."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 67
66: goto 101
67: StackMap locals: org.h2.tools.Recover java.io.PrintWriter java.lang.String org.h2.mvstore.MVStore org.h2.mvstore.tx.TransactionStore org.h2.mvstore.db.ValueDataType java.lang.String java.util.Iterator
StackMap stack:
aload 6
ldc "table."
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 8
start local 8 68: aload 8
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
ifne 70
69: goto 101
70: StackMap locals: java.lang.String
StackMap stack:
aload 4
invokevirtual org.h2.mvstore.tx.TransactionStore.begin:()Lorg/h2/mvstore/tx/Transaction;
aload 6
aload 5
aload 5
invokevirtual org.h2.mvstore.tx.Transaction.openMap:(Ljava/lang/String;Lorg/h2/mvstore/type/DataType;Lorg/h2/mvstore/type/DataType;)Lorg/h2/mvstore/tx/TransactionMap;
astore 9
start local 9 71: aload 9
aconst_null
invokevirtual org.h2.mvstore.tx.TransactionMap.keyIterator:(Ljava/lang/Object;)Ljava/util/Iterator;
astore 10
start local 10 72: iconst_0
istore 11
start local 11 73: goto 100
74: StackMap locals: org.h2.mvstore.tx.TransactionMap java.util.Iterator int
StackMap stack:
aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.value.Value
astore 12
start local 12 75: aload 9
aload 12
invokevirtual org.h2.mvstore.tx.TransactionMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.h2.value.ValueArray
invokevirtual org.h2.value.ValueArray.getList:()[Lorg/h2/value/Value;
astore 13
start local 13 76: aload 0
aload 13
arraylength
putfield org.h2.tools.Recover.recordLength:I
77: iload 11
ifne 88
78: aload 0
aload 8
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
invokevirtual org.h2.tools.Recover.setStorage:(I)Ljava/lang/String;
pop
79: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 14
start local 14 80: aload 0
iconst_0
putfield org.h2.tools.Recover.valueId:I
goto 85
81: StackMap locals: org.h2.value.Value org.h2.value.Value[] java.lang.StringBuilder
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield org.h2.tools.Recover.storageName:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.valueId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
start local 15 82: aload 14
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
83: aload 0
aload 14
aload 15
aload 13
aload 0
getfield org.h2.tools.Recover.valueId:I
aaload
invokevirtual org.h2.tools.Recover.getSQL:(Ljava/lang/StringBuilder;Ljava/lang/String;Lorg/h2/value/Value;)V
end local 15 84: aload 0
dup
getfield org.h2.tools.Recover.valueId:I
iconst_1
iadd
putfield org.h2.tools.Recover.valueId:I
StackMap locals:
StackMap stack:
85: aload 0
getfield org.h2.tools.Recover.valueId:I
aload 0
getfield org.h2.tools.Recover.recordLength:I
if_icmplt 81
86: aload 0
aload 1
invokevirtual org.h2.tools.Recover.createTemporaryTable:(Ljava/io/PrintWriter;)V
87: iconst_1
istore 11
end local 14 88: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 14
start local 14 89: aload 14
ldc "INSERT INTO O_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
90: ldc " VALUES("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
91: aload 0
iconst_0
putfield org.h2.tools.Recover.valueId:I
goto 97
92: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 0
getfield org.h2.tools.Recover.valueId:I
ifle 94
93: aload 14
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
94: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield org.h2.tools.Recover.storageName:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.valueId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
start local 15 95: aload 0
aload 14
aload 15
aload 13
aload 0
getfield org.h2.tools.Recover.valueId:I
aaload
invokevirtual org.h2.tools.Recover.getSQL:(Ljava/lang/StringBuilder;Ljava/lang/String;Lorg/h2/value/Value;)V
end local 15 96: aload 0
dup
getfield org.h2.tools.Recover.valueId:I
iconst_1
iadd
putfield org.h2.tools.Recover.valueId:I
StackMap locals:
StackMap stack:
97: aload 0
getfield org.h2.tools.Recover.valueId:I
aload 0
getfield org.h2.tools.Recover.recordLength:I
if_icmplt 92
98: aload 14
ldc ");"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
99: aload 1
aload 14
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 14 end local 13 end local 12 100: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 74
end local 11 end local 10 end local 9 end local 8 end local 6 101: StackMap locals: org.h2.tools.Recover java.io.PrintWriter java.lang.String org.h2.mvstore.MVStore org.h2.mvstore.tx.TransactionStore org.h2.mvstore.db.ValueDataType top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 64
102: aload 0
aload 1
invokevirtual org.h2.tools.Recover.writeSchema:(Ljava/io/PrintWriter;)V
103: aload 1
ldc "DROP ALIAS READ_BLOB_MAP;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
104: aload 1
ldc "DROP ALIAS READ_CLOB_MAP;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
105: aload 1
ldc "DROP TABLE IF EXISTS INFORMATION_SCHEMA.LOB_BLOCKS;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 5 106: goto 113
StackMap locals: org.h2.tools.Recover java.io.PrintWriter java.lang.String org.h2.mvstore.MVStore org.h2.mvstore.tx.TransactionStore
StackMap stack: java.lang.Throwable
107: astore 5
start local 5 108: aload 0
aload 1
aload 5
invokevirtual org.h2.tools.Recover.writeError:(Ljava/io/PrintWriter;Ljava/lang/Throwable;)V
end local 5 109: aload 3
invokevirtual org.h2.mvstore.MVStore.close:()V
goto 114
110: StackMap locals:
StackMap stack: java.lang.Throwable
astore 17
111: aload 3
invokevirtual org.h2.mvstore.MVStore.close:()V
112: aload 17
athrow
113: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.h2.mvstore.MVStore.close:()V
114: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 115 0 this Lorg/h2/tools/Recover;
0 115 1 writer Ljava/io/PrintWriter;
0 115 2 fileName Ljava/lang/String;
26 115 3 mv Lorg/h2/mvstore/MVStore;
31 115 4 store Lorg/h2/mvstore/tx/TransactionStore;
34 35 5 e Ljava/lang/Throwable;
36 106 5 type Lorg/h2/mvstore/db/ValueDataType;
38 60 6 mapName Ljava/lang/String;
41 60 8 tableId Ljava/lang/String;
43 60 9 dataMap Lorg/h2/mvstore/tx/TransactionMap<Lorg/h2/value/Value;Lorg/h2/value/Value;>;
44 60 10 dataIt Ljava/util/Iterator<Lorg/h2/value/Value;>;
46 59 11 rowId Lorg/h2/value/Value;
49 59 12 values [Lorg/h2/value/Value;
50 56 13 r Lorg/h2/result/SimpleRow;
51 56 14 meta Lorg/h2/engine/MetaRecord;
54 56 15 sql Ljava/lang/String;
55 56 16 name Ljava/lang/String;
58 59 13 t Ljava/lang/Throwable;
65 101 6 mapName Ljava/lang/String;
68 101 8 tableId Ljava/lang/String;
71 101 9 dataMap Lorg/h2/mvstore/tx/TransactionMap<Lorg/h2/value/Value;Lorg/h2/value/Value;>;
72 101 10 dataIt Ljava/util/Iterator<Lorg/h2/value/Value;>;
73 101 11 init Z
75 100 12 rowId Lorg/h2/value/Value;
76 100 13 values [Lorg/h2/value/Value;
80 88 14 builder Ljava/lang/StringBuilder;
82 84 15 columnName Ljava/lang/String;
89 100 14 buff Ljava/lang/StringBuilder;
95 96 15 columnName Ljava/lang/String;
108 109 5 e Ljava/lang/Throwable;
Exception table:
from to target type
31 32 33 Class java.lang.Throwable
49 56 57 Class java.lang.Throwable
35 106 107 Class java.lang.Throwable
35 109 110 any
MethodParameters:
Name Flags
writer
fileName
private static void dumpMeta(java.io.PrintWriter, org.h2.mvstore.MVStore);
descriptor: (Ljava/io/PrintWriter;Lorg/h2/mvstore/MVStore;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.h2.mvstore.MVStore.getMetaMap:()Lorg/h2/mvstore/MVMap;
astore 2
start local 2 1: aload 2
invokevirtual org.h2.mvstore.MVMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: java.io.PrintWriter org.h2.mvstore.MVStore org.h2.mvstore.MVMap top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 3: aload 0
new java.lang.StringBuilder
dup
ldc "-- "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 writer Ljava/io/PrintWriter;
0 6 1 mv Lorg/h2/mvstore/MVStore;
1 6 2 meta Lorg/h2/mvstore/MVMap<Ljava/lang/String;Ljava/lang/String;>;
3 4 3 e Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
writer
mv
private void dumpLobMaps(java.io.PrintWriter, org.h2.mvstore.MVStore);
descriptor: (Ljava/io/PrintWriter;Lorg/h2/mvstore/MVStore;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=18, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
ldc "lobData"
invokevirtual org.h2.mvstore.MVStore.hasMap:(Ljava/lang/String;)Z
putfield org.h2.tools.Recover.lobMaps:Z
1: aload 0
getfield org.h2.tools.Recover.lobMaps:Z
ifne 3
2: return
3: StackMap locals:
StackMap stack:
aload 2
ldc "lobData"
invokevirtual org.h2.mvstore.MVStore.openMap:(Ljava/lang/String;)Lorg/h2/mvstore/MVMap;
astore 3
start local 3 4: new org.h2.mvstore.StreamStore
dup
aload 3
invokespecial org.h2.mvstore.StreamStore.<init>:(Ljava/util/Map;)V
astore 4
start local 4 5: aload 2
ldc "lobMap"
invokevirtual org.h2.mvstore.MVStore.openMap:(Ljava/lang/String;)Lorg/h2/mvstore/MVMap;
astore 5
start local 5 6: aload 1
ldc "-- LOB"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
7: aload 1
ldc "CREATE TABLE IF NOT EXISTS INFORMATION_SCHEMA.LOB_BLOCKS(LOB_ID BIGINT, SEQ INT, DATA BINARY, PRIMARY KEY(LOB_ID, SEQ));"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
8: iconst_0
istore 6
start local 6 9: aload 5
invokevirtual org.h2.mvstore.MVMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 31
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.mvstore.MVStore org.h2.mvstore.MVMap org.h2.mvstore.StreamStore org.h2.mvstore.MVMap int top java.util.Iterator
StackMap stack:
10: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 11: aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lstore 9
start local 9 12: aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Object[]
astore 11
start local 11 13: aload 11
iconst_0
aaload
checkcast byte[]
astore 12
start local 12 14: aload 4
aload 12
invokevirtual org.h2.mvstore.StreamStore.get:([B)Ljava/io/InputStream;
astore 13
start local 13 15: sipush 8192
istore 14
start local 14 16: iload 14
newarray 8
astore 15
start local 15 17: iconst_0
istore 16
start local 16 18: StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.mvstore.MVStore org.h2.mvstore.MVMap org.h2.mvstore.StreamStore org.h2.mvstore.MVMap int java.util.Map$Entry java.util.Iterator long java.lang.Object[] byte[] java.io.InputStream int byte[] int
StackMap stack:
aload 13
aload 15
aload 15
arraylength
invokestatic org.h2.util.IOUtils.readFully:(Ljava/io/InputStream;[BI)I
istore 17
start local 17 19: iload 17
ifle 25
20: aload 1
new java.lang.StringBuilder
dup
ldc "INSERT INTO INFORMATION_SCHEMA.LOB_BLOCKS VALUES("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
21: lload 9
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 16
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
23: aload 1
aload 15
iload 17
invokestatic org.h2.util.StringUtils.convertBytesToHex:([BI)Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
24: aload 1
ldc "');"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
25: StackMap locals: int
StackMap stack:
iload 17
iload 14
if_icmpeq 27
26: goto 31
end local 17 27: StackMap locals:
StackMap stack:
iinc 16 1
goto 18
end local 16 28: StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.mvstore.MVStore org.h2.mvstore.MVMap org.h2.mvstore.StreamStore org.h2.mvstore.MVMap int java.util.Map$Entry java.util.Iterator long java.lang.Object[] byte[] java.io.InputStream int byte[]
StackMap stack: java.io.IOException
astore 16
start local 16 29: aload 0
aload 1
aload 16
invokevirtual org.h2.tools.Recover.writeError:(Ljava/io/PrintWriter;Ljava/lang/Throwable;)V
30: iconst_1
istore 6
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 9 end local 7 31: StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.mvstore.MVStore org.h2.mvstore.MVMap org.h2.mvstore.StreamStore org.h2.mvstore.MVMap int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
32: aload 1
new java.lang.StringBuilder
dup
ldc "-- lobMap.size: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual org.h2.mvstore.MVMap.sizeAsLong:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
33: aload 1
new java.lang.StringBuilder
dup
ldc "-- lobData.size: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual org.h2.mvstore.MVMap.sizeAsLong:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
34: iload 6
ifeq 47
35: aload 1
ldc "-- lobMap"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
36: aload 5
invokevirtual org.h2.mvstore.MVMap.keyList:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 41
StackMap locals:
StackMap stack:
37: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Long
astore 7
start local 7 38: aload 5
aload 7
invokevirtual org.h2.mvstore.MVMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Object[]
astore 9
start local 9 39: aload 9
iconst_0
aaload
checkcast byte[]
astore 10
start local 10 40: aload 1
new java.lang.StringBuilder
dup
ldc "-- "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 10
invokestatic org.h2.mvstore.StreamStore.toString:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 10 end local 9 end local 7 41: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 37
42: aload 1
ldc "-- lobData"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
43: aload 3
invokevirtual org.h2.mvstore.MVMap.keyList:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 46
StackMap locals:
StackMap stack:
44: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Long
astore 7
start local 7 45: aload 1
new java.lang.StringBuilder
dup
ldc "-- "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " len "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
aload 7
invokevirtual org.h2.mvstore.MVMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 7 46: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 44
47: StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.mvstore.MVStore org.h2.mvstore.MVMap org.h2.mvstore.StreamStore org.h2.mvstore.MVMap int
StackMap stack:
return
end local 6 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 48 0 this Lorg/h2/tools/Recover;
0 48 1 writer Ljava/io/PrintWriter;
0 48 2 mv Lorg/h2/mvstore/MVStore;
4 48 3 lobData Lorg/h2/mvstore/MVMap<Ljava/lang/Long;[B>;
5 48 4 streamStore Lorg/h2/mvstore/StreamStore;
6 48 5 lobMap Lorg/h2/mvstore/MVMap<Ljava/lang/Long;[Ljava/lang/Object;>;
9 48 6 hasErrors Z
11 31 7 e Ljava/util/Map$Entry<Ljava/lang/Long;[Ljava/lang/Object;>;
12 31 9 lobId J
13 31 11 value [Ljava/lang/Object;
14 31 12 streamStoreId [B
15 31 13 in Ljava/io/InputStream;
16 31 14 len I
17 31 15 block [B
18 28 16 seq I
19 27 17 l I
29 31 16 ex Ljava/io/IOException;
38 41 7 k Ljava/lang/Long;
39 41 9 value [Ljava/lang/Object;
40 41 10 streamStoreId [B
45 46 7 k Ljava/lang/Long;
Exception table:
from to target type
17 28 28 Class java.io.IOException
MethodParameters:
Name Flags
writer
mv
private static java.lang.String getPageType(int);
descriptor: (I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
tableswitch { // 0 - 8
0: 1
1: 2
2: 3
3: 4
4: 5
5: 6
6: 7
7: 8
8: 9
default: 10
}
1: StackMap locals:
StackMap stack:
ldc "free"
areturn
2: StackMap locals:
StackMap stack:
ldc "data leaf"
areturn
3: StackMap locals:
StackMap stack:
ldc "data node"
areturn
4: StackMap locals:
StackMap stack:
ldc "data overflow"
areturn
5: StackMap locals:
StackMap stack:
ldc "btree leaf"
areturn
6: StackMap locals:
StackMap stack:
ldc "btree node"
areturn
7: StackMap locals:
StackMap stack:
ldc "free list"
areturn
8: StackMap locals:
StackMap stack:
ldc "stream trunk"
areturn
9: StackMap locals:
StackMap stack:
ldc "stream data"
areturn
10: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
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 11 0 type I
MethodParameters:
Name Flags
type
private void dumpPageStore(java.io.PrintWriter, long);
descriptor: (Ljava/io/PrintWriter;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.h2.tools.Recover.pageSize:I
iconst_0
invokestatic org.h2.store.Data.create:(Lorg/h2/store/DataHandler;IZ)Lorg/h2/store/Data;
astore 4
start local 4 1: ldc 3
lstore 5
start local 5 2: goto 8
3: StackMap locals: org.h2.store.Data long
StackMap stack:
aload 0
aload 0
getfield org.h2.tools.Recover.pageSize:I
iconst_0
invokestatic org.h2.store.Data.create:(Lorg/h2/store/DataHandler;IZ)Lorg/h2/store/Data;
astore 4
4: aload 0
lload 5
invokevirtual org.h2.tools.Recover.seek:(J)V
5: aload 0
getfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
aload 4
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
aload 0
getfield org.h2.tools.Recover.pageSize:I
invokevirtual org.h2.store.FileStore.readFully:([BII)V
6: aload 0
aload 1
aload 4
lload 5
lload 2
invokevirtual org.h2.tools.Recover.dumpPage:(Ljava/io/PrintWriter;Lorg/h2/store/Data;JJ)V
7: lload 5
lconst_1
ladd
lstore 5
StackMap locals:
StackMap stack:
8: lload 5
lload 2
lcmp
iflt 3
end local 5 9: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/h2/tools/Recover;
0 10 1 writer Ljava/io/PrintWriter;
0 10 2 pageCount J
1 10 4 s Lorg/h2/store/Data;
2 9 5 page J
MethodParameters:
Name Flags
writer
pageCount
private void dumpPage(java.io.PrintWriter, org.h2.store.Data, long, long);
descriptor: (Ljava/io/PrintWriter;Lorg/h2/store/Data;JJ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 2
invokevirtual org.h2.store.Data.readByte:()B
istore 7
start local 7 1: iload 7
tableswitch { // 0 - 0
0: 2
default: 4
}
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageTypeCount:[I
iload 7
dup2
iaload
iconst_1
iadd
iastore
3: return
4: StackMap locals:
StackMap stack:
iload 7
bipush 16
iand
ifeq 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 8
start local 8 7: iload 7
bipush -17
iand
istore 7
8: aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
lload 3
l2i
aload 0
getfield org.h2.tools.Recover.pageSize:I
invokestatic org.h2.store.PageStore.checksumTest:([BII)Z
ifne 10
9: aload 0
aload 1
new java.lang.StringBuilder
dup
ldc "checksum mismatch type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
invokevirtual org.h2.tools.Recover.writeDataError:(Ljava/io/PrintWriter;Ljava/lang/String;[B)V
10: StackMap locals: int
StackMap stack:
aload 2
invokevirtual org.h2.store.Data.readShortInt:()S
pop
11: iload 7
tableswitch { // 1 - 8
1: 12
2: 26
3: 40
4: 47
5: 62
6: 75
7: 81
8: 84
default: 87
}
12: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageTypeCount:[I
iload 7
dup2
iaload
iconst_1
iadd
iastore
13: aload 2
invokevirtual org.h2.store.Data.readInt:()I
istore 9
start local 9 14: aload 0
aload 2
invokevirtual org.h2.store.Data.readVarInt:()I
invokevirtual org.h2.tools.Recover.setStorage:(I)Ljava/lang/String;
pop
15: aload 2
invokevirtual org.h2.store.Data.readVarInt:()I
istore 10
start local 10 16: aload 2
invokevirtual org.h2.store.Data.readShortInt:()S
istore 11
start local 11 17: aload 1
new java.lang.StringBuilder
dup
ldc "-- page "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ": data leaf "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: iload 8
ifeq 19
ldc "(last) "
goto 20
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int int int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder
19: ldc ""
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int int int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder java.lang.String
20: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "parent: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
21: ldc " table: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.storageId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " entries: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
22: ldc " columns: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
24: aload 0
aload 1
aload 2
iload 8
lload 3
iload 10
iload 11
invokevirtual org.h2.tools.Recover.dumpPageDataLeaf:(Ljava/io/PrintWriter;Lorg/h2/store/Data;ZJII)V
25: goto 91
end local 11 end local 10 end local 9 26: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageTypeCount:[I
iload 7
dup2
iaload
iconst_1
iadd
iastore
27: aload 2
invokevirtual org.h2.store.Data.readInt:()I
istore 9
start local 9 28: aload 0
aload 2
invokevirtual org.h2.store.Data.readVarInt:()I
invokevirtual org.h2.tools.Recover.setStorage:(I)Ljava/lang/String;
pop
29: aload 2
invokevirtual org.h2.store.Data.readInt:()I
istore 10
start local 10 30: aload 2
invokevirtual org.h2.store.Data.readShortInt:()S
istore 11
start local 11 31: aload 1
new java.lang.StringBuilder
dup
ldc "-- page "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ": data node "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: iload 8
ifeq 33
ldc "(last) "
goto 34
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int int int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder
33: ldc ""
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int int int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder java.lang.String
34: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "parent: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
35: ldc " table: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.storageId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " entries: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
36: ldc " rowCount: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
37: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
38: aload 0
aload 1
aload 2
lload 3
iload 11
invokevirtual org.h2.tools.Recover.dumpPageDataNode:(Ljava/io/PrintWriter;Lorg/h2/store/Data;JI)V
39: goto 91
end local 11 end local 10 end local 9 40: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageTypeCount:[I
iload 7
dup2
iaload
iconst_1
iadd
iastore
41: aload 1
new java.lang.StringBuilder
dup
ldc "-- page "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ": data overflow "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
42: iload 8
ifeq 43
ldc "(last) "
goto 44
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder
43: ldc ""
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder java.lang.String
44: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
45: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
46: goto 91
47: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageTypeCount:[I
iload 7
dup2
iaload
iconst_1
iadd
iastore
48: aload 2
invokevirtual org.h2.store.Data.readInt:()I
istore 9
start local 9 49: aload 0
aload 2
invokevirtual org.h2.store.Data.readVarInt:()I
invokevirtual org.h2.tools.Recover.setStorage:(I)Ljava/lang/String;
pop
50: aload 2
invokevirtual org.h2.store.Data.readShortInt:()S
istore 10
start local 10 51: aload 1
new java.lang.StringBuilder
dup
ldc "-- page "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ": b-tree leaf "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
52: iload 8
ifeq 53
ldc "(last) "
goto 54
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder
53: ldc ""
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder java.lang.String
54: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "parent: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
55: ldc " index: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.storageId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " entries: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
56: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
57: aload 0
getfield org.h2.tools.Recover.trace:Z
ifeq 91
58: aload 0
aload 1
aload 2
iload 10
iload 8
ifeq 59
iconst_0
goto 60
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int int int
StackMap stack: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data int
59: iconst_1
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int int int
StackMap stack: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data int int
60: invokevirtual org.h2.tools.Recover.dumpPageBtreeLeaf:(Ljava/io/PrintWriter;Lorg/h2/store/Data;IZ)V
61: goto 91
end local 10 end local 9 62: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageTypeCount:[I
iload 7
dup2
iaload
iconst_1
iadd
iastore
63: aload 2
invokevirtual org.h2.store.Data.readInt:()I
istore 9
start local 9 64: aload 0
aload 2
invokevirtual org.h2.store.Data.readVarInt:()I
invokevirtual org.h2.tools.Recover.setStorage:(I)Ljava/lang/String;
pop
65: aload 1
new java.lang.StringBuilder
dup
ldc "-- page "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ": b-tree node "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
66: iload 8
ifeq 67
ldc "(last) "
goto 68
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder
67: ldc ""
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder java.lang.String
68: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "parent: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
69: ldc " index: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.storageId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
70: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
71: aload 0
aload 1
aload 2
lload 3
iload 8
ifeq 72
iconst_0
goto 73
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int int
StackMap stack: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long
72: iconst_1
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int int
StackMap stack: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long int
73: invokevirtual org.h2.tools.Recover.dumpPageBtreeNode:(Ljava/io/PrintWriter;Lorg/h2/store/Data;JZ)V
74: goto 91
end local 9 75: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageTypeCount:[I
iload 7
dup2
iaload
iconst_1
iadd
iastore
76: aload 1
new java.lang.StringBuilder
dup
ldc "-- page "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ": free list "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 8
ifeq 77
ldc "(last)"
goto 78
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder
77: ldc ""
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder java.lang.String
78: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
79: aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
dup
getfield org.h2.tools.Recover$Stats.free:I
aload 0
aload 1
aload 2
lload 3
lload 5
invokevirtual org.h2.tools.Recover.dumpPageFreeList:(Ljava/io/PrintWriter;Lorg/h2/store/Data;JJ)I
iadd
putfield org.h2.tools.Recover$Stats.free:I
80: goto 91
81: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageTypeCount:[I
iload 7
dup2
iaload
iconst_1
iadd
iastore
82: aload 1
new java.lang.StringBuilder
dup
ldc "-- page "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ": log trunk"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
83: goto 91
84: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
getfield org.h2.tools.Recover$Stats.pageTypeCount:[I
iload 7
dup2
iaload
iconst_1
iadd
iastore
85: aload 1
new java.lang.StringBuilder
dup
ldc "-- page "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ": log data"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
86: goto 91
87: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "-- ERROR page "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " unknown type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 8 end local 7 88: goto 91
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long
StackMap stack: java.lang.Exception
89: astore 7
start local 7 90: aload 0
aload 1
aload 7
invokevirtual org.h2.tools.Recover.writeError:(Ljava/io/PrintWriter;Ljava/lang/Throwable;)V
end local 7 91: StackMap locals:
StackMap stack:
return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 92 0 this Lorg/h2/tools/Recover;
0 92 1 writer Ljava/io/PrintWriter;
0 92 2 s Lorg/h2/store/Data;
0 92 3 page J
0 92 5 pageCount J
1 88 7 type I
7 88 8 last Z
14 26 9 parentPageId I
16 26 10 columnCount I
17 26 11 entries I
28 40 9 parentPageId I
30 40 10 rowCount I
31 40 11 entries I
49 62 9 parentPageId I
51 62 10 entries I
64 75 9 parentPageId I
90 91 7 e Ljava/lang/Exception;
Exception table:
from to target type
0 3 89 Class java.lang.Exception
4 88 89 Class java.lang.Exception
MethodParameters:
Name Flags
writer
s
page
pageCount
private void dumpPageLogStream(java.io.PrintWriter, int, int, int, long);
descriptor: (Ljava/io/PrintWriter;IIIJ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=18, 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 0
getfield org.h2.tools.Recover.pageSize:I
iconst_0
invokestatic org.h2.store.Data.create:(Lorg/h2/store/DataHandler;IZ)Lorg/h2/store/Data;
astore 7
start local 7 1: new org.h2.store.DataReader
dup
2: new org.h2.tools.Recover$PageInputStream
dup
aload 1
aload 0
aload 0
getfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
iload 2
3: iload 3
i2l
iload 4
i2l
aload 0
getfield org.h2.tools.Recover.pageSize:I
4: invokespecial org.h2.tools.Recover$PageInputStream.<init>:(Ljava/io/PrintWriter;Lorg/h2/store/DataHandler;Lorg/h2/store/FileStore;IJJI)V
5: invokespecial org.h2.store.DataReader.<init>:(Ljava/io/InputStream;)V
astore 8
start local 8 6: aload 1
ldc "---- Transaction log ----"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
7: new org.h2.compress.CompressLZF
dup
invokespecial org.h2.compress.CompressLZF.<init>:()V
astore 9
start local 9 8: StackMap locals: org.h2.store.Data org.h2.store.DataReader org.h2.compress.CompressLZF
StackMap stack:
aload 8
invokevirtual org.h2.store.DataReader.readByte:()B
istore 10
start local 10 9: iload 10
ifge 11
10: goto 161
11: StackMap locals: int
StackMap stack:
iload 10
ifeq 8
12: iload 10
iconst_1
if_icmpne 69
13: aload 8
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 11
start local 11 14: aload 8
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 12
start local 12 15: aload 0
getfield org.h2.tools.Recover.pageSize:I
newarray 8
astore 13
start local 13 16: iload 12
ifne 19
17: aload 8
aload 13
aload 0
getfield org.h2.tools.Recover.pageSize:I
invokevirtual org.h2.store.DataReader.readFully:([BI)V
18: goto 26
StackMap locals: int int byte[]
StackMap stack:
19: iload 12
iconst_1
if_icmpeq 26
20: iload 12
newarray 8
astore 14
start local 14 21: aload 8
aload 14
iload 12
invokevirtual org.h2.store.DataReader.readFully:([BI)V
22: aload 9
aload 14
iconst_0
iload 12
aload 13
iconst_0
aload 0
getfield org.h2.tools.Recover.pageSize:I
invokevirtual org.h2.compress.CompressLZF.expand:([BII[BII)V
23: goto 26
StackMap locals: org.h2.tools.Recover java.io.PrintWriter int int int long org.h2.store.Data org.h2.store.DataReader org.h2.compress.CompressLZF int int int byte[] byte[]
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
24: astore 15
start local 15 25: aload 15
invokestatic org.h2.message.DbException.convertToIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 15 end local 14 26: StackMap locals:
StackMap stack:
ldc ""
astore 14
start local 14 27: aload 13
iconst_0
baload
istore 15
start local 15 28: iload 15
bipush 16
iand
ifeq 29
iconst_1
goto 30
StackMap locals: java.lang.String int
StackMap stack:
29: iconst_0
StackMap locals:
StackMap stack: int
30: istore 16
start local 16 31: iload 15
bipush -17
iand
istore 15
32: iload 15
tableswitch { // 0 - 8
0: 33
1: 35
2: 39
3: 43
4: 47
5: 51
6: 55
7: 59
8: 61
default: 63
}
33: StackMap locals: int
StackMap stack:
ldc "empty"
astore 14
34: goto 64
35: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "data leaf "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 16
ifeq 36
ldc "(last)"
goto 37
StackMap locals:
StackMap stack: java.lang.StringBuilder
36: ldc ""
StackMap locals: org.h2.tools.Recover java.io.PrintWriter int int int long org.h2.store.Data org.h2.store.DataReader org.h2.compress.CompressLZF int int int byte[] java.lang.String int int
StackMap stack: java.lang.StringBuilder java.lang.String
37: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
38: goto 64
39: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "data node "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 16
ifeq 40
ldc "(last)"
goto 41
StackMap locals:
StackMap stack: java.lang.StringBuilder
40: ldc ""
StackMap locals: org.h2.tools.Recover java.io.PrintWriter int int int long org.h2.store.Data org.h2.store.DataReader org.h2.compress.CompressLZF int int int byte[] java.lang.String int int
StackMap stack: java.lang.StringBuilder java.lang.String
41: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
42: goto 64
43: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "data overflow "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 16
ifeq 44
ldc "(last)"
goto 45
StackMap locals:
StackMap stack: java.lang.StringBuilder
44: ldc ""
StackMap locals: org.h2.tools.Recover java.io.PrintWriter int int int long org.h2.store.Data org.h2.store.DataReader org.h2.compress.CompressLZF int int int byte[] java.lang.String int int
StackMap stack: java.lang.StringBuilder java.lang.String
45: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
46: goto 64
47: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "b-tree leaf "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 16
ifeq 48
ldc "(last)"
goto 49
StackMap locals:
StackMap stack: java.lang.StringBuilder
48: ldc ""
StackMap locals: org.h2.tools.Recover java.io.PrintWriter int int int long org.h2.store.Data org.h2.store.DataReader org.h2.compress.CompressLZF int int int byte[] java.lang.String int int
StackMap stack: java.lang.StringBuilder java.lang.String
49: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
50: goto 64
51: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "b-tree node "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 16
ifeq 52
ldc "(last)"
goto 53
StackMap locals:
StackMap stack: java.lang.StringBuilder
52: ldc ""
StackMap locals: org.h2.tools.Recover java.io.PrintWriter int int int long org.h2.store.Data org.h2.store.DataReader org.h2.compress.CompressLZF int int int byte[] java.lang.String int int
StackMap stack: java.lang.StringBuilder java.lang.String
53: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
54: goto 64
55: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "free list "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 16
ifeq 56
ldc "(last)"
goto 57
StackMap locals:
StackMap stack: java.lang.StringBuilder
56: ldc ""
StackMap locals: org.h2.tools.Recover java.io.PrintWriter int int int long org.h2.store.Data org.h2.store.DataReader org.h2.compress.CompressLZF int int int byte[] java.lang.String int int
StackMap stack: java.lang.StringBuilder java.lang.String
57: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
58: goto 64
59: StackMap locals:
StackMap stack:
ldc "log trunk"
astore 14
60: goto 64
61: StackMap locals:
StackMap stack:
ldc "log data"
astore 14
62: goto 64
63: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "ERROR: unknown type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 15
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
64: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "-- undo page "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
65: aload 0
getfield org.h2.tools.Recover.trace:Z
ifeq 8
66: aconst_null
aload 13
iconst_0
invokestatic org.h2.store.Data.create:(Lorg/h2/store/DataHandler;[BZ)Lorg/h2/store/Data;
astore 17
start local 17 67: aload 0
aload 1
aload 17
iload 11
i2l
lload 5
invokevirtual org.h2.tools.Recover.dumpPage:(Ljava/io/PrintWriter;Lorg/h2/store/Data;JJ)V
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 68: goto 8
StackMap locals: org.h2.tools.Recover java.io.PrintWriter int int int long org.h2.store.Data org.h2.store.DataReader org.h2.compress.CompressLZF int
StackMap stack:
69: iload 10
iconst_5
if_icmpne 101
70: aload 8
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 11
start local 11 71: aload 0
aload 8
invokevirtual org.h2.store.DataReader.readVarInt:()I
invokevirtual org.h2.tools.Recover.setStorage:(I)Ljava/lang/String;
pop
72: getstatic org.h2.result.RowFactory.DEFAULT:Lorg/h2/result/RowFactory;
aload 8
aload 7
invokestatic org.h2.store.PageLog.readRow:(Lorg/h2/result/RowFactory;Lorg/h2/store/DataReader;Lorg/h2/store/Data;)Lorg/h2/result/Row;
astore 12
start local 12 73: aload 1
new java.lang.StringBuilder
dup
ldc "-- session "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
74: ldc " table "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.storageId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
75: ldc " + "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
76: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
77: aload 0
getfield org.h2.tools.Recover.transactionLog:Z
ifeq 8
78: aload 0
getfield org.h2.tools.Recover.storageId:I
ifne 86
aload 12
invokeinterface org.h2.result.Row.getColumnCount:()I
iconst_4
if_icmplt 86
79: aload 12
invokeinterface org.h2.result.Row.getKey:()J
l2i
istore 13
start local 13 80: aload 12
iconst_3
invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
astore 14
start local 14 81: aload 14
invokestatic org.h2.tools.Recover.extractTableOrViewName:(Ljava/lang/String;)Ljava/lang/String;
astore 15
start local 15 82: aload 12
iconst_2
invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
invokevirtual org.h2.value.Value.getInt:()I
ifne 84
83: aload 0
getfield org.h2.tools.Recover.tableMap:Ljava/util/HashMap;
iload 13
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 15
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
84: StackMap locals: org.h2.tools.Recover java.io.PrintWriter int int int long org.h2.store.Data org.h2.store.DataReader org.h2.compress.CompressLZF int int org.h2.result.Row int java.lang.String java.lang.String
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
aload 14
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 15 end local 14 end local 13 85: goto 8
86: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Recover.tableMap:Ljava/util/HashMap;
aload 0
getfield org.h2.tools.Recover.storageId:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 13
start local 13 87: aload 13
ifnull 8
88: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 14
start local 14 89: aload 14
ldc "INSERT INTO "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
90: ldc " VALUES("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
91: iconst_0
istore 15
start local 15 92: goto 97
93: StackMap locals: java.lang.String java.lang.StringBuilder int
StackMap stack:
iload 15
ifle 95
94: aload 14
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
95: StackMap locals:
StackMap stack:
aload 12
iload 15
invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
aload 14
invokevirtual org.h2.value.Value.getSQL:(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
pop
96: iinc 15 1
StackMap locals:
StackMap stack:
97: iload 15
aload 12
invokeinterface org.h2.result.Row.getColumnCount:()I
if_icmplt 93
end local 15 98: aload 14
ldc ");"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
99: aload 1
aload 14
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 14 end local 13 end local 12 end local 11 100: goto 8
StackMap locals: org.h2.tools.Recover java.io.PrintWriter int int int long org.h2.store.Data org.h2.store.DataReader org.h2.compress.CompressLZF int
StackMap stack:
101: iload 10
bipush 6
if_icmpne 123
102: aload 8
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 11
start local 11 103: aload 0
aload 8
invokevirtual org.h2.store.DataReader.readVarInt:()I
invokevirtual org.h2.tools.Recover.setStorage:(I)Ljava/lang/String;
pop
104: aload 8
invokevirtual org.h2.store.DataReader.readVarLong:()J
lstore 12
start local 12 105: aload 1
new java.lang.StringBuilder
dup
ldc "-- session "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
106: ldc " table "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.storageId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
107: ldc " - "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 12
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
108: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
109: aload 0
getfield org.h2.tools.Recover.transactionLog:Z
ifeq 8
110: aload 0
getfield org.h2.tools.Recover.storageId:I
ifne 116
111: lload 12
l2i
istore 14
start local 14 112: aload 0
getfield org.h2.tools.Recover.tableMap:Ljava/util/HashMap;
iload 14
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 15
start local 15 113: aload 15
ifnull 8
114: aload 1
new java.lang.StringBuilder
dup
ldc "DROP TABLE IF EXISTS "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 15 end local 14 115: goto 8
116: StackMap locals: int long
StackMap stack:
aload 0
getfield org.h2.tools.Recover.tableMap:Ljava/util/HashMap;
aload 0
getfield org.h2.tools.Recover.storageId:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 14
start local 14 117: aload 14
ifnull 8
118: new java.lang.StringBuilder
dup
ldc "DELETE FROM "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
119: ldc " WHERE _ROWID_ = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 12
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
120: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
start local 15 121: aload 1
aload 15
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 15 end local 14 end local 12 end local 11 122: goto 8
StackMap locals:
StackMap stack:
123: iload 10
bipush 7
if_icmpne 133
124: aload 8
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 11
start local 11 125: aload 0
aload 8
invokevirtual org.h2.store.DataReader.readVarInt:()I
invokevirtual org.h2.tools.Recover.setStorage:(I)Ljava/lang/String;
pop
126: aload 1
new java.lang.StringBuilder
dup
ldc "-- session "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
127: ldc " table "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.storageId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
128: ldc " truncate"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
129: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
130: aload 0
getfield org.h2.tools.Recover.transactionLog:Z
ifeq 8
131: aload 1
new java.lang.StringBuilder
dup
ldc "TRUNCATE TABLE "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.tools.Recover.storageId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 11 132: goto 8
StackMap locals:
StackMap stack:
133: iload 10
iconst_2
if_icmpne 137
134: aload 8
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 11
start local 11 135: aload 1
new java.lang.StringBuilder
dup
ldc "-- commit "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 11 136: goto 8
StackMap locals:
StackMap stack:
137: iload 10
iconst_4
if_icmpne 141
138: aload 8
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 11
start local 11 139: aload 1
new java.lang.StringBuilder
dup
ldc "-- rollback "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 11 140: goto 8
StackMap locals:
StackMap stack:
141: iload 10
iconst_3
if_icmpne 146
142: aload 8
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 11
start local 11 143: aload 8
invokevirtual org.h2.store.DataReader.readString:()Ljava/lang/String;
astore 12
start local 12 144: aload 1
new java.lang.StringBuilder
dup
ldc "-- prepare commit "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 12 end local 11 145: goto 8
StackMap locals:
StackMap stack:
146: iload 10
ifeq 8
147: iload 10
bipush 8
if_icmpne 150
148: aload 1
ldc "-- checkpoint"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
149: goto 8
StackMap locals:
StackMap stack:
150: iload 10
bipush 9
if_icmpne 160
151: aload 8
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 11
start local 11 152: new java.lang.StringBuilder
dup
ldc "-- free"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 12
start local 12 153: iconst_0
istore 13
start local 13 154: goto 157
155: StackMap locals: int java.lang.StringBuilder int
StackMap stack:
aload 12
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 8
invokevirtual org.h2.store.DataReader.readVarInt:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
156: iinc 13 1
StackMap locals:
StackMap stack:
157: iload 13
iload 11
if_icmplt 155
end local 13 158: aload 1
aload 12
invokevirtual java.io.PrintWriter.println:(Ljava/lang/Object;)V
end local 12 end local 11 159: goto 8
160: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "-- ERROR: unknown operation "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 10 161: StackMap locals:
StackMap stack:
return
end local 9 end local 8 end local 7 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 162 0 this Lorg/h2/tools/Recover;
0 162 1 writer Ljava/io/PrintWriter;
0 162 2 logKey I
0 162 3 logFirstTrunkPage I
0 162 4 logFirstDataPage I
0 162 5 pageCount J
1 162 7 s Lorg/h2/store/Data;
6 162 8 in Lorg/h2/store/DataReader;
8 162 9 compress Lorg/h2/compress/CompressLZF;
9 161 10 x I
14 68 11 pageId I
15 68 12 size I
16 68 13 data [B
21 26 14 compressBuffer [B
25 26 15 e Ljava/lang/ArrayIndexOutOfBoundsException;
27 68 14 typeName Ljava/lang/String;
28 68 15 type I
31 68 16 last Z
67 68 17 d Lorg/h2/store/Data;
71 100 11 sessionId I
73 100 12 row Lorg/h2/result/Row;
80 85 13 tableId I
81 85 14 sql Ljava/lang/String;
82 85 15 name Ljava/lang/String;
87 100 13 tableName Ljava/lang/String;
89 100 14 builder Ljava/lang/StringBuilder;
92 98 15 i I
103 122 11 sessionId I
105 122 12 key J
112 115 14 tableId I
113 115 15 tableName Ljava/lang/String;
117 122 14 tableName Ljava/lang/String;
121 122 15 sql Ljava/lang/String;
125 132 11 sessionId I
135 136 11 sessionId I
139 140 11 sessionId I
143 145 11 sessionId I
144 145 12 transaction Ljava/lang/String;
152 159 11 size I
153 159 12 buff Ljava/lang/StringBuilder;
154 158 13 i I
Exception table:
from to target type
22 23 24 Class java.lang.ArrayIndexOutOfBoundsException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
writer
logKey
logFirstTrunkPage
logFirstDataPage
pageCount
private java.lang.String setStorage(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.h2.tools.Recover.storageId:I
1: aload 0
new java.lang.StringBuilder
dup
ldc "O_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
bipush 45
bipush 77
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.h2.tools.Recover.storageName:Ljava/lang/String;
2: aload 0
getfield org.h2.tools.Recover.storageName:Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/tools/Recover;
0 3 1 storageId I
MethodParameters:
Name Flags
storageId
private void dumpPageBtreeNode(java.io.PrintWriter, org.h2.store.Data, long, boolean);
descriptor: (Ljava/io/PrintWriter;Lorg/h2/store/Data;JZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=17, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 2
invokevirtual org.h2.store.Data.readInt:()I
istore 6
start local 6 1: aload 2
invokevirtual org.h2.store.Data.readShortInt:()S
istore 7
start local 7 2: iload 7
iconst_1
iadd
newarray 10
astore 8
start local 8 3: iload 7
newarray 10
astore 9
start local 9 4: aload 8
iload 7
aload 2
invokevirtual org.h2.store.Data.readInt:()I
iastore
5: aload 0
aload 1
lload 3
aload 8
iload 7
invokevirtual org.h2.tools.Recover.checkParent:(Ljava/io/PrintWriter;J[II)V
6: ldc 2147483647
istore 10
start local 10 7: iconst_0
istore 11
start local 11 8: goto 15
9: StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long int int int int[] int[] int int
StackMap stack:
aload 8
iload 11
aload 2
invokevirtual org.h2.store.Data.readInt:()I
iastore
10: aload 0
aload 1
lload 3
aload 8
iload 11
invokevirtual org.h2.tools.Recover.checkParent:(Ljava/io/PrintWriter;J[II)V
11: aload 2
invokevirtual org.h2.store.Data.readShortInt:()S
istore 12
start local 12 12: iload 12
iload 10
invokestatic java.lang.Math.min:(II)I
istore 10
13: aload 9
iload 11
iload 12
iastore
end local 12 14: iinc 11 1
StackMap locals:
StackMap stack:
15: iload 11
iload 7
if_icmplt 9
end local 11 16: iload 10
aload 2
invokevirtual org.h2.store.Data.length:()I
isub
istore 10
17: aload 0
getfield org.h2.tools.Recover.trace:Z
ifne 19
18: return
19: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "-- empty: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
20: iconst_0
istore 11
start local 11 21: goto 37
22: StackMap locals: int
StackMap stack:
aload 9
iload 11
iaload
istore 12
start local 12 23: aload 2
iload 12
invokevirtual org.h2.store.Data.setPos:(I)V
24: aload 2
invokevirtual org.h2.store.Data.readVarLong:()J
lstore 13
start local 13 25: iload 5
ifeq 28
26: lload 13
invokestatic org.h2.value.ValueLong.get:(J)Lorg/h2/value/ValueLong;
astore 15
start local 15 27: goto 33
end local 15 28: StackMap locals: int long
StackMap stack:
aload 2
invokevirtual org.h2.store.Data.readValue:()Lorg/h2/value/Value;
astore 15
start local 15 29: goto 33
end local 15 StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 16
start local 16 31: aload 0
aload 1
new java.lang.StringBuilder
dup
ldc "exception "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
invokevirtual org.h2.tools.Recover.writeDataError:(Ljava/io/PrintWriter;Ljava/lang/String;[B)V
32: goto 36
end local 16 start local 15 33: StackMap locals: org.h2.value.Value
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "-- ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] child: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
iload 11
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
34: ldc " key: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 13
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " data: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
35: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 15 end local 13 end local 12 36: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
37: iload 11
iload 7
if_icmplt 22
end local 11 38: aload 1
new java.lang.StringBuilder
dup
ldc "-- ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] child: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
39: aload 8
iload 7
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " rowCount: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
40: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
41: return
end local 10 end local 9 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 42 0 this Lorg/h2/tools/Recover;
0 42 1 writer Ljava/io/PrintWriter;
0 42 2 s Lorg/h2/store/Data;
0 42 3 pageId J
0 42 5 positionOnly Z
1 42 6 rowCount I
2 42 7 entryCount I
3 42 8 children [I
4 42 9 offsets [I
7 42 10 empty I
8 16 11 i I
12 14 12 off I
21 38 11 i I
23 36 12 off I
25 36 13 key J
27 28 15 data Lorg/h2/value/Value;
29 30 15 data Lorg/h2/value/Value;
33 36 15 data Lorg/h2/value/Value;
31 33 16 e Ljava/lang/Throwable;
Exception table:
from to target type
28 29 30 Class java.lang.Throwable
MethodParameters:
Name Flags
writer
s
pageId
positionOnly
private int dumpPageFreeList(java.io.PrintWriter, org.h2.store.Data, long, long);
descriptor: (Ljava/io/PrintWriter;Lorg/h2/store/Data;JJ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
getfield org.h2.tools.Recover.pageSize:I
invokestatic org.h2.store.PageFreeList.getPagesAddressed:(I)I
istore 7
start local 7 1: iload 7
iconst_3
ishr
istore 8
start local 8 2: iload 8
newarray 8
astore 9
start local 9 3: aload 2
aload 9
iconst_0
iload 8
invokevirtual org.h2.store.Data.read:([BII)V
4: aload 9
invokestatic java.util.BitSet.valueOf:([B)Ljava/util/BitSet;
astore 10
start local 10 5: iconst_0
istore 11
start local 11 6: lconst_0
lstore 12
start local 12 7: lload 3
lstore 14
start local 14 8: goto 25
9: StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int byte[] java.util.BitSet int long long
StackMap stack:
lload 12
lconst_0
lcmp
ifeq 10
lload 14
ldc 100
lrem
lconst_0
lcmp
ifne 14
10: StackMap locals:
StackMap stack:
lload 12
lconst_0
lcmp
ifle 12
11: aload 1
invokevirtual java.io.PrintWriter.println:()V
12: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "-- "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 14
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
13: goto 19
StackMap locals:
StackMap stack:
14: lload 14
ldc 20
lrem
lconst_0
lcmp
ifne 17
15: aload 1
ldc " - "
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
16: goto 19
StackMap locals:
StackMap stack:
17: lload 14
ldc 10
lrem
lconst_0
lcmp
ifne 19
18: aload 1
bipush 32
invokevirtual java.io.PrintWriter.print:(C)V
19: StackMap locals:
StackMap stack:
aload 1
aload 10
lload 12
l2i
invokevirtual java.util.BitSet.get:(I)Z
ifeq 20
bipush 49
goto 21
StackMap locals:
StackMap stack: java.io.PrintWriter
20: bipush 48
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data long long int int byte[] java.util.BitSet int long long
StackMap stack: java.io.PrintWriter int
21: invokevirtual java.io.PrintWriter.print:(C)V
22: aload 10
lload 12
l2i
invokevirtual java.util.BitSet.get:(I)Z
ifne 24
23: iinc 11 1
24: StackMap locals:
StackMap stack:
lload 12
lconst_1
ladd
lstore 12
lload 14
lconst_1
ladd
lstore 14
StackMap locals:
StackMap stack:
25: lload 12
iload 7
i2l
lcmp
ifge 26
lload 14
lload 5
lcmp
iflt 9
end local 14 end local 12 26: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.PrintWriter.println:()V
27: iload 11
ireturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/h2/tools/Recover;
0 28 1 writer Ljava/io/PrintWriter;
0 28 2 s Lorg/h2/store/Data;
0 28 3 pageId J
0 28 5 pageCount J
1 28 7 pagesAddressed I
2 28 8 len I
3 28 9 b [B
5 28 10 used Ljava/util/BitSet;
6 28 11 free I
7 26 12 i J
8 26 14 j J
MethodParameters:
Name Flags
writer
s
pageId
pageCount
private void dumpPageBtreeLeaf(java.io.PrintWriter, org.h2.store.Data, int, boolean);
descriptor: (Ljava/io/PrintWriter;Lorg/h2/store/Data;IZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
newarray 10
astore 5
start local 5 1: ldc 2147483647
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 8
4: StackMap locals: int[] int int
StackMap stack:
aload 2
invokevirtual org.h2.store.Data.readShortInt:()S
istore 8
start local 8 5: iload 8
iload 6
invokestatic java.lang.Math.min:(II)I
istore 6
6: aload 5
iload 7
iload 8
iastore
end local 8 7: iinc 7 1
StackMap locals:
StackMap stack:
8: iload 7
iload 3
if_icmplt 4
end local 7 9: iload 6
aload 2
invokevirtual org.h2.store.Data.length:()I
isub
istore 6
10: aload 1
new java.lang.StringBuilder
dup
ldc "-- empty: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
11: iconst_0
istore 7
start local 7 12: goto 26
13: StackMap locals:
StackMap stack:
aload 5
iload 7
iaload
istore 8
start local 8 14: aload 2
iload 8
invokevirtual org.h2.store.Data.setPos:(I)V
15: aload 2
invokevirtual org.h2.store.Data.readVarLong:()J
lstore 9
start local 9 16: iload 4
ifeq 19
17: lload 9
invokestatic org.h2.value.ValueLong.get:(J)Lorg/h2/value/ValueLong;
astore 11
start local 11 18: goto 24
end local 11 19: StackMap locals: int long
StackMap stack:
aload 2
invokevirtual org.h2.store.Data.readValue:()Lorg/h2/value/Value;
astore 11
start local 11 20: goto 24
end local 11 StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 12
start local 12 22: aload 0
aload 1
new java.lang.StringBuilder
dup
ldc "exception "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
invokevirtual org.h2.tools.Recover.writeDataError:(Ljava/io/PrintWriter;Ljava/lang/String;[B)V
23: goto 25
end local 12 start local 11 24: StackMap locals: org.h2.value.Value
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "-- ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] key: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 9
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " data: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 11 end local 9 end local 8 25: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
26: iload 7
iload 3
if_icmplt 13
end local 7 27: return
end local 6 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 28 0 this Lorg/h2/tools/Recover;
0 28 1 writer Ljava/io/PrintWriter;
0 28 2 s Lorg/h2/store/Data;
0 28 3 entryCount I
0 28 4 positionOnly Z
1 28 5 offsets [I
2 28 6 empty I
3 9 7 i I
5 7 8 off I
12 27 7 i I
14 25 8 off I
16 25 9 key J
18 19 11 data Lorg/h2/value/Value;
20 21 11 data Lorg/h2/value/Value;
24 25 11 data Lorg/h2/value/Value;
22 24 12 e Ljava/lang/Throwable;
Exception table:
from to target type
19 20 21 Class java.lang.Throwable
MethodParameters:
Name Flags
writer
s
entryCount
positionOnly
private void checkParent(java.io.PrintWriter, long, int[], int);
descriptor: (Ljava/io/PrintWriter;J[II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 4
iload 5
iaload
istore 6
start local 6 1: iload 6
iflt 2
iload 6
aload 0
getfield org.h2.tools.Recover.parents:[I
arraylength
if_icmplt 6
2: StackMap locals: int
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "-- ERROR ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "] child["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " >= page count: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.parents:[I
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
5: goto 10
StackMap locals:
StackMap stack:
6: aload 0
getfield org.h2.tools.Recover.parents:[I
iload 6
iaload
i2l
lload 2
lcmp
ifeq 10
7: aload 1
new java.lang.StringBuilder
dup
ldc "-- ERROR ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "] child["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " parent: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.parents:[I
iload 6
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
return
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 11 0 this Lorg/h2/tools/Recover;
0 11 1 writer Ljava/io/PrintWriter;
0 11 2 pageId J
0 11 4 children [I
0 11 5 index I
1 11 6 child I
MethodParameters:
Name Flags
writer
pageId
children
index
private void dumpPageDataNode(java.io.PrintWriter, org.h2.store.Data, long, int);
descriptor: (Ljava/io/PrintWriter;Lorg/h2/store/Data;JI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: iload 5
iconst_1
iadd
newarray 10
astore 6
start local 6 1: iload 5
newarray 11
astore 7
start local 7 2: aload 6
iload 5
aload 2
invokevirtual org.h2.store.Data.readInt:()I
iastore
3: aload 0
aload 1
lload 3
aload 6
iload 5
invokevirtual org.h2.tools.Recover.checkParent:(Ljava/io/PrintWriter;J[II)V
4: iconst_0
istore 8
start local 8 5: goto 10
6: StackMap locals: int[] long[] int
StackMap stack:
aload 6
iload 8
aload 2
invokevirtual org.h2.store.Data.readInt:()I
iastore
7: aload 0
aload 1
lload 3
aload 6
iload 8
invokevirtual org.h2.tools.Recover.checkParent:(Ljava/io/PrintWriter;J[II)V
8: aload 7
iload 8
aload 2
invokevirtual org.h2.store.Data.readVarLong:()J
lastore
9: iinc 8 1
StackMap locals:
StackMap stack:
10: iload 8
iload 5
if_icmplt 6
end local 8 11: aload 0
getfield org.h2.tools.Recover.trace:Z
ifne 13
12: return
13: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 14: goto 17
15: StackMap locals: int
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "-- ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] child: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
iload 8
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " key: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
iload 8
laload
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
16: iinc 8 1
StackMap locals:
StackMap stack:
17: iload 8
iload 5
if_icmplt 15
end local 8 18: aload 1
new java.lang.StringBuilder
dup
ldc "-- ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] child: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
iload 5
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
19: return
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 20 0 this Lorg/h2/tools/Recover;
0 20 1 writer Ljava/io/PrintWriter;
0 20 2 s Lorg/h2/store/Data;
0 20 3 pageId J
0 20 5 entryCount I
1 20 6 children [I
2 20 7 keys [J
5 11 8 i I
14 18 8 i I
MethodParameters:
Name Flags
writer
s
pageId
entryCount
private void dumpPageDataLeaf(java.io.PrintWriter, org.h2.store.Data, boolean, long, int, int);
descriptor: (Ljava/io/PrintWriter;Lorg/h2/store/Data;ZJII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=26, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 6 start local 7 0: iload 7
newarray 11
astore 8
start local 8 1: iload 7
newarray 10
astore 9
start local 9 2: lconst_0
lstore 10
start local 10 3: iload 3
ifne 6
4: aload 2
invokevirtual org.h2.store.Data.readInt:()I
i2l
lstore 10
5: aload 1
new java.lang.StringBuilder
dup
ldc "-- next: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 10
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
6: StackMap locals: long[] int[] long
StackMap stack:
aload 0
getfield org.h2.tools.Recover.pageSize:I
istore 12
start local 12 7: iconst_0
istore 13
start local 13 8: goto 14
9: StackMap locals: int int
StackMap stack:
aload 8
iload 13
aload 2
invokevirtual org.h2.store.Data.readVarLong:()J
lastore
10: aload 2
invokevirtual org.h2.store.Data.readShortInt:()S
istore 14
start local 14 11: iload 14
iload 12
invokestatic java.lang.Math.min:(II)I
istore 12
12: aload 9
iload 13
iload 14
iastore
end local 14 13: iinc 13 1
StackMap locals:
StackMap stack:
14: iload 13
iload 7
if_icmplt 9
end local 13 15: aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
dup
getfield org.h2.tools.Recover$Stats.pageDataRows:J
aload 0
getfield org.h2.tools.Recover.pageSize:I
iload 12
isub
i2l
ladd
putfield org.h2.tools.Recover$Stats.pageDataRows:J
16: iload 12
aload 2
invokevirtual org.h2.store.Data.length:()I
isub
istore 12
17: aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
dup
getfield org.h2.tools.Recover$Stats.pageDataHead:J
aload 2
invokevirtual org.h2.store.Data.length:()I
i2l
ladd
putfield org.h2.tools.Recover$Stats.pageDataHead:J
18: aload 0
getfield org.h2.tools.Recover.stat:Lorg/h2/tools/Recover$Stats;
dup
getfield org.h2.tools.Recover$Stats.pageDataEmpty:J
iload 12
i2l
ladd
putfield org.h2.tools.Recover$Stats.pageDataEmpty:J
19: aload 0
getfield org.h2.tools.Recover.trace:Z
ifeq 21
20: aload 1
new java.lang.StringBuilder
dup
ldc "-- empty: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 12
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
21: StackMap locals:
StackMap stack:
iload 3
ifne 54
22: aload 0
aload 0
getfield org.h2.tools.Recover.pageSize:I
iconst_0
invokestatic org.h2.store.Data.create:(Lorg/h2/store/DataHandler;IZ)Lorg/h2/store/Data;
astore 13
start local 13 23: aload 2
aload 0
getfield org.h2.tools.Recover.pageSize:I
invokevirtual org.h2.store.Data.setPos:(I)V
24: lload 4
lstore 14
start local 14 25: StackMap locals: org.h2.store.Data long
StackMap stack:
aload 0
aload 1
lload 14
iconst_1
newarray 10
dup
iconst_0
lload 10
l2i
iastore
iconst_0
invokevirtual org.h2.tools.Recover.checkParent:(Ljava/io/PrintWriter;J[II)V
26: lload 10
lstore 14
27: aload 0
lload 10
invokevirtual org.h2.tools.Recover.seek:(J)V
28: aload 0
getfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
aload 13
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
aload 0
getfield org.h2.tools.Recover.pageSize:I
invokevirtual org.h2.store.FileStore.readFully:([BII)V
29: aload 13
invokevirtual org.h2.store.Data.reset:()V
30: aload 13
invokevirtual org.h2.store.Data.readByte:()B
istore 16
start local 16 31: aload 13
invokevirtual org.h2.store.Data.readShortInt:()S
pop
32: aload 13
invokevirtual org.h2.store.Data.readInt:()I
pop
33: iload 16
bipush 19
if_icmpne 41
34: aload 13
invokevirtual org.h2.store.Data.readShortInt:()S
istore 17
start local 17 35: aload 1
new java.lang.StringBuilder
dup
ldc "-- chain: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 10
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
36: ldc " type: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 16
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " size: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 17
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
37: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
38: aload 2
iload 17
invokevirtual org.h2.store.Data.checkCapacity:(I)V
39: aload 2
aload 13
invokevirtual org.h2.store.Data.getBytes:()[B
aload 13
invokevirtual org.h2.store.Data.length:()I
iload 17
invokevirtual org.h2.store.Data.write:([BII)V
40: goto 54
end local 17 41: StackMap locals: int
StackMap stack:
iload 16
iconst_3
if_icmpne 53
42: aload 13
invokevirtual org.h2.store.Data.readInt:()I
i2l
lstore 10
43: lload 10
lconst_0
lcmp
ifne 46
44: aload 0
aload 1
ldc "next:0"
aload 13
invokevirtual org.h2.store.Data.getBytes:()[B
invokevirtual org.h2.tools.Recover.writeDataError:(Ljava/io/PrintWriter;Ljava/lang/String;[B)V
45: goto 54
46: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Recover.pageSize:I
aload 13
invokevirtual org.h2.store.Data.length:()I
isub
istore 17
start local 17 47: aload 1
new java.lang.StringBuilder
dup
ldc "-- chain: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 10
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " type: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 16
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
48: ldc " size: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 17
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " next: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 10
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
49: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
50: aload 2
iload 17
invokevirtual org.h2.store.Data.checkCapacity:(I)V
51: aload 2
aload 13
invokevirtual org.h2.store.Data.getBytes:()[B
aload 13
invokevirtual org.h2.store.Data.length:()I
iload 17
invokevirtual org.h2.store.Data.write:([BII)V
end local 17 52: goto 25
53: StackMap locals:
StackMap stack:
aload 0
aload 1
new java.lang.StringBuilder
dup
ldc "type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 16
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 13
invokevirtual org.h2.store.Data.getBytes:()[B
invokevirtual org.h2.tools.Recover.writeDataError:(Ljava/io/PrintWriter;Ljava/lang/String;[B)V
end local 16 end local 14 end local 13 54: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 55: goto 101
56: StackMap locals: int
StackMap stack:
aload 8
iload 13
laload
lstore 14
start local 14 57: aload 9
iload 13
iaload
istore 16
start local 16 58: aload 0
getfield org.h2.tools.Recover.trace:Z
ifeq 62
59: aload 1
new java.lang.StringBuilder
dup
ldc "-- ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] storage: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.storageId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
60: ldc " key: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 14
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " off: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 16
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
61: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
62: StackMap locals: long int
StackMap stack:
aload 2
iload 16
invokevirtual org.h2.store.Data.setPos:(I)V
63: aload 0
aload 1
aload 2
iload 6
invokevirtual org.h2.tools.Recover.createRecord:(Ljava/io/PrintWriter;Lorg/h2/store/Data;I)[Lorg/h2/value/Value;
astore 17
start local 17 64: aload 17
ifnull 100
65: aload 0
aload 1
invokevirtual org.h2.tools.Recover.createTemporaryTable:(Ljava/io/PrintWriter;)V
66: aload 0
aload 1
aload 2
aload 17
invokevirtual org.h2.tools.Recover.writeRow:(Ljava/io/PrintWriter;Lorg/h2/store/Data;[Lorg/h2/value/Value;)V
67: aload 0
getfield org.h2.tools.Recover.remove:Z
ifeq 100
aload 0
getfield org.h2.tools.Recover.storageId:I
ifne 100
68: aload 17
iconst_3
aaload
invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
astore 18
start local 18 69: aload 18
ldc "CREATE USER "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 100
70: aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
ldc "SALT "
invokevirtual java.lang.String.getBytes:()[B
iload 16
invokestatic org.h2.util.Utils.indexOf:([B[BI)I
istore 19
start local 19 71: iload 19
iflt 100
72: aload 18
ldc "CREATE USER "
invokevirtual java.lang.String.length:()I
73: aload 18
ldc "SALT "
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_1
isub
74: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 20
start local 20 75: aload 20
ldc "IF NOT EXISTS "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 77
76: aload 20
ldc "IF NOT EXISTS "
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 20
77: StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data int long int int long[] int[] long int int long int org.h2.value.Value[] java.lang.String int java.lang.String
StackMap stack:
aload 20
ldc "\""
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 79
78: aload 20
iconst_1
aload 20
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 20
79: StackMap locals:
StackMap stack:
aload 20
ldc ""
invokevirtual java.lang.String.toCharArray:()[C
80: invokestatic org.h2.security.SHA256.getKeyPasswordHash:(Ljava/lang/String;[C)[B
astore 21
start local 21 81: bipush 8
invokestatic org.h2.util.MathUtils.secureRandomBytes:(I)[B
astore 22
start local 22 82: aload 21
aload 22
83: invokestatic org.h2.security.SHA256.getHashWithSalt:([B[B)[B
astore 23
start local 23 84: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
85: ldc "SALT '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
86: astore 24
start local 24 87: aload 24
aload 22
invokestatic org.h2.util.StringUtils.convertBytesToHex:(Ljava/lang/StringBuilder;[B)Ljava/lang/StringBuilder;
88: ldc "' HASH '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
89: aload 24
aload 23
invokestatic org.h2.util.StringUtils.convertBytesToHex:(Ljava/lang/StringBuilder;[B)Ljava/lang/StringBuilder;
90: bipush 39
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
91: aload 24
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
astore 25
start local 25 92: aload 25
iconst_0
aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
93: iload 19
aload 25
arraylength
94: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
95: aload 0
lload 4
invokevirtual org.h2.tools.Recover.seek:(J)V
96: aload 0
getfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
aload 0
getfield org.h2.tools.Recover.pageSize:I
invokevirtual org.h2.store.FileStore.write:([BII)V
97: aload 0
getfield org.h2.tools.Recover.trace:Z
ifeq 99
98: aload 0
getfield org.h2.tools.Recover.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "User: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 20
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
99: StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data int long int int long[] int[] long int int long int org.h2.value.Value[] java.lang.String int java.lang.String byte[] byte[] byte[] java.lang.StringBuilder byte[]
StackMap stack:
aload 0
iconst_0
putfield org.h2.tools.Recover.remove:Z
end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 14 100: StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data int long int int long[] int[] long int int
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
101: iload 13
iload 7
if_icmplt 56
end local 13 102: return
end local 12 end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 103 0 this Lorg/h2/tools/Recover;
0 103 1 writer Ljava/io/PrintWriter;
0 103 2 s Lorg/h2/store/Data;
0 103 3 last Z
0 103 4 pageId J
0 103 6 columnCount I
0 103 7 entryCount I
1 103 8 keys [J
2 103 9 offsets [I
3 103 10 next J
7 103 12 empty I
8 15 13 i I
11 13 14 off I
23 54 13 s2 Lorg/h2/store/Data;
25 54 14 parent J
31 54 16 type I
35 41 17 size I
47 52 17 size I
55 102 13 i I
57 100 14 key J
58 100 16 off I
64 100 17 data [Lorg/h2/value/Value;
69 100 18 sql Ljava/lang/String;
71 100 19 saltIndex I
75 100 20 userName Ljava/lang/String;
81 100 21 userPasswordHash [B
82 100 22 salt [B
84 100 23 passwordHash [B
87 100 24 buff Ljava/lang/StringBuilder;
92 100 25 replacement [B
MethodParameters:
Name Flags
writer
s
last
pageId
columnCount
entryCount
private void seek(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.tools.Recover.store:Lorg/h2/store/FileStore;
lload 1
aload 0
getfield org.h2.tools.Recover.pageSize:I
i2l
lmul
invokevirtual org.h2.store.FileStore.seek:(J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Recover;
0 2 1 page J
MethodParameters:
Name Flags
page
private org.h2.value.Value[] createRecord(java.io.PrintWriter, org.h2.store.Data, int);
descriptor: (Ljava/io/PrintWriter;Lorg/h2/store/Data;I)[Lorg/h2/value/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 3
putfield org.h2.tools.Recover.recordLength:I
1: iload 3
ifgt 4
2: aload 0
aload 1
ldc "columnCount<0"
aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
invokevirtual org.h2.tools.Recover.writeDataError:(Ljava/io/PrintWriter;Ljava/lang/String;[B)V
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
iload 3
anewarray org.h2.value.Value
astore 4
start local 4 5: goto 9
end local 4 StackMap locals:
StackMap stack: java.lang.OutOfMemoryError
6: pop
7: aload 0
aload 1
ldc "out of memory"
aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
invokevirtual org.h2.tools.Recover.writeDataError:(Ljava/io/PrintWriter;Ljava/lang/String;[B)V
8: aconst_null
areturn
start local 4 9: StackMap locals: org.h2.value.Value[]
StackMap stack:
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 10 0 this Lorg/h2/tools/Recover;
0 10 1 writer Ljava/io/PrintWriter;
0 10 2 s Lorg/h2/store/Data;
0 10 3 columnCount I
5 6 4 data [Lorg/h2/value/Value;
9 10 4 data [Lorg/h2/value/Value;
Exception table:
from to target type
4 5 6 Class java.lang.OutOfMemoryError
MethodParameters:
Name Flags
writer
s
columnCount
private void writeRow(java.io.PrintWriter, org.h2.store.Data, org.h2.value.Value[]);
descriptor: (Ljava/io/PrintWriter;Lorg/h2/store/Data;[Lorg/h2/value/Value;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 1: aload 4
ldc "INSERT INTO "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.storageName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " VALUES("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
iconst_0
putfield org.h2.tools.Recover.valueId:I
goto 16
3: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 2
invokevirtual org.h2.store.Data.readValue:()Lorg/h2/value/Value;
astore 5
start local 5 4: aload 3
aload 0
getfield org.h2.tools.Recover.valueId:I
aload 5
aastore
5: aload 0
getfield org.h2.tools.Recover.valueId:I
ifle 7
6: aload 4
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals: org.h2.value.Value
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield org.h2.tools.Recover.storageName:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.valueId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 8: aload 0
aload 4
aload 6
aload 5
invokevirtual org.h2.tools.Recover.getSQL:(Ljava/lang/StringBuilder;Ljava/lang/String;Lorg/h2/value/Value;)V
end local 6 end local 5 9: goto 15
StackMap locals: org.h2.tools.Recover java.io.PrintWriter org.h2.store.Data org.h2.value.Value[] java.lang.StringBuilder
StackMap stack: java.lang.Exception
10: astore 5
start local 5 11: aload 0
aload 1
new java.lang.StringBuilder
dup
ldc "exception "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
invokevirtual org.h2.tools.Recover.writeDataError:(Ljava/io/PrintWriter;Ljava/lang/String;[B)V
end local 5 12: goto 15
13: StackMap locals:
StackMap stack: java.lang.OutOfMemoryError
pop
14: aload 0
aload 1
ldc "out of memory"
aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
invokevirtual org.h2.tools.Recover.writeDataError:(Ljava/io/PrintWriter;Ljava/lang/String;[B)V
15: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.h2.tools.Recover.valueId:I
iconst_1
iadd
putfield org.h2.tools.Recover.valueId:I
StackMap locals:
StackMap stack:
16: aload 0
getfield org.h2.tools.Recover.valueId:I
aload 0
getfield org.h2.tools.Recover.recordLength:I
if_icmplt 3
17: aload 4
ldc ");"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: aload 1
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
19: aload 0
getfield org.h2.tools.Recover.storageId:I
ifne 30
20: new org.h2.result.SimpleRow
dup
aload 3
invokespecial org.h2.result.SimpleRow.<init>:([Lorg/h2/value/Value;)V
astore 5
start local 5 21: new org.h2.engine.MetaRecord
dup
aload 5
invokespecial org.h2.engine.MetaRecord.<init>:(Lorg/h2/result/SearchRow;)V
astore 6
start local 6 22: aload 0
getfield org.h2.tools.Recover.schema:Ljava/util/ArrayList;
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
23: aload 6
invokevirtual org.h2.engine.MetaRecord.getObjectType:()I
ifne 30
24: aload 3
iconst_3
aaload
invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
astore 7
start local 7 25: aload 7
invokestatic org.h2.tools.Recover.extractTableOrViewName:(Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 26: aload 0
getfield org.h2.tools.Recover.tableMap:Ljava/util/HashMap;
aload 6
invokevirtual org.h2.engine.MetaRecord.getId:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 8
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 7 end local 6 end local 5 27: goto 30
StackMap locals:
StackMap stack: java.lang.Throwable
28: astore 5
start local 5 29: aload 0
aload 1
aload 5
invokevirtual org.h2.tools.Recover.writeError:(Ljava/io/PrintWriter;Ljava/lang/Throwable;)V
end local 5 30: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/h2/tools/Recover;
0 31 1 writer Ljava/io/PrintWriter;
0 31 2 s Lorg/h2/store/Data;
0 31 3 data [Lorg/h2/value/Value;
1 31 4 sb Ljava/lang/StringBuilder;
4 9 5 v Lorg/h2/value/Value;
8 9 6 columnName Ljava/lang/String;
11 12 5 e Ljava/lang/Exception;
21 27 5 r Lorg/h2/result/SimpleRow;
22 27 6 meta Lorg/h2/engine/MetaRecord;
25 27 7 sql Ljava/lang/String;
26 27 8 name Ljava/lang/String;
29 30 5 t Ljava/lang/Throwable;
Exception table:
from to target type
3 9 10 Class java.lang.Exception
3 9 13 Class java.lang.OutOfMemoryError
20 27 28 Class java.lang.Throwable
MethodParameters:
Name Flags
writer
s
data
private void resetSchema();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.h2.tools.Recover.schema:Ljava/util/ArrayList;
1: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.h2.tools.Recover.objectIdSet:Ljava/util/HashSet;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.h2.tools.Recover.tableMap:Ljava/util/HashMap;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.h2.tools.Recover.columnTypeMap:Ljava/util/HashMap;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/tools/Recover;
private void writeSchemaSET(java.io.PrintWriter);
descriptor: (Ljava/io/PrintWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ldc "---- Schema SET ----"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
1: aload 0
getfield org.h2.tools.Recover.schema:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: org.h2.tools.Recover java.io.PrintWriter top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.engine.MetaRecord
astore 2
start local 2 3: aload 2
invokevirtual org.h2.engine.MetaRecord.getObjectType:()I
bipush 6
if_icmpne 6
4: aload 2
invokevirtual org.h2.engine.MetaRecord.getSQL:()Ljava/lang/String;
astore 4
start local 4 5: aload 1
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 4 end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/h2/tools/Recover;
0 8 1 writer Ljava/io/PrintWriter;
3 6 2 m Lorg/h2/engine/MetaRecord;
5 6 4 sql Ljava/lang/String;
MethodParameters:
Name Flags
writer
private void writeSchema(java.io.PrintWriter);
descriptor: (Ljava/io/PrintWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ldc "---- Schema ----"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
1: aload 0
getfield org.h2.tools.Recover.schema:Ljava/util/ArrayList;
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
2: aload 0
getfield org.h2.tools.Recover.schema:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: org.h2.tools.Recover java.io.PrintWriter top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.engine.MetaRecord
astore 2
start local 2 4: aload 2
invokevirtual org.h2.engine.MetaRecord.getObjectType:()I
bipush 6
if_icmpeq 8
5: aload 2
invokestatic org.h2.tools.Recover.isSchemaObjectTypeDelayed:(Lorg/h2/engine/MetaRecord;)Z
ifne 8
6: aload 2
invokevirtual org.h2.engine.MetaRecord.getSQL:()Ljava/lang/String;
astore 4
start local 4 7: aload 1
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 4 end local 2 8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: iconst_0
istore 2
start local 2 10: aload 0
getfield org.h2.tools.Recover.tableMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 25
StackMap locals: org.h2.tools.Recover java.io.PrintWriter int top java.util.Iterator
StackMap stack:
11: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 12: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 5
start local 5 13: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 14: aload 0
getfield org.h2.tools.Recover.objectIdSet:Ljava/util/HashSet;
aload 5
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 25
15: aload 6
invokestatic org.h2.tools.Recover.isLobTable:(Ljava/lang/String;)Z
ifeq 25
16: aload 0
aload 5
invokevirtual java.lang.Integer.intValue:()I
invokevirtual org.h2.tools.Recover.setStorage:(I)Ljava/lang/String;
pop
17: aload 1
new java.lang.StringBuilder
dup
ldc "DELETE FROM "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
18: aload 1
new java.lang.StringBuilder
dup
ldc "INSERT INTO "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " SELECT * FROM "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.storageName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
19: aload 6
ldc "INFORMATION_SCHEMA.LOBS"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
20: aload 6
ldc "\"INFORMATION_SCHEMA\".\"LOBS\""
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 25
21: StackMap locals: org.h2.tools.Recover java.io.PrintWriter int java.util.Map$Entry java.util.Iterator java.lang.Integer java.lang.String
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "UPDATE "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " SET `TABLE` = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: bipush -2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
24: iconst_1
istore 2
end local 6 end local 5 end local 3 25: StackMap locals: org.h2.tools.Recover java.io.PrintWriter int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
26: aload 0
getfield org.h2.tools.Recover.tableMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 35
StackMap locals:
StackMap stack:
27: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 28: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 5
start local 5 29: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 30: aload 0
getfield org.h2.tools.Recover.objectIdSet:Ljava/util/HashSet;
aload 5
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 35
31: aload 0
aload 5
invokevirtual java.lang.Integer.intValue:()I
invokevirtual org.h2.tools.Recover.setStorage:(I)Ljava/lang/String;
pop
32: aload 6
invokestatic org.h2.tools.Recover.isLobTable:(Ljava/lang/String;)Z
ifeq 34
33: goto 35
34: StackMap locals: org.h2.tools.Recover java.io.PrintWriter int java.util.Map$Entry java.util.Iterator java.lang.Integer java.lang.String
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "INSERT INTO "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " SELECT * FROM "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.tools.Recover.storageName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 6 end local 5 end local 3 35: StackMap locals: org.h2.tools.Recover java.io.PrintWriter int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
36: aload 0
getfield org.h2.tools.Recover.objectIdSet:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 4
goto 40
StackMap locals:
StackMap stack:
37: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 3
start local 3 38: aload 0
aload 3
invokevirtual java.lang.Integer.intValue:()I
invokevirtual org.h2.tools.Recover.setStorage:(I)Ljava/lang/String;
pop
39: aload 1
new java.lang.StringBuilder
dup
ldc "DROP TABLE "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.tools.Recover.storageName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 3 40: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 37
41: aload 1
ldc "DROP ALIAS READ_BLOB;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
42: aload 1
ldc "DROP ALIAS READ_CLOB;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
43: aload 1
ldc "DROP ALIAS READ_BLOB_DB;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
44: aload 1
ldc "DROP ALIAS READ_CLOB_DB;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
45: iload 2
ifeq 47
46: aload 1
ldc "DELETE FROM INFORMATION_SCHEMA.LOBS WHERE `TABLE` = -2;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
47: StackMap locals: org.h2.tools.Recover java.io.PrintWriter int
StackMap stack:
aload 0
getfield org.h2.tools.Recover.schema:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 52
StackMap locals: org.h2.tools.Recover java.io.PrintWriter int top java.util.Iterator
StackMap stack:
48: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.engine.MetaRecord
astore 3
start local 3 49: aload 3
invokestatic org.h2.tools.Recover.isSchemaObjectTypeDelayed:(Lorg/h2/engine/MetaRecord;)Z
ifeq 52
50: aload 3
invokevirtual org.h2.engine.MetaRecord.getSQL:()Ljava/lang/String;
astore 5
start local 5 51: aload 1
new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 5 end local 3 52: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 48
53: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lorg/h2/tools/Recover;
0 54 1 writer Ljava/io/PrintWriter;
4 8 2 m Lorg/h2/engine/MetaRecord;
7 8 4 sql Ljava/lang/String;
10 54 2 deleteLobs Z
12 25 3 entry Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/lang/String;>;
13 25 5 objectId Ljava/lang/Integer;
14 25 6 name Ljava/lang/String;
28 35 3 entry Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/lang/String;>;
29 35 5 objectId Ljava/lang/Integer;
30 35 6 name Ljava/lang/String;
38 40 3 objectId Ljava/lang/Integer;
49 52 3 m Lorg/h2/engine/MetaRecord;
51 52 5 sql Ljava/lang/String;
MethodParameters:
Name Flags
writer
private static boolean isLobTable(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "INFORMATION_SCHEMA.LOB"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 3
aload 0
ldc "\"INFORMATION_SCHEMA\".\"LOB"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 3
1: aload 0
ldc "\"information_schema\".\"lob"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 3
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private static boolean isSchemaObjectTypeDelayed(org.h2.engine.MetaRecord);
descriptor: (Lorg/h2/engine/MetaRecord;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.h2.engine.MetaRecord.getObjectType:()I
tableswitch { // 1 - 5
1: 1
2: 2
3: 2
4: 1
5: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 m Lorg/h2/engine/MetaRecord;
MethodParameters:
Name Flags
m
private void createTemporaryTable(java.io.PrintWriter);
descriptor: (Ljava/io/PrintWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.tools.Recover.objectIdSet:Ljava/util/HashSet;
aload 0
getfield org.h2.tools.Recover.storageId:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifne 20
1: aload 0
getfield org.h2.tools.Recover.objectIdSet:Ljava/util/HashSet;
aload 0
getfield org.h2.tools.Recover.storageId:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
2: aload 1
ldc "CREATE TABLE "
invokevirtual java.io.PrintWriter.write:(Ljava/lang/String;)V
3: aload 1
aload 0
getfield org.h2.tools.Recover.storageName:Ljava/lang/String;
invokevirtual java.io.PrintWriter.write:(Ljava/lang/String;)V
4: aload 1
bipush 40
invokevirtual java.io.PrintWriter.write:(I)V
5: iconst_0
istore 2
start local 2 6: goto 17
7: StackMap locals: int
StackMap stack:
iload 2
ifle 9
8: aload 1
ldc ", "
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
aload 1
bipush 67
invokevirtual java.io.PrintWriter.write:(I)V
10: aload 1
iload 2
invokevirtual java.io.PrintWriter.print:(I)V
11: aload 1
bipush 32
invokevirtual java.io.PrintWriter.write:(I)V
12: aload 0
getfield org.h2.tools.Recover.columnTypeMap:Ljava/util/HashMap;
new java.lang.StringBuilder
dup
aload 0
getfield org.h2.tools.Recover.storageName:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 13: aload 1
aload 3
ifnonnull 14
ldc "VARCHAR"
goto 15
StackMap locals: org.h2.tools.Recover java.io.PrintWriter int java.lang.String
StackMap stack: java.io.PrintWriter
14: aload 3
StackMap locals: org.h2.tools.Recover java.io.PrintWriter int java.lang.String
StackMap stack: java.io.PrintWriter java.lang.String
15: invokevirtual java.io.PrintWriter.write:(Ljava/lang/String;)V
end local 3 16: iinc 2 1
StackMap locals:
StackMap stack:
17: iload 2
aload 0
getfield org.h2.tools.Recover.recordLength:I
if_icmplt 7
end local 2 18: aload 1
ldc ");"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
19: aload 1
invokevirtual java.io.PrintWriter.flush:()V
20: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/h2/tools/Recover;
0 21 1 writer Ljava/io/PrintWriter;
6 18 2 i I
13 16 3 columnType Ljava/lang/String;
MethodParameters:
Name Flags
writer
private static java.lang.String (java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
ldc " TABLE "
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 1
start local 1 1: aload 0
ldc " VIEW "
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 2
start local 2 2: iload 1
ifle 7
iload 2
ifle 7
3: iload 1
iload 2
if_icmpge 6
4: iconst_m1
istore 2
5: goto 7
6: StackMap locals: int int
StackMap stack:
iconst_m1
istore 1
7: StackMap locals:
StackMap stack:
iload 2
ifle 10
8: aload 0
iload 2
ldc " VIEW "
invokevirtual java.lang.String.length:()I
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 0
9: goto 14
StackMap locals:
StackMap stack:
10: iload 1
ifle 13
11: aload 0
iload 1
ldc " TABLE "
invokevirtual java.lang.String.length:()I
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 0
12: goto 14
13: StackMap locals:
StackMap stack:
ldc "UNKNOWN"
areturn
14: StackMap locals:
StackMap stack:
aload 0
ldc "IF NOT EXISTS "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 16
15: aload 0
ldc "IF NOT EXISTS "
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 0
16: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 17: iconst_0
istore 4
start local 4 18: goto 29
19: StackMap locals: int int
StackMap stack:
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 20: iload 5
bipush 34
if_icmpne 25
21: iload 3
ifeq 22
iconst_0
goto 23
StackMap locals: int
StackMap stack:
22: iconst_1
StackMap locals:
StackMap stack: int
23: istore 3
24: goto 28
StackMap locals:
StackMap stack:
25: iload 3
ifne 28
iload 5
bipush 32
if_icmple 26
iload 5
bipush 40
if_icmpne 28
26: StackMap locals:
StackMap stack:
aload 0
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 0
27: aload 0
areturn
end local 5 28: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
29: iload 4
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 19
end local 4 30: ldc "UNKNOWN"
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 sql Ljava/lang/String;
1 31 1 indexTable I
2 31 2 indexView I
17 31 3 ignore Z
18 30 4 i I
20 28 5 ch C
MethodParameters:
Name Flags
sql
private static void closeSilently(org.h2.store.FileStore);
descriptor: (Lorg/h2/store/FileStore;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 2
1: aload 0
invokevirtual org.h2.store.FileStore.closeSilently:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 fileStore Lorg/h2/store/FileStore;
MethodParameters:
Name Flags
fileStore
private void writeError(java.io.PrintWriter, java.lang.Throwable);
descriptor: (Ljava/io/PrintWriter;Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 2
1: aload 1
new java.lang.StringBuilder
dup
ldc "// error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
ldc "Error"
aload 2
invokevirtual org.h2.tools.Recover.traceError:(Ljava/lang/String;Ljava/lang/Throwable;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/tools/Recover;
0 4 1 writer Ljava/io/PrintWriter;
0 4 2 e Ljava/lang/Throwable;
MethodParameters:
Name Flags
writer
e
public java.lang.String getDatabasePath();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Recover.databaseName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
public org.h2.store.FileStore openFile(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Lorg/h2/store/FileStore;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
ldc "rw"
invokestatic org.h2.store.FileStore.open:(Lorg/h2/store/DataHandler;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/store/FileStore;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
0 1 1 name Ljava/lang/String;
0 1 2 mode Ljava/lang/String;
0 1 3 mustExist Z
MethodParameters:
Name Flags
name
mode
mustExist
public void checkPowerOff();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
public void checkWritingAllowed();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
public int getMaxLengthInplaceLob();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
public java.lang.String getLobCompressionAlgorithm(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
0 1 1 type I
MethodParameters:
Name Flags
type
public java.lang.Object getLobSyncObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
public org.h2.util.SmallLRUCache<java.lang.String, java.lang.String[]> getLobFileListCache();
descriptor: ()Lorg/h2/util/SmallLRUCache;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
Signature: ()Lorg/h2/util/SmallLRUCache<Ljava/lang/String;[Ljava/lang/String;>;
public org.h2.util.TempFileDeleter getTempFileDeleter();
descriptor: ()Lorg/h2/util/TempFileDeleter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic org.h2.util.TempFileDeleter.getInstance:()Lorg/h2/util/TempFileDeleter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
public org.h2.store.LobStorageBackend getLobStorage();
descriptor: ()Lorg/h2/store/LobStorageBackend;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
public int readLob(long, byte[], long, byte[], int, int);
descriptor: (J[BJ[BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=9, args_size=7
start local 0 start local 1 start local 3 start local 4 start local 6 start local 7 start local 8 0: invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
athrow
end local 8 end local 7 end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
0 1 1 lobId J
0 1 3 hmac [B
0 1 4 offset J
0 1 6 buff [B
0 1 7 off I
0 1 8 length I
MethodParameters:
Name Flags
lobId
hmac
offset
buff
off
length
public org.h2.api.JavaObjectSerializer getJavaObjectSerializer();
descriptor: ()Lorg/h2/api/JavaObjectSerializer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
public org.h2.value.CompareMode getCompareMode();
descriptor: ()Lorg/h2/value/CompareMode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aconst_null
iconst_0
invokestatic org.h2.value.CompareMode.getInstance:(Ljava/lang/String;I)Lorg/h2/value/CompareMode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Recover;
public org.h2.store.LobStorageInterface getLobStorage();
descriptor: ()Lorg/h2/store/LobStorageInterface;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.h2.tools.Recover.getLobStorage:()Lorg/h2/store/LobStorageBackend;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Recover.java"
NestMembers:
org.h2.tools.Recover$1 org.h2.tools.Recover$2 org.h2.tools.Recover$PageInputStream org.h2.tools.Recover$Stats
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public final Builder = org.h2.mvstore.MVStore$Builder of org.h2.mvstore.MVStore
org.h2.tools.Recover$1
org.h2.tools.Recover$2
PageInputStream = org.h2.tools.Recover$PageInputStream of org.h2.tools.Recover
Stats = org.h2.tools.Recover$Stats of org.h2.tools.Recover