com.sibvisions.rad.persist.jdbc
Class DerbyDBAccess

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

public class DerbyDBAccess
extends DBAccess

The DerbyDBAccess is the implementation for Derby databases. Client driver version.

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
DerbyDBAccess()
          Constructs a new DerbyDBAccess Object.
 
Method Summary
protected  String createReplace(String pSource, String pOld, String pNew)
          Create an DB specific replace command, which replacs in the pSource all pOld to pNew.
 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.
 boolean supportsGetGeneratedKeys()
          Returns if this Database specific supports generated keys.
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, createWhereColumn, createWhereParam, delete, executeFunction, executeProcedure, executeSql, executeStatement, executeUpdate, fetch, formatSQLException, formatSQLException, getAllowedValues, getAutomaticLinkColumnName, getAutomaticLinkColumnNameTranslation, getConnection, getDatabaseSpecificLockStatement, getDBAccess, getDBAccess, getDBAccess, getDBProperties, getDBProperty, getDefaultAllowedValues, getDefaultSchema, getDriver, getFKs, getFromClause, getMaxTime, getPassword, getPK, getPreparedStatement, getQueryColumns, getSelectStatement, getTableForSynonym, getUKs, getUrl, getUsername, getWHEREClause, insert, insertAnsiSQL, insertDatabaseSpecific, isAutoQuote, isOpen, isTypeEqual, lockRow, lockRowInternal, open, quote, quoteAllways, registerDBAccessClass, removeDBSpecificQuotes, removeQuotes, rollback, setAutomaticLinkColumnNameTranslation, setColumnsToStore, setConnection, setDatabaseSpecificType, setDBProperties, setDBProperty, setDefaultSchema, setDriver, setFilterParameter, setMaxTime, setPassword, setQueryTimeOut, setQuoteCharacters, setUrl, setUsername, splitSchemaTable, 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

DerbyDBAccess

public DerbyDBAccess()
Constructs a new DerbyDBAccess Object.

Method Detail

supportsGetGeneratedKeys

public boolean supportsGetGeneratedKeys()
Returns if this Database specific supports generated keys. Because of Derby bug!

Overrides:
supportsGetGeneratedKeys in class DBAccess
Returns:
if this Database specific supports generated keys.

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

createReplace

protected String createReplace(String pSource,
                               String pOld,
                               String pNew)
Create an DB specific replace command, which replacs in the pSource all pOld to pNew. This implementation use the ANSI SQL REPLACE command.

Overrides:
createReplace in class DBAccess
Parameters:
pSource - the source to replace.
pOld - the old value.
pNew - the new value.
Returns:
the SQL command to to this.

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


Copyright © 2009 SIB Visions GmbH. All Rights Reserved.