Package org.h2.mvstore
Class MVStoreTool
- java.lang.Object
-
- org.h2.mvstore.MVStoreTool
-
public class MVStoreTool extends java.lang.ObjectUtility methods used in combination with the MVStore.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classMVStoreTool.GenericDataTypeA data type that can read any data that is persisted, and converts it to a byte array.
-
Constructor Summary
Constructors Constructor Description MVStoreTool()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidcompact(java.lang.String fileName, boolean compress)Compress the store by creating a new file and copying the live pages there.static voidcompact(java.lang.String sourceFileName, java.lang.String targetFileName, boolean compress)Copy all live pages from the source store to the target store.static voidcompact(MVStore source, MVStore target)Copy all live pages from the source store to the target store.static voidcompactCleanUp(java.lang.String fileName)Clean up if needed, in a case a compact operation was interrupted due to killing the process or a power failure.static voiddump(java.lang.String fileName, boolean details)Read the contents of the file and write them to system out.static voiddump(java.lang.String fileName, java.io.Writer writer, boolean details)Read the contents of the file and display them in a human-readable format.private static java.lang.StringformatTimestamp(long t, long start)private static CompressorgetCompressor(boolean fast)(package private) static MVMap.Builder<java.lang.Object,java.lang.Object>getGenericMapBuilder()private static intgetPercent(long value, long max)static voidinfo(java.lang.String fileName)Read the summary information of the file and write them to system out.static java.lang.Stringinfo(java.lang.String fileName, java.io.Writer writer)Read the summary information of the file and write them to system out.static voidmain(java.lang.String... args)Runs this tool.static voidrepair(java.lang.String fileName)Repair a store by rolling back to the newest good version.static longrollback(java.lang.String fileName, long targetVersion, java.io.Writer writer)Roll back to a given revision into a file called *.temp.
-
-
-
Method Detail
-
main
public static void main(java.lang.String... args)
Runs this tool. Options are case sensitive. Supported options are:Command line options [-dump <fileName>] Dump the contends of the file [-info <fileName>] Get summary information about a file [-compact <fileName>] Compact a store [-compress <fileName>] Compact a store with compression enabled - Parameters:
args- the command line arguments
-
dump
public static void dump(java.lang.String fileName, boolean details)Read the contents of the file and write them to system out.- Parameters:
fileName- the name of the filedetails- whether to print details
-
info
public static void info(java.lang.String fileName)
Read the summary information of the file and write them to system out.- Parameters:
fileName- the name of the file
-
dump
public static void dump(java.lang.String fileName, java.io.Writer writer, boolean details)Read the contents of the file and display them in a human-readable format.- Parameters:
fileName- the name of the filewriter- the print writerdetails- print the page details
-
getCompressor
private static Compressor getCompressor(boolean fast)
-
info
public static java.lang.String info(java.lang.String fileName, java.io.Writer writer)Read the summary information of the file and write them to system out.- Parameters:
fileName- the name of the filewriter- the print writer- Returns:
- null if successful (if there was no error), otherwise the error message
-
formatTimestamp
private static java.lang.String formatTimestamp(long t, long start)
-
getPercent
private static int getPercent(long value, long max)
-
compact
public static void compact(java.lang.String fileName, boolean compress)Compress the store by creating a new file and copying the live pages there. Temporarily, a file with the suffix ".tempFile" is created. This file is then renamed, replacing the original file, if possible. If not, the new file is renamed to ".newFile", then the old file is removed, and the new file is renamed. This might be interrupted, so it's better to compactCleanUp before opening a store, in case this method was used.- Parameters:
fileName- the file namecompress- whether to compress the data
-
compactCleanUp
public static void compactCleanUp(java.lang.String fileName)
Clean up if needed, in a case a compact operation was interrupted due to killing the process or a power failure. This will delete temporary files (if any), and in case atomic file replacements were not used, rename the new file.- Parameters:
fileName- the file name
-
compact
public static void compact(java.lang.String sourceFileName, java.lang.String targetFileName, boolean compress)Copy all live pages from the source store to the target store.- Parameters:
sourceFileName- the name of the source storetargetFileName- the name of the target storecompress- whether to compress the data
-
compact
public static void compact(MVStore source, MVStore target)
Copy all live pages from the source store to the target store.- Parameters:
source- the source storetarget- the target store
-
repair
public static void repair(java.lang.String fileName)
Repair a store by rolling back to the newest good version.- Parameters:
fileName- the file name
-
rollback
public static long rollback(java.lang.String fileName, long targetVersion, java.io.Writer writer)Roll back to a given revision into a file called *.temp.- Parameters:
fileName- the file nametargetVersion- the version to roll back to (Long.MAX_VALUE for the latest version)writer- the log writer- Returns:
- the version rolled back to (-1 if no version)
-
getGenericMapBuilder
static MVMap.Builder<java.lang.Object,java.lang.Object> getGenericMapBuilder()
-
-