com.sibvisions.rad.persist.jdbc
Class DB2DBAccess

java.lang.Object
  extended by com.sibvisions.rad.persist.jdbc.DBAccess
      extended by com.sibvisions.rad.persist.jdbc.DB2DBAccess
All Implemented Interfaces:
IDBAccess

public class DB2DBAccess
extends DBAccess

The DB2DBAccess is the implementation for DB2 databases.

See Also:
DBAccess

Nested Class Summary
 
Nested classes/interfaces inherited from class com.sibvisions.rad.persist.jdbc.DBAccess
DBAccess.ColumnMetaDataInfo
 
Field Summary
 
Fields inherited from class com.sibvisions.rad.persist.jdbc.DBAccess
logger, LONGNVARCHAR, NCHAR, NCLOB, NVARCHAR, QUOTE, SQLXML
 
Constructor Summary
DB2DBAccess()
          Constructs a new DB2DBAccess Object.
 
Method Summary
 DBAccess.ColumnMetaDataInfo getColumnMetaData(String pFromClause, String[] pQueryColumns, String pBeforeQueryColumns, String pWhereClause, String pAfterWhereClause, String pWritebackTable, String[] pWritebackColumns)
          Returns the meta data information for the specified query, and configures all columns with defaults.
 Hashtable<String,Object> getDefaultValues(String pCatalog, String pSchema, String pTable)
          Gets all default column values of a specific table.
 List<ForeignKey> getFKs(String pCatalog, String pSchema, String pTable)
          Returns all Foreign Keys for the specified table.
 String getTableForSynonym(String pSynomyn)
          Returns the full qualified table name incl. schema/catalog/db link for the given synonym.
 void open()
          It opens the database and stores the Connection object.
protected  boolean setDatabaseSpecificType(ResultSetMetaData pMetaData, int pColumnIndex, ServerColumnMetaData pColumnMetaData)
          Enables the database specific implementation to change the metadata before the default settings are made.
 void setUsername(String pUsername)
          Sets the user name to connect with.
protected  Object translateDefaultValue(String pColumnName, int pDataType, String pDefaultValue)
          Translates a default value from a column to the datatype object.
 
Methods inherited from class com.sibvisions.rad.persist.jdbc.DBAccess
close, commit, convertDatabaseSpecificObjectToValue, convertValueToDatabaseSpecificObject, createReplace, createWhereColumn, createWhereParam, delete, executeFunction, executeProcedure, executeSql, executeStatement, executeUpdate, fetch, formatSQLException, formatSQLException, getAllowedValues, getAutomaticLinkColumnName, getAutomaticLinkColumnNameTranslation, getConnection, getDatabaseSpecificLockStatement, getDBAccess, getDBAccess, getDBAccess, getDBProperties, getDBProperty, getDefaultAllowedValues, getDefaultSchema, getDriver, getFromClause, getMaxTime, getPassword, getPK, getPreparedStatement, getQueryColumns, getSelectStatement, getUKs, getUrl, getUsername, getWHEREClause, insert, insertAnsiSQL, insertDatabaseSpecific, isAutoQuote, isOpen, isTypeEqual, lockRow, lockRowInternal, quote, quoteAllways, registerDBAccessClass, removeDBSpecificQuotes, removeQuotes, rollback, setAutomaticLinkColumnNameTranslation, setColumnsToStore, setConnection, setDBProperties, setDBProperty, setDefaultSchema, setDriver, setFilterParameter, setMaxTime, setPassword, setQueryTimeOut, setQuoteCharacters, setUrl, splitSchemaTable, supportsGetGeneratedKeys, toString, translateQuotes, translateValue, update, updateAnsiSQL, updateDatabaseSpecific
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DB2DBAccess

public DB2DBAccess()
Constructs a new DB2DBAccess Object.

Method Detail

open

public void open()
          throws DataSourceException
It opens the database and stores the Connection object.

Overrides:
open in class DBAccess
Throws:
DataSourceException - if the database couldn't opened

