Package org.h2.tools
Class Upgrade
- java.lang.Object
-
- org.h2.tools.Upgrade
-
public final class Upgrade extends java.lang.Object
Upgrade utility.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String[]
CHECKSUMS
private static java.lang.String
REPOSITORY
-
Constructor Summary
Constructors Modifier Constructor Description private
Upgrade()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static byte[]
check(byte[] data, java.lang.String sha256Checksum, java.lang.String checksummedFile)
private static java.lang.String
copyProperty(ConnectionInfo ci, java.lang.StringBuilder oldUrl, java.lang.String name)
private static byte[]
download(java.lang.String fileURL, java.lang.String sha256Checksum)
private static byte[]
downloadUsingMaven(java.lang.String group, java.lang.String artifact, java.lang.String version, java.lang.String sha256Checksum)
private static int
exec(java.util.ArrayList<java.lang.String> args)
private static java.lang.String
getSHA256(byte[] data)
static java.sql.Driver
loadH2(int version)
Loads the specified version of H2 in a separate class loader.private static void
rename(java.lang.String name, boolean back)
private static void
rename(java.lang.String name, java.lang.String suffix, boolean back)
static void
unloadH2(java.sql.Driver driver)
Unloads the specified driver of H2.static boolean
upgrade(java.lang.String url, java.util.Properties info, int version)
Performs database upgrade from an older version of H2.
-
-
-
Field Detail
-
CHECKSUMS
private static final java.lang.String[] CHECKSUMS
-
REPOSITORY
private static final java.lang.String REPOSITORY
- See Also:
- Constant Field Values
-
-
Method Detail
-
upgrade
public static boolean upgrade(java.lang.String url, java.util.Properties info, int version) throws java.lang.Exception
Performs database upgrade from an older version of H2.- Parameters:
url
- the JDBC connection URLinfo
- the connection properties ("user", "password", etc).version
- the old version of H2- Returns:
true
on success,false
if URL is a remote or in-memory URL- Throws:
java.lang.Exception
- on failure
-
rename
private static void rename(java.lang.String name, boolean back) throws java.io.IOException
- Throws:
java.io.IOException
-
rename
private static void rename(java.lang.String name, java.lang.String suffix, boolean back) throws java.io.IOException
- Throws:
java.io.IOException
-
copyProperty
private static java.lang.String copyProperty(ConnectionInfo ci, java.lang.StringBuilder oldUrl, java.lang.String name)
-
loadH2
public static java.sql.Driver loadH2(int version) throws java.io.IOException, java.lang.ReflectiveOperationException
Loads the specified version of H2 in a separate class loader.- Parameters:
version
- the version to load- Returns:
- the driver of the specified version
- Throws:
java.io.IOException
- on I/O exceptionjava.lang.ReflectiveOperationException
- on exception during initialization of the driver
-
unloadH2
public static void unloadH2(java.sql.Driver driver) throws java.lang.ReflectiveOperationException
Unloads the specified driver of H2.- Parameters:
driver
- the driver to unload- Throws:
java.lang.ReflectiveOperationException
- on exception
-
downloadUsingMaven
private static byte[] downloadUsingMaven(java.lang.String group, java.lang.String artifact, java.lang.String version, java.lang.String sha256Checksum) throws java.io.IOException
- Throws:
java.io.IOException
-
exec
private static int exec(java.util.ArrayList<java.lang.String> args)
-
download
private static byte[] download(java.lang.String fileURL, java.lang.String sha256Checksum)
-
check
private static byte[] check(byte[] data, java.lang.String sha256Checksum, java.lang.String checksummedFile)
-
getSHA256
private static java.lang.String getSHA256(byte[] data)
-
-