Apache Zeta Components Manual :: Docs For Class ezcQuerySelectOracle
Database::ezcQuerySelectOracle
Class ezcQuerySelectOracle
Oracle specific implementation of ezcQuery.
This class reimplements methods where Oracle differs from the standard implementation in ezcQuery.Most notably LIMIT which is not supported directly in oracle.
Source for this file: /Database/src/sqlabstraction/implementations/query_select_oracle.php
ezcQuery | --ezcQuerySelect | --ezcQuerySelectOracle
Version: | //autogentag// |
Inherited Constants
From ezcQuerySelect: | |
---|---|
ezcQuerySelect::ASC
|
Sort the result ascending. |
ezcQuerySelect::DESC
|
Sort the result descending. |
Inherited Member Variables
From ezcQuerySelect | |
---|---|
protected |
ezcQuerySelect::$fromString
|
protected |
ezcQuerySelect::$groupString
|
protected |
ezcQuerySelect::$havingString
|
protected |
ezcQuerySelect::$lastInvokedMethod
|
protected |
ezcQuerySelect::$limitString
|
protected |
ezcQuerySelect::$orderString
|
protected |
ezcQuerySelect::$selectString
|
protected |
ezcQuerySelect::$whereString
|
From ezcQuery | |
protected |
ezcQuery::$db
|
public |
ezcQuery::$expr
|
Method Summary
public static string |
getDummyTableName(
)
Returns dummy table name 'dual'. |
public ezcQuerySelectOracle |
__construct(
$db
)
Constructs a new ezcQueryOracle object working on the database $db. |
public string |
alias(
$name
, $alias
)
Returns SQL to create an alias. |
public void |
getQuery(
)
Transforms the query from the parent to provide LIMIT functionality. |
public ezcQuerySelect |
limit(
$limit
, [ $offset
= 0] )
Returns SQL that limits the result set. |
public PDOStatement |
prepare(
)
Handles preparing query. |
public void |
reset(
)
Resets the query object for reuse. |
Inherited Methods
From ezcQuerySelect | |
---|---|
public ezcQuerySelect |
ezcQuerySelect::__construct()
Constructs a new ezcQuery object. |
public string |
ezcQuerySelect::alias()
Returns SQL to create an alias |
protected ezcQuery |
ezcQuerySelect::doJoin()
Returns the SQL for a join or prepares $fromString for a join. |
public ezcQuery |
ezcQuerySelect::from()
Select which tables you want to select from. |
public static bool|string |
ezcQuerySelect::getDummyTableName()
Returns dummy table name. |
public string |
ezcQuerySelect::getQuery()
Returns the complete select query string. |
public ezcQuery |
ezcQuerySelect::groupBy()
Returns SQL that groups the result set by a given column. |
public ezcQuery |
ezcQuerySelect::having()
Returns SQL that set having by a given expression. |
public ezcQuery |
ezcQuerySelect::innerJoin()
Returns the SQL for an inner join or prepares $fromString for an inner join. |
public ezcQuery |
ezcQuerySelect::leftJoin()
Returns the SQL for a left join or prepares $fromString for a left join. |
public ezcQuerySelect |
ezcQuerySelect::limit()
Returns SQL that limits the result set. |
public ezcQuery |
ezcQuerySelect::orderBy()
Returns SQL that orders the result set by a given column. |
public void |
ezcQuerySelect::reset()
Resets the query object for reuse. |
public ezcQuery |
ezcQuerySelect::rightJoin()
Returns the SQL for a right join or prepares $fromString for a right join. |
public ezcQuery |
ezcQuerySelect::select()
Opens the query and selects which columns you want to return with the query. |
public ezcQuery |
ezcQuerySelect::selectDistinct()
Opens the query and uses a distinct select on the columns you want to return with the query. |
public ezcQuerySelect |
ezcQuerySelect::where()
Adds a where clause with logical expressions to the query. |
From ezcQuery | |
public ezcQuery |
ezcQuery::__construct()
Constructs a new ezcQuery that works on the database $db and with the aliases $aliases. |
public static array |
ezcQuery::arrayFlatten()
Returns all the elements in $array as one large single dimensional array. |
public string |
ezcQuery::bindParam()
Binds the parameter $param to the specified variable name $placeHolder.. |
public string |
ezcQuery::bindValue()
Binds the value $value to the specified variable name $placeHolder. |
public void |
ezcQuery::doBind()
Performs binding of variables bound with bindValue and bindParam on the statement $stmt. |
protected string |
ezcQuery::getIdentifier()
Returns the correct identifier for the alias $alias. |
protected array(string) |
ezcQuery::getIdentifiers()
Returns the correct identifiers for the aliases found in $aliases. |
public abstract string |
ezcQuery::getQuery()
Returns the query string for this query object. |
public bool |
ezcQuery::hasAliases()
Returns true if this object has aliases. |
public PDOStatement |
ezcQuery::prepare()
Returns a prepared statement from this query which can be used for execution. |
protected void |
ezcQuery::resetBinds()
Resets the bound values and parameters to empty. |
public void |
ezcQuery::setAliases()
Sets the aliases $aliases for this object. |
public ezcQuerySubSelect |
ezcQuery::subSelect()
Returns the ezcQuerySubSelect query object. |
public string |
ezcQuery::__toString()
Return SQL string for query. |
Methods
getDummyTableName
Returns dummy table name 'dual'.
Redefinition of:
Method | Description |
---|---|
ezcQuerySelect::getDummyTableName() |
Returns dummy table name. |
__construct
Constructs a new ezcQueryOracle object working on the database $db.
Parameters:
Name | Type | Description |
---|---|---|
$db |
PDO |
Redefinition of:
Method | Description |
---|---|
ezcQuerySelect::__construct() |
Constructs a new ezcQuery object. |
alias
Returns SQL to create an alias.
This method can be used to create an alias for either a table or a column. Example:
- // this will make the table users have the alias employees
- // and the column user_id the alias employee_id
Parameters:
Name | Type | Description |
---|---|---|
$name |
string | Old name |
$alias |
string | Alias |
Redefinition of:
Method | Description |
---|---|
ezcQuerySelect::alias() |
Returns SQL to create an alias |
getQuery
Transforms the query from the parent to provide LIMIT functionality.
Redefinition of:
Method | Description |
---|---|
ezcQuerySelect::getQuery() |
Returns the complete select query string. |
limit
Returns SQL that limits the result set.
$limit controls the maximum number of rows that will be returned. $offset controls which row that will be the first in the result set from the total amount of matching rows.
Example:
Oracle does not support the LIMIT keyword. A complete rewrite of the query is neccessary. Queries will be rewritten like this:
- Original query in MySQL syntax:
- SELECT * FROM table LIMIT 10, 5
- The corresponding Oracle query:
- SELECT * FROM (SELECT a.*, ROWNUM rn FROM (SELECT * FROM table) a WHERE rownum <= 15) WHERE rn >= 6;
Note that you will not get a result if you call buildLimit() when using the oracle database.
Parameters:
Name | Type | Description |
---|---|---|
$limit |
string | integer expression |
$offset |
string | integer expression |
Redefinition of:
Method | Description |
---|---|
ezcQuerySelect::limit() |
Returns SQL that limits the result set. |
prepare
Handles preparing query.
Overrides ezcQuery->prepare()
Adds "FROM dual" to the select if no FROM clause specified i.e. fixes queries like "SELECT 1+1" to work in Oracle.
Redefinition of:
Method | Description |
---|---|
ezcQuery::prepare() |
Returns a prepared statement from this query which can be used for execution. |
reset
Resets the query object for reuse.
Redefinition of:
Method | Description |
---|---|
ezcQuerySelect::reset() |
Resets the query object for reuse. |