com.ibm.websphere.rsadapter

Class DB2UniversalDataStoreHelper

  1. java.lang.Object
  2. extended bycom.ibm.websphere.rsadapter.GenericDataStoreHelper
  3. extended bycom.ibm.websphere.rsadapter.DB2DataStoreHelper
  4. extended bycom.ibm.websphere.rsadapter.DB2UniversalDataStoreHelper
All implemented interfaces:
DataStoreHelper
Direct known subclasses:
InformixJccDataStoreHelper

  1. public class DB2UniversalDataStoreHelper
  2. extends DB2DataStoreHelper
DB2UniversalDataStoreHelper is a DataStoreHelper implementation customized for the DB2 Universal JDBC driver. When mapping a SQLException, the SQLException mappings from the DB2UniversalDataStoreHelper are searched first. If no match is found, the SQLException mappings from the DB2DataStoreHelper are searched. If still no match is found, the SQLException mappings from the GenericDataStoreHelper are searched. If you have additional requirements on DB2 you should consider subclassing this implementation.
Note: This class and its methods can not be called or referenced directly by user applications.

SQLException mappings specific to the DB2UniversalDataStoreHelper are the following:

Error CodeSQL StatePortableSQLException subclass
-4498StaleConnectionException.class
-4499StaleConnectionException.class
-1776StaleConnectionException.class

Field Summary

Fields inherited from class com.ibm.websphere.rsadapter.DB2DataStoreHelper
db2Tc
Fields inherited from class com.ibm.websphere.rsadapter.GenericDataStoreHelper
customDefinedWasDefaultIsoLevel, defaultQueryTimeout, EOLN, genErrorMap, resBundle, tranErrorList
Fields inherited from interface com.ibm.websphere.rsadapter.DataStoreHelper
CLOUDSCAPE_HELPER, CLOUDSCAPE_NETWORK_SERVER_HELPER, CONNECTJDBC_HELPER, CUSTOM_HELPER, DATADIRECT_HELPER, DB2_390_HELPER, DB2_390_LOCAL_HELPER, DB2_400_HELPER, DB2_HELPER, DB2_UNIVERSAL_HELPER, DERBY_HELPER, DERBY_NETWORK_SERVER_HELPER, FIRST_TIME_CALLED, GENERIC_HELPER, INFORMIX_HELPER, INFORMIX_JCC_HELPER, MSSQL_HELPER, ORACLE_10G_HELPER, ORACLE_11G_HELPER, ORACLE_HELPER, POTENTIAL_DEADLOCK, POTENTIAL_LOST_UPDATE, PROXY_DS_HELPER, SEQUELINK_HELPER, SUBJECT, SYBASE_HELPER, SYBASE11_HELPER, TX_REPEATABLE_READ_FORUPDATE, TX_SERIALIZABLE_FORUPDATE, UNDEFINED_HELPER, UNDEFINED_ISOLATOIN_LEVEL, UPDATE_ON_READONLY

Constructor Summary

Constructor and Description
DB2UniversalDataStoreHelper(java.util.Properties props)
This DB2UniversalDataStoreHelper constructor creates a new DB2UniversalDataStoreHelper based on the DataStoreHelper properties provided.

Method Summary

Modifier and Type Method and Description
  1. void
doStatementCleanup(java.sql.PreparedStatement stmt)
This method cleans up a statement before the statement is returned to the statement cache.
  1. int
getDriverType()
This method returns the driverType which is defined for the DB2 Universal JDBC driver.
  1. java.io.PrintWriter
getPrintWriter()
This method is used to obtain the log writer to set on the DataSource when database logging is enabled (for example: WAS.database=all=enabled).
  1. boolean
isBatchUpdateSupportedWithAccessIntent(AccessIntent accessIntent)
This method is used to determine if CMP Entity Beans can support batch updates with the given AccessIntent.
Methods inherited from class com.ibm.websphere.rsadapter.DB2DataStoreHelper
doConnectionSetup, findMappingClass, getIsolationLevel, getLockType, getResultSetConcurrency, getXAExceptionContents, setUserDefinedMap, showLockInfo
Methods inherited from class com.ibm.websphere.rsadapter.GenericDataStoreHelper
calcPartitionNumber, doConnectionCleanup, doConnectionCleanupPerCloseConnection, doConnectionSetupPerGetConnection, doConnectionSetupPerTransaction, getMetaData, getPasswordForUseWithTrustedContextWithAuthentication, getResultSetType, hasLostUpdateOrDeadLockOccurred, isConnectionError, isDuplicateKey, isTransientConnectionError, mapException, modifyXAFlag
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

DB2UniversalDataStoreHelper

  1. public DB2UniversalDataStoreHelper( java.util.Properties props)
This DB2UniversalDataStoreHelper constructor creates a new DB2UniversalDataStoreHelper based on the DataStoreHelper properties provided. All implementations inheriting from a data store helper must supply this same list of properties to their super class by invoking the constructor of their super class with the list of properties.
Parameters:
props - DataStoreHelper properties.

Method Detail

getPrintWriter

  1. public java.io.PrintWriter getPrintWriter( )
This method is used to obtain the log writer to set on the DataSource when database logging is enabled (for example: WAS.database=all=enabled). By default, null is returned and a java.io.PrintWriter instance created by WebSphere is used. You can override this method to return a different java.io.PrintWriter instance instead of the default.
Specified by:
Overrides:
Returns:
java.io.PrintWriter.
Since:
WAS 5.0.1

isBatchUpdateSupportedWithAccessIntent

  1. public boolean isBatchUpdateSupportedWithAccessIntent( AccessIntent accessIntent)
This method is used to determine if CMP Entity Beans can support batch updates with the given AccessIntent. There are some AccessIntents (for example, WebSphere Optimistic Concurrency Control intent) for which some databases are not always capable of determining the number of updated rows. This prevents CMP Entity Beans from being able to support batch updates. In such cases, this method must return false.

DB2UniversalDataStoreHelper returns a value of true, indicating batch updates are always supported. If necessary, you may change this value by overriding this method.

Specified by:
Overrides:
Parameters:
accessIntent - AccessIntent
Returns:
boolean true if batching is allowed with the given AccessIntent, otherwise false.
Since:
WAS 5.0.2
See Also:

getDriverType

  1. public final int getDriverType( )
This method returns the driverType which is defined for the DB2 Universal JDBC driver.
Returns:
driverType - possible value : 2 , 4
Since:
WAS 5.0.2

doStatementCleanup

  1. public void doStatementCleanup( java.sql.PreparedStatement stmt)
  2. throws java.sql.SQLException

This method cleans up a statement before the statement is returned to the statement cache. This method is called only for statements being cached. It is called when at least one of the following statement properties has changed,

  • cursorName
  • fetchDirection
  • maxFieldSize
  • maxRows
  • queryTimeout

DB2DataStoreHelper resets all of the statement properties listed above

The following operations do not need to be included in the statement cleanup since they are automatically performed by WebSphere when caching statements:

  • setFetchSize(0)
  • clearParameters()
  • clearWarnings()

A helper class implementing this method can choose to do additional cleanup for the statement. However, this must never include closing the statement, since the statement is intended to be cached.

Specified by:
Overrides:
Parameters:
stmt - the PreparedStatement.
Throws:
java.sql.SQLException - if an error occurs cleaning up the statement.