Class AsOfClause

  • All Implemented Interfaces:
    Direct Known Subclasses:

    public class AsOfClause
    extends Object
    implements Serializable
    Purpose:Wraps an immutable value for a past time. A session, query, or expression can be as of a past time.

    For Oracle 9R2 Flasback corresponds to the sub clause which appears between the table and alias name in the FROM clause: SELECT ... FROM EMPLOYEE AS OF TIMESTAMP (value) t0, ...

    For generic historical schema support, a special criteria can be added to the where clause for each table in a select: ((t0.ROW_START <= value) AND ((t0.END IS NULL) OR (t1.END > value)))


    • By default AsOfClause is a timestamp. To specify a system change number use AsOfSCNClause.
    • For Oracle 9R2 Flashback prints the correct AS OF clause before the alias name in the FROM clause.
    • Read-only: the wrapped value can not change.
    See Also:
    Expression.asOf(AsOfClause), ObjectLevelReadQuery.setAsOfClause(AsOfClause), Session.acquireHistoricalSession(AsOfClause), HistoryPolicy, Serialized Form
    Stephen McRitchie
    OracleAS TopLink 10g (10.0.3)
    • Field Detail

      • NO_CLAUSE

        public static final AsOfClause NO_CLAUSE
    • Constructor Detail

      • AsOfClause

        protected AsOfClause()
      • AsOfClause

        public AsOfClause​(Date date)
      • AsOfClause

        public AsOfClause​(Timestamp timestamp)
      • AsOfClause

        public AsOfClause​(Calendar calendar)
      • AsOfClause

        public AsOfClause​(long time)
      • AsOfClause

        public AsOfClause​(Long time)
      • AsOfClause

        protected AsOfClause​(Number number)
      • AsOfClause

        public AsOfClause​(Expression expression)
      • AsOfClause

        protected AsOfClause​(AsOfClause wrappedValue)
    • Method Detail

      • equals

        public boolean equals​(Object object)
        INTERNAL: Return if the as of is equal to the other. Equality of asOf clauses is complex (with subclasses), so only use identity.
        equals in class Object
      • printSQL

        public void printSQL​(org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter printer)
        INTERNAL: Prints the as of clause for an expression inside of the FROM clause.
      • getValue

        public Object getValue()
        PUBLIC: The past time represented by the receiver. Either a timestamp, a system change number, or an Expression.
      • isAsOfSCNClause

        public boolean isAsOfSCNClause()
        PUBLIC: Indicates that value is a system change number or an expression evaluating to one.

        In Oracle the value will have to be printed using the syntax AS OF SCN(value) instead of AS OF TIMESTAMP(value).

        See Also:
      • isUniversal

        public boolean isUniversal()
        PUBLIC: Answers if this is a UniversalAsOfClause, one to be applied to the entire selection criteria.

        Used when a query is made as of a past time.