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
All Implemented Interfaces:
IDMethod, java.io.Serializable

public class DBPostgres
extends DB

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

Version:
$Id: DBPostgres.java,v 1.3 2001/09/12 17:07:38 mpoeschl Exp $
Author:
Hakan Tandogan, Daniel Rall
See Also:
Serialized Form

Fields inherited from class org.apache.turbine.util.db.adapter.DB
DB_CONNECTION, DB_PASS, DB_USER, JDBCDriver, LIMIT_STYLE_MSSQL7, LIMIT_STYLE_MYSQL, LIMIT_STYLE_NONE, LIMIT_STYLE_POSTGRES, LIMIT_STYLE_SYBASE
 
Fields inherited from interface org.apache.turbine.util.db.map.IDMethod
AUTO_INCREMENT, AUTOINCREMENT, ID_BROKER, IDBROKERTABLE, NATIVE, NO_ID_METHOD, SEQUENCE
 
Constructor Summary
protected DBPostgres()
          Empty constructor.
 
Method Summary
 java.lang.String getIDMethodSQL(java.lang.Object name)
          Returns SQL used to get the most recently inserted primary key.
 java.lang.String getIDMethodType()
          Returns the constant from the {@see IDMethod} interface denoting which type of primary key generation method this type of RDBMS uses.
 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, getDateString, getIdSqlForAutoIncrement, 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.

getIDMethodType

public java.lang.String getIDMethodType()
Description copied from class: DB
Returns the constant from the {@see IDMethod} interface denoting which type of primary key generation method this type of RDBMS uses.
Overrides:
getIDMethodType in class DB
See Also:
DB.getIDMethodType()

getIDMethodSQL

public java.lang.String getIDMethodSQL(java.lang.Object name)
Description copied from class: DB
Returns SQL used to get the most recently inserted primary key. Databases which have no support for this return null.
Overrides:
getIDMethodSQL in class DB
Parameters:
name - The name of the field (should be of type String).
Returns:
SQL to retreive the next database key.
See Also:
DB.getIDMethodSQL(Object)

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 © 2000-2002 Apache Software Foundation. All Rights Reserved.