public class org.h2.tools.Backup extends org.h2.util.Tool
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.tools.Backup
super_class: org.h2.util.Tool
{
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/Backup;
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.Backup
dup
invokespecial org.h2.tools.Backup.<init>:()V
aload 0
invokevirtual org.h2.tools.Backup.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=5, locals=8, args_size=2
start local 0 start local 1 0: ldc "backup.zip"
astore 2
start local 2 1: ldc "."
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 24
6: StackMap locals: org.h2.tools.Backup java.lang.String[] java.lang.String java.lang.String java.lang.String int int
StackMap stack:
aload 1
iload 6
aaload
astore 7
start local 7 7: aload 7
ldc "-dir"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
8: aload 1
iinc 6 1
iload 6
aaload
astore 3
9: goto 23
StackMap locals: java.lang.String
StackMap stack:
10: aload 7
ldc "-db"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: aload 1
iinc 6 1
iload 6
aaload
astore 4
12: goto 23
StackMap locals:
StackMap stack:
13: aload 7
ldc "-quiet"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
14: iconst_1
istore 5
15: goto 23
StackMap locals:
StackMap stack:
16: aload 7
ldc "-file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
17: aload 1
iinc 6 1
iload 6
aaload
astore 2
18: goto 23
StackMap locals:
StackMap stack:
19: aload 7
ldc "-help"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
aload 7
ldc "-?"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.tools.Backup.showUsage:()V
21: return
22: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual org.h2.tools.Backup.showUsageAndThrowUnsupportedOption:(Ljava/lang/String;)Ljava/sql/SQLException;
pop
end local 7 23: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
24: aload 1
ifnull 25
iload 6
aload 1
arraylength
if_icmplt 6
end local 6 25: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
aload 4
iload 5
invokevirtual org.h2.tools.Backup.process:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
26: goto 29
StackMap locals:
StackMap stack: java.lang.Exception
27: astore 6
start local 6 28: aload 6
invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
athrow
end local 6 29: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/h2/tools/Backup;
0 30 1 args [Ljava/lang/String;
1 30 2 zipFileName Ljava/lang/String;
2 30 3 dir Ljava/lang/String;
3 30 4 db Ljava/lang/String;
4 30 5 quiet Z
5 25 6 i I
7 23 7 arg Ljava/lang/String;
28 29 6 e Ljava/lang/Exception;
Exception table:
from to target type
25 26 27 Class java.lang.Exception
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
args
public static void execute(java.lang.String, java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.h2.tools.Backup
dup
invokespecial org.h2.tools.Backup.<init>:()V
aload 0
aload 1
aload 2
iload 3
invokevirtual org.h2.tools.Backup.process:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
1: goto 4
StackMap locals:
StackMap stack: java.lang.Exception
2: astore 4
start local 4 3: aload 4
invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
athrow
end local 4 4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 zipFileName Ljava/lang/String;
0 5 1 directory Ljava/lang/String;
0 5 2 db Ljava/lang/String;
0 5 3 quiet Z
3 4 4 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
zipFileName
directory
db
quiet
private void process(java.lang.String, java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=19, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
ifnull 1
aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 6
start local 6 3: iload 6
ifeq 6
4: aload 2
invokestatic org.h2.store.fs.FileUtils.newDirectoryStream:(Ljava/lang/String;)Ljava/util/List;
astore 5
start local 5 5: goto 7
end local 5 6: StackMap locals: org.h2.tools.Backup java.lang.String java.lang.String java.lang.String int top int
StackMap stack:
aload 2
aload 3
iconst_1
invokestatic org.h2.store.FileLister.getDatabaseFiles:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/ArrayList;
astore 5
start local 5 7: StackMap locals: org.h2.tools.Backup java.lang.String java.lang.String java.lang.String int java.util.List int
StackMap stack:
aload 5
invokeinterface java.util.List.isEmpty:()Z
ifeq 11
8: iload 4
ifne 10
9: aload 0
aload 2
aload 3
invokevirtual org.h2.tools.Backup.printNoDatabaseFilesFound:(Ljava/lang/String;Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
return
11: StackMap locals:
StackMap stack:
iload 4
ifne 13
12: aload 5
ldc "backup"
invokestatic org.h2.store.FileLister.tryUnlockDatabase:(Ljava/util/List;Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
aload 1
invokestatic org.h2.store.fs.FileUtils.toRealPath:(Ljava/lang/String;)Ljava/lang/String;
astore 1
14: aload 1
invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
15: aconst_null
astore 7
start local 7 16: aload 1
iconst_0
invokestatic org.h2.store.fs.FileUtils.newOutputStream:(Ljava/lang/String;Z)Ljava/io/OutputStream;
astore 7
17: aconst_null
astore 8
aconst_null
astore 9
18: new java.util.zip.ZipOutputStream
dup
aload 7
invokespecial java.util.zip.ZipOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 10
start local 10 19: ldc ""
astore 11
start local 11 20: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 27
StackMap locals: org.h2.tools.Backup java.lang.String java.lang.String java.lang.String int java.util.List int java.io.OutputStream java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream java.lang.String top java.util.Iterator
StackMap stack:
21: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 12
start local 12 22: iload 6
ifne 25
23: aload 12
ldc ".h2.db"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 25
24: aload 12
ldc ".mv.db"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 27
25: StackMap locals: org.h2.tools.Backup java.lang.String java.lang.String java.lang.String int java.util.List int java.io.OutputStream java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream java.lang.String java.lang.String java.util.Iterator
StackMap stack:
aload 12
invokestatic org.h2.store.fs.FileUtils.getParent:(Ljava/lang/String;)Ljava/lang/String;
astore 11
26: goto 28
end local 12 27: StackMap locals: org.h2.tools.Backup java.lang.String java.lang.String java.lang.String int java.util.List int java.io.OutputStream java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream java.lang.String top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
28: StackMap locals: org.h2.tools.Backup java.lang.String java.lang.String java.lang.String int java.util.List int java.io.OutputStream java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream java.lang.String
StackMap stack:
aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 54
StackMap locals: org.h2.tools.Backup java.lang.String java.lang.String java.lang.String int java.util.List int java.io.OutputStream java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream java.lang.String top java.util.Iterator
StackMap stack:
29: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 12
start local 12 30: aload 12
invokestatic org.h2.store.fs.FileUtils.toRealPath:(Ljava/lang/String;)Ljava/lang/String;
astore 14
start local 14 31: aload 14
aload 11
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 33
32: 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 " does not start with "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
33: StackMap locals: org.h2.tools.Backup java.lang.String java.lang.String java.lang.String int java.util.List int java.io.OutputStream java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream java.lang.String java.lang.String java.util.Iterator java.lang.String
StackMap stack:
aload 14
aload 1
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 35
34: goto 54
35: StackMap locals:
StackMap stack:
aload 12
invokestatic org.h2.store.fs.FileUtils.isDirectory:(Ljava/lang/String;)Z
ifeq 37
36: goto 54
37: StackMap locals:
StackMap stack:
aload 14
aload 11
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 14
38: aload 14
invokestatic org.h2.command.dml.BackupCommand.correctFileName:(Ljava/lang/String;)Ljava/lang/String;
astore 14
39: new java.util.zip.ZipEntry
dup
aload 14
invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
astore 15
start local 15 40: aload 10
aload 15
invokevirtual java.util.zip.ZipOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
41: aconst_null
astore 16
start local 16 42: aload 12
invokestatic org.h2.store.fs.FileUtils.newInputStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 16
43: aload 16
aload 10
invokestatic org.h2.util.IOUtils.copyAndCloseInput:(Ljava/io/InputStream;Ljava/io/OutputStream;)J
pop2
44: goto 50
StackMap locals: org.h2.tools.Backup java.lang.String java.lang.String java.lang.String int java.util.List int java.io.OutputStream java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream java.lang.String java.lang.String java.util.Iterator java.lang.String java.util.zip.ZipEntry java.io.InputStream
StackMap stack: java.io.FileNotFoundException
45: pop
46: aload 16
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
goto 51
47: StackMap locals:
StackMap stack: java.lang.Throwable
astore 17
48: aload 16
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
49: aload 17
athrow
50: StackMap locals:
StackMap stack:
aload 16
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
51: StackMap locals:
StackMap stack:
aload 10
invokevirtual java.util.zip.ZipOutputStream.closeEntry:()V
52: iload 4
ifne 54
53: aload 0
getfield org.h2.tools.Backup.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Processed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 12
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
end local 16 end local 15 end local 14 end local 12 54: StackMap locals: org.h2.tools.Backup java.lang.String java.lang.String java.lang.String int java.util.List int java.io.OutputStream java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream java.lang.String top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
end local 11 55: aload 10
ifnull 66
aload 10
invokevirtual java.util.zip.ZipOutputStream.close:()V
goto 66
StackMap locals: org.h2.tools.Backup java.lang.String java.lang.String java.lang.String int java.util.List int java.io.OutputStream java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream
StackMap stack: java.lang.Throwable
56: astore 8
aload 10
ifnull 57
aload 10
invokevirtual java.util.zip.ZipOutputStream.close:()V
end local 10 StackMap locals:
StackMap stack:
57: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
58: astore 9
aload 8
ifnonnull 59
aload 9
astore 8
goto 60
StackMap locals:
StackMap stack:
59: aload 8
aload 9
if_acmpeq 60
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
60: aload 8
athrow
61: StackMap locals: org.h2.tools.Backup java.lang.String java.lang.String java.lang.String int java.util.List int java.io.OutputStream
StackMap stack: java.io.IOException
astore 8
start local 8 62: aload 8
aload 1
invokestatic org.h2.message.DbException.convertIOException:(Ljava/io/IOException;Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 8 63: StackMap locals:
StackMap stack: java.lang.Throwable
astore 18
64: aload 7
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
65: aload 18
athrow
66: StackMap locals:
StackMap stack:
aload 7
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
67: return
end local 7 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 68 0 this Lorg/h2/tools/Backup;
0 68 1 zipFileName Ljava/lang/String;
0 68 2 directory Ljava/lang/String;
0 68 3 db Ljava/lang/String;
0 68 4 quiet Z
5 6 5 list Ljava/util/List<Ljava/lang/String;>;
7 68 5 list Ljava/util/List<Ljava/lang/String;>;
3 68 6 allFiles Z
16 68 7 fileOut Ljava/io/OutputStream;
19 57 10 zipOut Ljava/util/zip/ZipOutputStream;
20 55 11 base Ljava/lang/String;
22 27 12 fileName Ljava/lang/String;
30 54 12 fileName Ljava/lang/String;
31 54 14 f Ljava/lang/String;
40 54 15 entry Ljava/util/zip/ZipEntry;
42 54 16 in Ljava/io/InputStream;
62 63 8 e Ljava/io/IOException;
Exception table:
from to target type
42 44 45 Class java.io.FileNotFoundException
42 46 47 any
19 55 56 any
18 58 58 any
16 61 61 Class java.io.IOException
16 63 63 any
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
zipFileName
directory
db
quiet
}
SourceFile: "Backup.java"