Package org.h2.tools

Class 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • CHECKSUMS

        private static final java.lang.String[] CHECKSUMS
    • Constructor Detail

      • Upgrade

        private Upgrade()
    • 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 URL
        info - 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 exception
        java.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)