org.exolab.castor.jdo.drivers

Class OracleQueryExpression

Implemented Interfaces:
QueryExpression

public final class OracleQueryExpression
extends JDBCQueryExpression

QueryExpression for Oracle 7/8. As of release 8.1.6, Oracle supports limiting the number of rows returned by a query through the use of the following mechanism. SELECT * FROM ( SELECT empno, ename, job, sal, rank() over (order by sal) rnk FROM emp ) WHERE rnk BETWEEN 3 AND 8
Version:
$Revision: 7123 $ $Date: 2005-03-24 03:45:01 -0700 (Thu, 24 Mar 2005) $
Author:
Assaf Arkin

Nested Class Summary

Nested classes/interfaces inherited from class org.exolab.castor.jdo.drivers.JDBCQueryExpression

JDBCQueryExpression.Join

Field Summary

Fields inherited from class org.exolab.castor.jdo.drivers.JDBCQueryExpression

_dbInfo, _distinct, _factory, _joins, _limit, _offset, _order, _select, _tables

Fields inherited from interface org.exolab.castor.persist.spi.QueryExpression

OP_BETWEEN, OP_BETWEEN_AND, OP_EQUALS, OP_GREATER, OP_GREATER_EQUALS, OP_LESS, OP_LESS_EQUALS, OP_LIKE, OP_NOT_EQUALS, OP_NOT_LIKE

Constructor Summary

OracleQueryExpression(PersistenceFactory factory)

Method Summary

String
getStatement(boolean lock)
Creates a SQL statement.
boolean
isLimitClauseSupported()
Indicates that Oracle supports an OQL LIMIT clause for versions >= 8.1.6.
boolean
isOffsetClauseSupported()
Indicates that Oracle supports an OQL OFFSET clause for versions >= 8.1.6.

Methods inherited from class org.exolab.castor.jdo.drivers.JDBCQueryExpression

addColumn, addCondition, addInnerJoin, addInnerJoin, addInnerJoin, addInnerJoin, addLimitClause, addOffsetClause, addOrderClause, addOuterJoin, addOuterJoin, addOuterJoin, addOuterJoin, addParameter, addSelect, addTable, addTable, addWhereClause, addWhereClause, clone, encodeColumn, getColumnList, getStandardStatement, getStatement, isLimitClauseSupported, isOffsetClauseSupported, setDbMetaInfo, setDistinct, toString

Constructor Details

OracleQueryExpression

public OracleQueryExpression(PersistenceFactory factory)

Method Details

getStatement

public String getStatement(boolean lock)
            throws SyntaxNotSupportedException
Creates a SQL statement. In general, for a RDBMS/JDBC driver with a full support of the SQL standard/JDBC specification, this will return a valid SQL statement. For some features, a particular RDBMS might indicate that it does not support this feature by throwing a SyntaxNotSupportedException.
Specified by:
getStatement in interface QueryExpression
Overrides:
getStatement in interface JDBCQueryExpression
Throws:
SyntaxNotSupportedException - If the RDBMS does not support a particular feature.

isLimitClauseSupported

public boolean isLimitClauseSupported()
Indicates that Oracle supports an OQL LIMIT clause for versions >= 8.1.6.
Specified by:
isLimitClauseSupported in interface QueryExpression
Overrides:
isLimitClauseSupported in interface JDBCQueryExpression
Returns:
true to indicate that Oracle supports an OQL LIMIT clause.

isOffsetClauseSupported

public boolean isOffsetClauseSupported()
Indicates that Oracle supports an OQL OFFSET clause for versions >= 8.1.6.
Specified by:
isOffsetClauseSupported in interface QueryExpression
Overrides:
isOffsetClauseSupported in interface JDBCQueryExpression
Returns:
true to indicate that Oracle supports an OQL OFFSET clause.

Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com