org.javalite.activejdbc.dialects
Class OracleDialect

java.lang.Object
  extended by org.javalite.activejdbc.dialects.DefaultDialect
      extended by org.javalite.activejdbc.dialects.OracleDialect
All Implemented Interfaces:
Dialect

public class OracleDialect
extends DefaultDialect

Author:
Igor Polevoy, Eric Nielsen

Field Summary
 
Fields inherited from class org.javalite.activejdbc.dialects.DefaultDialect
GROUP_BY_PATTERN, ORDER_BY_PATTERN
 
Constructor Summary
OracleDialect()
           
 
Method Summary
protected  void appendEmptyRow(MetaModel metaModel, StringBuilder query)
           
protected  void appendTime(StringBuilder query, Time value)
           
 String formSelect(String tableName, String subQuery, List<String> orderBys, long limit, long offset)
          Example of a query we are building here:
 
Methods inherited from class org.javalite.activejdbc.dialects.DefaultDialect
appendDate, appendOrderBy, appendQuestions, appendSelect, appendSubQuery, appendTimestamp, appendValue, deleteManyToManyAssociation, insert, insertManyToManyAssociation, insertParametrized, overrideDriverTypeConversion, selectCount, selectCount, selectExists, selectManyToManyAssociation, selectStar, selectStar, selectStarParametrized, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OracleDialect

public OracleDialect()
Method Detail

formSelect

public String formSelect(String tableName,
                         String subQuery,
                         List<String> orderBys,
                         long limit,
                         long offset)
Example of a query we are building here:
 SELECT * FROM (
   SELECT t2.*, ROWNUM AS oracle_row_number FROM (
     SELECT t.* FROM pages t WHERE <conditions> ORDER BY id
   ) t2
 ) WHERE oracle_row_number >= 20 AND rownum <= 10;
 

Look here for reference: Oracle: ROW_NUMBER vs ROWNUM

Specified by:
formSelect in interface Dialect
Overrides:
formSelect in class DefaultDialect
Parameters:
tableName - name of table. If table name is null, then the subQuery parameter is considered to be a full query, and all that needs to be done is to add limit, offset and order bys
subQuery - sub query, something like: "name = ? AND ssn = ?". It can be blank: "" or null;
orderBys - collection of order by: "dob desc" - one example
limit - limit value, -1 if not needed.
offset - offset value, -1 if not needed.
Returns:
Oracle - specific select query. Here is one example:
SELECT * FROM (SELECT t2.*, ROWNUM AS oracle_row_number FROM (SELECT t.* FROM pages t WHERE <conditions> ORDER BY id) t2) WHERE oracle_row_number >= 20 AND rownum <= 10;
Can't think of an uglier thing. Shame on you, Oracle.

appendEmptyRow

protected void appendEmptyRow(MetaModel metaModel,
                              StringBuilder query)
Overrides:
appendEmptyRow in class DefaultDialect

appendTime

protected void appendTime(StringBuilder query,
                          Time value)
Overrides:
appendTime in class DefaultDialect


Copyright © 2015 JavaLite. All rights reserved.