类 Oracle9iDialect

  • 所有已实现的接口:
    ConversionContext
    直接已知子类:
    Oracle10gDialect

    public class Oracle9iDialect
    extends Oracle8iDialect
    A dialect for Oracle 9i databases.

    Specifies to not use "ANSI join syntax" because 9i does not seem to properly handle it in all cases.

    作者:
    Steve Ebersole
    • 构造器详细资料

      • Oracle9iDialect

        public Oracle9iDialect()
    • 方法详细资料

      • getLimitString

        public String getLimitString​(String sql,
                                     boolean hasOffset)
        从类复制的说明: Dialect
        Apply a limit clause to the query.

        Typically dialects utilize variable limit clauses when they support limits. Thus, when building the select command we do not actually need to know the limit or the offset since we will just be using placeholders.

        Here we do still pass along whether or not an offset was specified so that dialects not supporting offsets can generate proper exceptions. In general, dialects will override one or the other of this method and Dialect.getLimitString(String, int, int).

        覆盖:
        getLimitString 在类中 Oracle8iDialect
        参数:
        sql - The query to which to apply the limit.
        hasOffset - Is the query requesting an offset?
        返回:
        the modified SQL
      • getSelectClauseNullString

        public String getSelectClauseNullString​(int sqlType)
        从类复制的说明: Dialect
        Given a Types type code, determine an appropriate null value to use in a select clause.

        One thing to consider here is that certain databases might require proper casting for the nulls here since the select here will be part of a UNION/UNION ALL.

        覆盖:
        getSelectClauseNullString 在类中 Oracle8iDialect
        参数:
        sqlType - The Types type code.
        返回:
        The appropriate select clause value fragment.
      • getForUpdateString

        public String getForUpdateString()
        从类复制的说明: Dialect
        Get the string to append to SELECT statements to acquire locks for this dialect.
        覆盖:
        getForUpdateString 在类中 Dialect
        返回:
        The appropriate FOR UPDATE clause string.
      • getWriteLockString

        public String getWriteLockString​(int timeout)
        从类复制的说明: 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.
        覆盖:
        getWriteLockString 在类中 Dialect
        参数:
        timeout - in milliseconds, -1 for indefinite wait and 0 for no wait.
        返回:
        The appropriate LOCK clause string.
      • getReadLockString

        public String getReadLockString​(int timeout)
        从类复制的说明: 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.
        覆盖:
        getReadLockString 在类中 Dialect
        参数:
        timeout - in milliseconds, -1 for indefinite wait and 0 for no wait.
        返回:
        The appropriate LOCK clause string.
      • supportsRowValueConstructorSyntaxInInList

        public boolean supportsRowValueConstructorSyntaxInInList()
        HHH-4907, I don't know if oracle 8 supports this syntax, so I'd think it is better add this method here. Reopen this issue if you found/know 8 supports it.

        If the dialect supports row values, does it offer such support in IN lists as well?

        For example, "... where (FIRST_NAME, LAST_NAME) IN ( (?, ?), (?, ?) ) ..."

        覆盖:
        supportsRowValueConstructorSyntaxInInList 在类中 Dialect
        返回:
        True if this SQL dialect is known to support "row value constructor" syntax in the IN list; false otherwise.
      • supportsTupleDistinctCounts

        public boolean supportsTupleDistinctCounts()
        从类复制的说明: Dialect
        Does this dialect support `count(distinct a,b)`?
        覆盖:
        supportsTupleDistinctCounts 在类中 Dialect
        返回:
        True if the database supports counting distinct tuples; false otherwise.