Class DBVendorTypeHelper

java.lang.Object
org.glassfish.persistence.common.database.DBVendorTypeHelper

public class DBVendorTypeHelper extends Object
Author:
Mitesh Meswani This class defines string constants representing database names. This class is responsible to translate given database name to internal name.
  • Field Details

  • Constructor Details

    • DBVendorTypeHelper

      public DBVendorTypeHelper()
  • Method Details

    • getDBType

      public static String getDBType(String vendorName)
      Get Database Vendor Type from vendor name.
      Parameters:
      vendorName - Input vendor name. Typically this is obtained by querying DatabaseMetaData.
      Returns:
      Database type that corresponds to vendorName. If vendorName does not match any of predefined vendor names, the database type returned is generated using following logic.
              detectedDbType = vendorName.toUpperCase(Locale.ENGLISH);
              int i = detectedDbType.indexOf('/');
              if (i > -1) {
                 detectedDbType = detectedDbType.substring(0, i);
              }
       
      If vendorName is null, DEFAULT_DB is returned.
    • getEnumDBType

      public static int getEnumDBType(DatabaseMetaData metaData) throws SQLException
      Gets enumerated database type for given metaData
      Parameters:
      metaData - Input DataBaseMetaData.
      Returns:
      Enumerated database type as described by getEnumDBType(java.lang.String).
      Throws:
      SQLException
    • getEnumDBType

      public static int getEnumDBType(String dbType)
      Gets enumerated database type for given dbType
      Parameters:
      dbType - Input database Type. This should have been obtained from a previous call to getDBType(java.lang.String)
      Returns:
      dbType translated to one of the enumerations above. If dbType does not correspond to one of the predefined types, OTHER is returned
    • requireUpperCaseSchema

      public static boolean requireUpperCaseSchema(DatabaseMetaData dmd) throws SQLException
      Determines whether to use uppercase schema name for a give database.
      Parameters:
      dmd - The DatabaseMetaData for the database
      Returns:
      true if upper case schemaname is to be used. False otherwise.
      Throws:
      SQLException