Class Oracle10GDatabaseType

java.lang.Object
org.ofbiz.core.entity.jdbc.dbtype.AbstractDatabaseType
org.ofbiz.core.entity.jdbc.dbtype.Oracle10GDatabaseType
All Implemented Interfaces:
DatabaseType, ReservedKeywordsAware

public class Oracle10GDatabaseType extends AbstractDatabaseType
  • Constructor Details

    • Oracle10GDatabaseType

      public Oracle10GDatabaseType()
  • Method Details

    • matchesConnection

      public boolean matchesConnection(Connection con) throws SQLException
      Description copied from class: AbstractDatabaseType
      Checks whether the connection object passed in matches the database type represented by this instance of the DatabaseType class.
      Specified by:
      matchesConnection in interface DatabaseType
      Specified by:
      matchesConnection in class AbstractDatabaseType
      Returns:
      true if the Connection matches this DatabaseType instance.
      Throws:
      SQLException
    • getChangeColumnTypeStructure

      protected String getChangeColumnTypeStructure()
      Overrides:
      getChangeColumnTypeStructure in class AbstractDatabaseType
      Returns:
      a format string to compose an SQL query to change a column in DB.
    • detectUnicodeWidening

      public static boolean detectUnicodeWidening(String typeName, DatabaseUtil.ColumnCheckInfo ccInfo, String oracleSpecificExtension)
      Warning: dirty hacks! Detects oracle specific type extension. In oracle, VARCHAR2() type can be represented as:
      VARCHAR2(x)
      VARCHAR2(x BYTE)
      Field with length in bytes, JDBC will attempt to put UTF-8 texts in there but lenght in characters cannot be guaranteed.
      VARCHAR(x CHAR)
      Field with length in characters, handling Unicode.
      Parameters:
      typeName - the configured field type (general, without field size).
      ccInfo - the JDBC supplied information on the column.
      oracleSpecificExtension - the declared mode of the VARCHAR2 extension, possible: "BYTE", "CHAR" or null.
      Returns:
      true, if the column is an Oracle VARCHAR2 type column without Unicode support and the definition requires it.
    • detectUnicodeExtension

      public static boolean detectUnicodeExtension(DatabaseUtil.ColumnCheckInfo ccInfo)
      Unlike NVARCHAR2() the VARCHAR2(x CHAR) is Oracle specific and cannot be clearly seen through JDBC. The only difference is in the declared CHAR_OCTET_LENGTH of the field, which is 4 times the declared field size. This is used to detect those field types here.
      Parameters:
      ccInfo - the JDBC supplied information on the column.
      Returns:
      true, if the column is an Oracle VARCHAR2 type column with Unicode support.
    • getDropIndexStructure

      public String getDropIndexStructure()
      Overrides:
      getDropIndexStructure in class AbstractDatabaseType
      Returns:
      a format string to compose an SQL query to drop index in DB.
    • getSimpleSelectSqlSyntax

      public String getSimpleSelectSqlSyntax(boolean clusterMode)
      Description copied from interface: DatabaseType
      Based on the cluster mode parameter, and the capabilities of the database, return the appropriate SELECT statement for usage.