Class DerbyDialect

  • All Implemented Interfaces:
    ConversionContext
    Direct Known Subclasses:
    DerbyTenFiveDialect

    @Deprecated
    public class DerbyDialect
    extends DB2Dialect
    Deprecated.
    HHH-6073
    Hibernate Dialect for Cloudscape 10 - aka Derby. This implements both an override for the identity column generator as well as for the case statement issue documented at: http://www.jroller.com/comments/kenlars99/Weblog/cloudscape_soon_to_be_derby
    • Constructor Detail

      • DerbyDialect

        public DerbyDialect()
        Deprecated.
        Constructs a DerbyDialect
    • Method Detail

      • getCrossJoinSeparator

        public java.lang.String getCrossJoinSeparator()
        Deprecated.
        Description copied from class: Dialect
        Returns the separator to use for defining cross joins when translating HQL queries.

        Typically this will be either [ cross join ] or [, ]

        Note that the spaces are important!

        Overrides:
        getCrossJoinSeparator in class DB2Dialect
        Returns:
        The cross join separator
      • dropConstraints

        public boolean dropConstraints()
        Deprecated.
        Description copied from class: Dialect
        Do we need to drop constraints before dropping tables in this dialect?
        Overrides:
        dropConstraints in class DB2Dialect
        Returns:
        True if constraints must be dropped prior to dropping the table; false otherwise.
      • supportsSequences

        public boolean supportsSequences()
        Deprecated.
        Description copied from class: Dialect
        Does this dialect support sequences?
        Overrides:
        supportsSequences in class DB2Dialect
        Returns:
        True if sequences supported; false otherwise.
      • getQuerySequencesString

        public java.lang.String getQuerySequencesString()
        Deprecated.
        Description copied from class: Dialect
        Get the select command used retrieve the names of all sequences.
        Overrides:
        getQuerySequencesString in class DB2Dialect
        Returns:
        The select command; or null if sequences are not supported.
        See Also:
        SchemaUpdate
      • getSequenceNextValString

        public java.lang.String getSequenceNextValString​(java.lang.String sequenceName)
        Deprecated.
        Description copied from class: Dialect
        Generate the appropriate select statement to to retrieve the next value of a sequence.

        This should be a "stand alone" select statement.

        Overrides:
        getSequenceNextValString in class DB2Dialect
        Parameters:
        sequenceName - the name of the sequence
        Returns:
        String The "nextval" select string.
      • supportsLimit

        public boolean supportsLimit()
        Deprecated.
        Description copied from class: Dialect
        Does this dialect support some form of limiting query results via a SQL clause?
        Overrides:
        supportsLimit in class DB2Dialect
        Returns:
        True if this dialect supports some form of LIMIT.
      • supportsCommentOn

        public boolean supportsCommentOn()
        Deprecated.
        Description copied from class: Dialect
        Does this dialect/database support commenting on tables, columns, etc?
        Overrides:
        supportsCommentOn in class DB2Dialect
        Returns:
        true if commenting is supported
      • supportsLimitOffset

        public boolean supportsLimitOffset()
        Deprecated.
        Description copied from class: Dialect
        Does this dialect's LIMIT support (if any) additionally support specifying an offset?
        Overrides:
        supportsLimitOffset in class Dialect
        Returns:
        True if the dialect supports an offset within the limit support.
      • getForUpdateString

        public java.lang.String getForUpdateString()
        Deprecated.
        Description copied from class: Dialect
        Get the string to append to SELECT statements to acquire locks for this dialect.
        Overrides:
        getForUpdateString in class DB2Dialect
        Returns:
        The appropriate FOR UPDATE clause string.
      • getWriteLockString

        public java.lang.String getWriteLockString​(int timeout)
        Deprecated.
        Description copied from class: Dialect
        Get the string to append to SELECT statements to acquire WRITE locks for this dialect. Location of the returned string is treated the same as getForUpdateString.
        Overrides:
        getWriteLockString in class Dialect
        Parameters:
        timeout - in milliseconds, -1 for indefinite wait and 0 for no wait.
        Returns:
        The appropriate LOCK clause string.
      • getReadLockString

        public java.lang.String getReadLockString​(int timeout)
        Deprecated.
        Description copied from class: Dialect
        Get the string to append to SELECT statements to acquire READ locks for this dialect. Location of the returned string is treated the same as getForUpdateString.
        Overrides:
        getReadLockString in class Dialect
        Parameters:
        timeout - in milliseconds, -1 for indefinite wait and 0 for no wait.
        Returns:
        The appropriate LOCK clause string.
      • getLimitHandler

        public LimitHandler getLimitHandler()
        Deprecated.
        Description copied from class: Dialect
        Returns the delegate managing LIMIT clause.
        Overrides:
        getLimitHandler in class DB2Dialect
        Returns:
        LIMIT clause delegate.
      • supportsTuplesInSubqueries

        public boolean supportsTuplesInSubqueries()
        Deprecated.
        Description copied from class: Dialect
        Does this dialect support tuples in subqueries? Ex: delete from Table1 where (col1, col2) in (select col1, col2 from Table2)
        Overrides:
        supportsTuplesInSubqueries in class Dialect
        Returns:
        boolean
      • getLimitString

        public java.lang.String getLimitString​(java.lang.String query,
                                               int offset,
                                               int limit)
        Deprecated.
        Given a limit and an offset, apply the limit clause to the query.

        From Derby 10.5 Docs:

         Query
         [ORDER BY clause]
         [result offset clause]
         [fetch first clause]
         [FOR UPDATE clause]
         [WITH {RR|RS|CS|UR}]
         
        Overrides:
        getLimitString in class DB2Dialect
        Parameters:
        query - The query to which to apply the limit.
        offset - The offset of the limit
        limit - The limit of the limit ;)
        Returns:
        The modified query statement with the limit applied.
      • supportsVariableLimit

        public boolean supportsVariableLimit()
        Deprecated.
        Description copied from class: Dialect
        Does this dialect support bind variables (i.e., prepared statement parameters) for its limit/offset?
        Overrides:
        supportsVariableLimit in class DB2Dialect
        Returns:
        True if bind variables can be used; false otherwise.
      • supportsLobValueChangePropogation

        public boolean supportsLobValueChangePropogation()
        Deprecated.
        Description copied from class: Dialect
        Does the dialect support propagating changes to LOB values back to the database? Talking about mutating the internal value of the locator as opposed to supplying a new locator instance...

        For BLOBs, the internal value might be changed by: Blob.setBinaryStream(long), Blob.setBytes(long, byte[]), Blob.setBytes(long, byte[], int, int), or Blob.truncate(long).

        For CLOBs, the internal value might be changed by: Clob.setAsciiStream(long), Clob.setCharacterStream(long), Clob.setString(long, String), Clob.setString(long, String, int, int), or Clob.truncate(long).

        NOTE : I do not know the correct answer currently for databases which (1) are not part of the cruise control process or (2) do not Dialect.supportsExpectedLobUsagePattern().

        Overrides:
        supportsLobValueChangePropogation in class DB2Dialect
        Returns:
        True if the changes are propagated back to the database; false otherwise.
      • supportsUnboundedLobLocatorMaterialization

        public boolean supportsUnboundedLobLocatorMaterialization()
        Deprecated.
        Description copied from class: Dialect
        Is it supported to materialize a LOB locator outside the transaction in which it was created?

        Again, part of the trickiness here is the fact that this is largely driver dependent.

        NOTE: all database I have tested which Dialect.supportsExpectedLobUsagePattern() also support the ability to materialize a LOB outside the owning transaction...

        Overrides:
        supportsUnboundedLobLocatorMaterialization in class Dialect
        Returns:
        True if unbounded materialization is supported; false otherwise.
      • registerDerbyKeywords

        protected void registerDerbyKeywords()
        Deprecated.
      • supportsPartitionBy

        public boolean supportsPartitionBy()
        Deprecated.
        Description copied from class: Dialect
        Does the underlying database support partition by
        Overrides:
        supportsPartitionBy in class DB2Dialect
        Returns:
        boolean