setUsername

public void setUsername(String pUsername)
Description copied from class: DBAccess
Sets the user name to connect with.

Overrides:
setUsername in class DBAccess
Parameters:
pUsername - the user name

getDefaultValues

public Hashtable<String,Object> getDefaultValues(String pCatalog,
                                                 String pSchema,
                                                 String pTable)
                                          throws DataSourceException
Gets all default column values of a specific table.

Overrides:
getDefaultValues in class DBAccess
Parameters:
pCatalog - the catalog name
pSchema - the schema name
pTable - the table name
Returns:
a Hashtable with the column name as key and the default value as value. It only contains columns with a default value
Throws:
DataSourceException - if the database access throws an exception

translateDefaultValue

protected Object translateDefaultValue(String pColumnName,
                                       int pDataType,
                                       String pDefaultValue)
                                throws Exception
Translates a default value from a column to the datatype object.

Overrides:
translateDefaultValue in class DBAccess
Parameters:
pColumnName - the column name to translate
pDataType - the datatype of the column
pDefaultValue - the original default value from the database
Returns:
the default value with the datatype of the column or null if the default value is not valid
Throws:
Exception - if the type translation causes an error or the datatype is not supported

getColumnMetaData

public DBAccess.ColumnMetaDataInfo getColumnMetaData(String pFromClause,
                                                     String[] pQueryColumns,
                                                     String pBeforeQueryColumns,
                                                     String pWhereClause,
                                                     String pAfterWhereClause,
                                                     String pWritebackTable,
                                                     String[] pWritebackColumns)
                                              throws DataSourceException
Returns the meta data information for the specified query, and configures all columns with defaults.

Overrides:
getColumnMetaData in class DBAccess
Parameters:
pFromClause - the from clause with query tables and join definitions
pQueryColumns - the query columns
pBeforeQueryColumns - the before query columns
pWhereClause - the last where condition in query
pAfterWhereClause - the after where clause in query
pWritebackTable - the write back table to use for the isWriteable() state (Optional)
pWritebackColumns - the write back columns to use for the isWriteable() state (Optional)
Returns:
the meta data for the specified query, and initials all columns.
Throws:
DataSourceException - if an Exception occur during getting the meta data or if the storage is not opened or if one columns SQL type is not supported

getFKs

public List<ForeignKey> getFKs(String pCatalog,
                               String pSchema,
                               String pTable)
                        throws DataSourceException
Returns all Foreign Keys for the specified table.

Overrides:
getFKs in class DBAccess
Parameters:
pCatalog - the catalog to use
pSchema - the schema to use
pTable - the table to use as base table.
Returns:
all Foreign Keys for the specified table.
Throws:
DataSourceException - if an error occur in determining the ForeignKeys.

getTableForSynonym

public String getTableForSynonym(String pSynomyn)
                          throws DataSourceException
Returns the full qualified table name incl. schema/catalog/db link for the given synonym. If pSynomyn is no synonym, then the pSynomyn string is returned.

Overrides:
getTableForSynonym in class DBAccess
Parameters:
pSynomyn - the synonym to use.
Returns:
the full qualified table name incl. schema/catalog/db link for the given synonym.
Throws:
DataSourceException - if an error occur in determining the synonyms.

setDatabaseSpecificType

protected boolean setDatabaseSpecificType(ResultSetMetaData pMetaData,
                                          int pColumnIndex,
                                          ServerColumnMetaData pColumnMetaData)
                                   throws SQLException
Enables the database specific implementation to change the metadata before the default settings are made.

Overrides:
setDatabaseSpecificType in class DBAccess
Parameters:
pMetaData - the metadata from the resultset
pColumnIndex - the column index in the resultset metadata
pColumnMetaData - the newly created and pre-configured column metadata
Returns:
true if column metadata are changed and the default settings should not be applied, false to apply the standard settings
Throws:
SQLException - if metadata access fails


Copyright © 2009 SIB Visions GmbH. All Rights Reserved.