/**
  * Release geometry type
  *
  * @param connection Active h2 connection with DROP DOMAIN and DROP ALIAS rights
  */
 public static void unRegisterGeometryType(Connection connection) throws SQLException {
   Statement st = connection.createStatement();
   DomainInfo[] domainInfos = getBuiltInsType();
   for (DomainInfo domainInfo : domainInfos) {
     st.execute("DROP DOMAIN IF EXISTS " + domainInfo.getDomainName());
   }
 }
 /**
  * Register geometry type in an OSGi environment
  *
  * @param connection Active H2 connection
  * @throws SQLException
  */
 public static void registerGeometryType(Connection connection) throws SQLException {
   Statement st = connection.createStatement();
   for (DomainInfo domainInfo : getBuiltInsType()) {
     // Check for byte array first, to not throw an enigmatic error CastException
     st.execute(
         "CREATE DOMAIN IF NOT EXISTS "
             + domainInfo.getDomainName()
             + " AS "
             + GEOMETRY_BASE_TYPE
             + " CHECK (ST_GeometryTypeCode(VALUE) = "
             + domainInfo.getGeometryTypeCode()
             + ");");
   }
 }