Class PostgreSQLFactory

All Implemented Interfaces:
PersistenceFactory

public final class PostgreSQLFactory extends GenericFactory
PersistenceFactory for postgreSQL JDBC driver.
Version:
$Revision: 8377 $ $Date: 2006-02-21 16:05:42 -0700 (Tue, 21 Feb 2006) $
Author:
Assaf Arkin
  • Field Details

  • Constructor Details

    • PostgreSQLFactory

      public PostgreSQLFactory()
  • Method Details

    • getFactoryName

      public String getFactoryName()
      Description copied from interface: PersistenceFactory
      Returns the name of this factory. A descriptive name that indicates the type of supported database server or SQL syntax.
      Specified by:
      getFactoryName in interface PersistenceFactory
      Overrides:
      getFactoryName in class GenericFactory
      Returns:
      The name of this factory
    • getQueryExpression

      public QueryExpression getQueryExpression()
      Description copied from interface: PersistenceFactory
      Returns a new empty query expression suitable for the underlying SQL engine. The implementation will construct SQL query statements in the preferred syntax.
      Specified by:
      getQueryExpression in interface PersistenceFactory
      Overrides:
      getQueryExpression in class GenericFactory
      Returns:
      New empty query expression
    • quoteName

      public String quoteName(String name)
      Description copied from interface: PersistenceFactory
      Returns the quoted identifier suitable for preventing conflicts between database identifiers and reserved keywords.
      Specified by:
      quoteName in interface PersistenceFactory
      Overrides:
      quoteName in class GenericFactory
      Parameters:
      name - The identifier (table, column, etc)
      Returns:
      The quoted identifier
    • getCallQuery

      public PersistenceQuery getCallQuery(String call, Class<?>[] paramTypes, Class<?> javaClass, String[] fields, int[] sqlTypes)
      Needed to process OQL queries of "CALL" type (using stored procedure call). This feature is specific for JDO.
      Specified by:
      getCallQuery in interface PersistenceFactory
      Overrides:
      getCallQuery in class BaseFactory
      Parameters:
      call - Stored procedure call (without "{call")
      paramTypes - The types of the query parameters
      javaClass - The Java class of the query results
      fields - The field names
      sqlTypes - The field SQL types
      Returns:
      null if this feature is not supported.
    • adjustSqlType

      public Class<?> adjustSqlType(Class<?> sqlType)
      Description copied from class: BaseFactory
      Some databases has some problems with some SQL types. Usually it is enough to merely replace one SQL type by another.
      Specified by:
      adjustSqlType in interface PersistenceFactory
      Overrides:
      adjustSqlType in class BaseFactory
      Parameters:
      sqlType - The correspondent Java class for the SQL type in mapping.xml
      Returns:
      The correspondent Java class for the SQL type that should be used instead.
    • isKeyGeneratorIdentitySupported

      public boolean isKeyGeneratorIdentitySupported()
      Description copied from class: GenericFactory
      Does persistence factory support generation of unique keys with identity key generator?
      Specified by:
      isKeyGeneratorIdentitySupported in interface PersistenceFactory
      Overrides:
      isKeyGeneratorIdentitySupported in class GenericFactory
      Returns:
      true if persistence factory is able to generate unique keys with identity key generator, false otherwise.
    • isKeyGeneratorIdentityTypeSupported

      public boolean isKeyGeneratorIdentityTypeSupported(int type)
      Description copied from class: GenericFactory
      Does identity key generator support generation of unique keys for the given SQL type?
      Specified by:
      isKeyGeneratorIdentityTypeSupported in interface PersistenceFactory
      Overrides:
      isKeyGeneratorIdentityTypeSupported in class GenericFactory
      Parameters:
      type - SQL type to check for support by identity key generator.
      Returns:
      true if persistence factory is able to generate unique keys of given SQL type with identity key generator, false otherwise.
    • getIdentitySelectString

      public String getIdentitySelectString(String tableName, String columnName)
      Description copied from class: GenericFactory
      Returns the database specific query string for retrieving last identity value.
      Specified by:
      getIdentitySelectString in interface PersistenceFactory
      Overrides:
      getIdentitySelectString in class GenericFactory
      Parameters:
      tableName - Name of the table from which identity needs to be fetched.
      columnName - Name of the column from which identity needs to be fetched.
      Returns:
      SQL Query string for fetching the identity value.
    • isKeyGeneratorSequenceSupported

      public boolean isKeyGeneratorSequenceSupported(boolean returning, boolean trigger)
      Description copied from class: GenericFactory
      Does persistence factory support generation of new key at the time of new object creation with sequence key generator?
      Specified by:
      isKeyGeneratorSequenceSupported in interface PersistenceFactory
      Overrides:
      isKeyGeneratorSequenceSupported in class GenericFactory
      Parameters:
      returning - Return generated key value with insert statement?
      trigger - Use a database trigger to generate key?
      Returns:
      true if persistence factory is able to generate key with sequence key generator, false otherwise.
    • isKeyGeneratorSequenceTypeSupported

      public boolean isKeyGeneratorSequenceTypeSupported(int type)
      Does Sequence key generator support generation of key for the given SQL type?
      Specified by:
      isKeyGeneratorSequenceTypeSupported in interface PersistenceFactory
      Overrides:
      isKeyGeneratorSequenceTypeSupported in class GenericFactory
      Parameters:
      type - SQL type to check for support by sequence key generator.
      Returns:
      true if persistence factory is able to generate key of given SQL type with sequence key generator, false otherwise.
    • getSequenceBeforeSelectString

      public String getSequenceBeforeSelectString(String seqName, String tableName, int increment)
      Description copied from class: GenericFactory
      Returns the database specific SELECT query string for fetching identity before the next INSERT statement gets executed.
      Specified by:
      getSequenceBeforeSelectString in interface PersistenceFactory
      Overrides:
      getSequenceBeforeSelectString in class GenericFactory
      Parameters:
      seqName - Name of sequence.
      tableName - Name of the table from which identity will be fetched.
      increment - Increment value used in Interbase database engine.
      Returns:
      SELECT sql string
    • getSequenceAfterSelectString

      public String getSequenceAfterSelectString(String seqName, String tableName)
      Description copied from class: GenericFactory
      Returns the database specific SELECT query string for fetching identity after the INSERT statement executed.
      Specified by:
      getSequenceAfterSelectString in interface PersistenceFactory
      Overrides:
      getSequenceAfterSelectString in class GenericFactory
      Parameters:
      seqName - Name of sequence.
      tableName - Name of the table from which identity will be fetched.
      Returns:
      SELECT sql string