org.apache.turbine.util.db.adapter
Class DBPostgres

java.lang.Object
  |
  +--org.apache.turbine.util.db.adapter.DB
        |
        +--org.apache.turbine.util.db.adapter.DBPostgres

public class DBPostgres
extends DB

This is used to connect to PostgresQL databases. http://www.pgsql.org

Version:
$Id$
Author:
Hakan Tandogan

Fields inherited from class org.apache.turbine.util.db.adapter.DB
DB_CONNECTION, DB_PASS, DB_USER, JDBCDriver, LIMIT_STYLE_MYSQL, LIMIT_STYLE_NONE, LIMIT_STYLE_POSTGRES, LIMIT_STYLE_SYBASE
 
Constructor Summary
protected DBPostgres()
          Empty constructor.
 
Method Summary
 java.lang.String getIdSqlForAutoIncrement(java.lang.Object obj)
          Returns the last auto-increment key.
 int getLimitStyle()
          This method is used to chek whether the database supports limiting the size of the resultset.
 java.lang.String getSequenceSql(java.lang.Object obj)
          Returns the last auto-increment key.
 char getStringDelimiter()
          Gets the string delimiter (usually '\'').
 java.lang.String ignoreCase(java.lang.String in)
          This method is used to ignore case.
 void lockTable(java.sql.Connection con, java.lang.String table)
          Locks the specified table.
 boolean objectDataNeedsTrans()
          This method is used to chek whether writing large objects to the DB requires a transaction.
 boolean supportsNativeLimit()
          This method is used to chek whether the database natively supports limiting the size of the resultset.
 boolean supportsNativeOffset()
          This method is used to chek whether the database natively supports returning results starting at an offset position other than 0.
 java.lang.String toUpperCase(java.lang.String in)
          This method is used to ignore case.
 void unlockTable(java.sql.Connection con, java.lang.String table)
          Unlocks the specified table.
 
Methods inherited from class org.apache.turbine.util.db.adapter.DB
escapeText, getConnection, getConnectionPoolDataSource, getJDBCDriver, ignoreCaseInOrderBy, init, setJDBCDriver
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Constructor Detail

DBPostgres

protected DBPostgres()
Empty constructor.
Method Detail

toUpperCase

public java.lang.String toUpperCase(java.lang.String in)
This method is used to ignore case.
Overrides:
toUpperCase in class DB
Parameters:
in - The string to transform to upper case.
Returns:
The upper case string.

ignoreCase

public java.lang.String ignoreCase(java.lang.String in)
This method is used to ignore case.
Overrides:
ignoreCase in class DB
Parameters:
in - The string whose case to ignore.
Returns:
The string in a case that can be ignored.

getStringDelimiter

public char getStringDelimiter()
Gets the string delimiter (usually '\'').
Overrides:
getStringDelimiter in class DB
Returns:
The delimeter.

getIdSqlForAutoIncrement

public java.lang.String getIdSqlForAutoIncrement(java.lang.Object obj)
Returns the last auto-increment key. Databases like MySQL which support this feature will return a result, others will return null.
Overrides:
getIdSqlForAutoIncrement in class DB
Returns:
The most recently inserted database key.

getSequenceSql

public java.lang.String getSequenceSql(java.lang.Object obj)
Returns the last auto-increment key. Databases like Oracle which support this feature will return a result, others will return null.
Overrides:
getSequenceSql in class DB
Returns:
The most recently inserted database key.

lockTable

public void lockTable(java.sql.Connection con,
                      java.lang.String table)
               throws java.sql.SQLException
Locks the specified table.
Overrides:
lockTable in class DB
Parameters:
con - The JDBC connection to use.
table - The name of the table to lock.
Throws:
java.sql.SQLException -  

unlockTable

public void unlockTable(java.sql.Connection con,
                        java.lang.String table)
                 throws java.sql.SQLException
Unlocks the specified table.
Overrides:
unlockTable in class DB
Parameters:
con - The JDBC connection to use.
table - The name of the table to unlock.
Throws:
java.sql.SQLException -  

objectDataNeedsTrans

public boolean objectDataNeedsTrans()
This method is used to chek whether writing large objects to the DB requires a transaction. Since this is only true for Postgres, only the DBPostgres needs to override this method and return true.
Overrides:
objectDataNeedsTrans in class DB
Returns:
True.

supportsNativeLimit

public boolean supportsNativeLimit()
This method is used to chek whether the database natively supports limiting the size of the resultset.
Overrides:
supportsNativeLimit in class DB
Returns:
True.

supportsNativeOffset

public boolean supportsNativeOffset()
This method is used to chek whether the database natively supports returning results starting at an offset position other than 0.
Overrides:
supportsNativeOffset in class DB
Returns:
True.

getLimitStyle

public int getLimitStyle()
This method is used to chek whether the database supports limiting the size of the resultset.
Overrides:
getLimitStyle in class DB
Returns:
LIMIT_STYLE_POSTGRES.


Copyright © 1999-2001 Apache Software Foundation. All Rights Reserved.