org.apache.derby.jdbc
Class ClientBaseDataSource

java.lang.Object
  extended by org.apache.derby.jdbc.ClientBaseDataSource
All Implemented Interfaces:
java.io.Serializable, javax.naming.Referenceable
Direct Known Subclasses:
ClientDataSource

public abstract class ClientBaseDataSource
extends java.lang.Object
implements java.io.Serializable, javax.naming.Referenceable

Base class for client-side DataSource implementations.

See Also:
Serialized Form

Field Summary
static short CLEAR_TEXT_PASSWORD_SECURITY
           
protected  java.lang.String connectionAttributes
           
private  boolean createDatabase
          Set to true if the database should be created.
private  java.lang.String databaseName
           
private  java.lang.String dataSourceName
           
private  java.lang.String description
           
static short ENCRYPTED_PASSWORD_SECURITY
           
static short ENCRYPTED_USER_AND_PASSWORD_SECURITY
           
private  int loginTimeout
          The time in seconds to wait for a connection request on this data source.
private  java.io.PrintWriter logWriter
          The log writer is declared transient, and is not serialized or stored under JNDI.
private  java.lang.String password
           
private  int portNumber
           
static int propertyDefault_portNumber
           
static boolean propertyDefault_retrieveMessageText
           
static short propertyDefault_securityMechanism
           
static java.lang.String propertyDefault_serverName
           
static boolean propertyDefault_traceFileAppend
           
static int propertyDefault_traceLevel
           
static java.lang.String propertyDefault_user
           
private  boolean retrieveMessageText
           
private static short SECMEC_HAS_NOT_EXPLICITLY_SET
           
protected  short securityMechanism
           
private static long serialVersionUID
           
private  java.lang.String serverName
           
private  boolean shutdownDatabase
          Set to true if the database should be shutdown.
static int SSL_BASIC
          The constant indicating that SSL encryption will be used.
private static java.lang.String SSL_BASIC_STR
           
static int SSL_OFF
          The constant indicating that SSL encryption won't be used.
private static java.lang.String SSL_OFF_STR
           
static int SSL_PEER_AUTHENTICATION
          The constant indicating that SSL encryption with peer authentication will be used.
private static java.lang.String SSL_PEER_AUTHENTICATION_STR
           
private  int sslMode
           
static short STRONG_PASSWORD_SUBSTITUTE_SECURITY
           
(package private) static boolean SUPPORTS_EUSRIDPWD
           
static int TRACE_ALL
           
static int TRACE_CONNECTION_CALLS
           
static int TRACE_CONNECTS
           
static int TRACE_DIAGNOSTICS
           
static int TRACE_DRIVER_CONFIGURATION
           
static int TRACE_NONE
           
static int TRACE_PARAMETER_META_DATA
           
static int TRACE_PROTOCOL_FLOWS
           
static int TRACE_RESULT_SET_CALLS
           
static int TRACE_RESULT_SET_META_DATA
           
static int TRACE_STATEMENT_CALLS
           
static int TRACE_XA_CALLS
           
private  java.lang.String traceDirectory
           
private  java.lang.String traceFile
           
private  boolean traceFileAppend
           
private  int traceFileSuffixIndex_
           
protected  int traceLevel
           
private  java.lang.String user
           
static short USER_ONLY_SECURITY
          The source security mechanism to use when connecting to this data source.
 
Constructor Summary
ClientBaseDataSource()
           
 
Method Summary
private  void addBeanProperties(javax.naming.Reference ref)
          Add Java Bean properties to the reference using StringRefAddr for each property.
private static void checkBoolean(java.util.Properties set, java.lang.String attribute)
           
private static void checkEnumeration(java.util.Properties set, java.lang.String attribute, java.lang.String[] choices)
           
static LogWriter computeDncLogWriter(Connection connection, java.io.PrintWriter logWriter, java.lang.String traceDirectory, java.lang.String traceFile, boolean traceFileAppend, java.lang.String logWriterInUseSuffix, int traceFileSuffixIndex, int traceLevel)
           
(package private) static LogWriter computeDncLogWriter(java.io.PrintWriter logWriter, java.lang.String traceDirectory, java.lang.String traceFile, boolean traceFileAppend, java.lang.String logWriterInUseSuffix, int traceFileSuffixIndex, int traceLevel)
           
(package private) static LogWriter computeDncLogWriterForNewConnection(java.io.PrintWriter logWriter, java.lang.String traceDirectory, java.lang.String traceFile, boolean traceFileAppend, int traceLevel, java.lang.String logWriterInUseSuffix, int traceFileSuffixIndex)
           
(package private)  LogWriter computeDncLogWriterForNewConnection(java.lang.String logWriterInUseSuffix)
           
(package private) static java.io.PrintWriter computePrintWriter(java.io.PrintWriter logWriter, java.lang.String traceDirectory, java.lang.String traceFile, boolean traceFileAppend, java.lang.String logWriterInUseSuffix, int traceFileSuffixIndex)
           
private  java.lang.String constructUrl()
          Constructs the JDBC connection URL from the state of the data source.
static int getClientSSLMode(java.util.Properties properties)
          Returns the SSL mode specified by the property object.
 java.lang.String getConnectionAttributes()
           
 java.lang.String getCreateDatabase()
           
 java.lang.String getDatabaseName()
           
 java.lang.String getDataSourceName()
           
 java.lang.String getDescription()
           
 int getLoginTimeout()
           
 java.io.PrintWriter getLogWriter()
           
 java.lang.String getPassword()
           
static java.lang.String getPassword(java.util.Properties properties)
           
 int getPortNumber()
           
 javax.naming.Reference getReference()
           
 boolean getRetrieveMessageText()
           
static boolean getRetrieveMessageText(java.util.Properties properties)
           
 short getSecurityMechanism()
          Return the security mechanism.
static short getSecurityMechanism(java.util.Properties properties)
          Return security mechanism if it is set, else upgrade the security mechanism if possible and return the upgraded security mechanism
 short getSecurityMechanism(java.lang.String password)
          Return the security mechanism for this datasource object.
 java.lang.String getServerName()
           
 java.lang.String getShutdownDatabase()
           
 java.lang.String getSsl()
          Returns the SSL encryption mode specified for the data source.
static int getSSLModeFromString(java.lang.String s)
          Parses the string and returns the corresponding constant for the SSL mode denoted.
 java.lang.String getTraceDirectory()
           
static java.lang.String getTraceDirectory(java.util.Properties properties)
          Check if derby.client.traceDirectory is provided as a JVM property.
 java.lang.String getTraceFile()
           
static java.lang.String getTraceFile(java.util.Properties properties)
           
 boolean getTraceFileAppend()
           
static boolean getTraceFileAppend(java.util.Properties properties)
           
 int getTraceLevel()
           
static int getTraceLevel(java.util.Properties properties)
          Check if derby.client.traceLevel is provided as a JVM property.
static short getUpgradedSecurityMechanism(java.lang.String password)
          This method has logic to upgrade security mechanism to a better (more secure) one if it is possible.
 java.lang.String getUser()
           
static java.lang.String getUser(java.util.Properties properties)
           
protected  void handleConnectionException(LogWriter logWriter, SqlException sqle)
          Handles common error situations that can happen when trying to obtain a physical connection to the server, and which require special handling.
 int maxStatementsToPool()
          Returns the maximum number of JDBC prepared statements a connection is allowed to cache.
private static boolean parseBoolean(java.lang.String boolString, boolean defaultBool)
           
private static int parseInt(java.lang.String intString, int defaultInt)
           
private static short parseShort(java.lang.String shortString, short defaultShort)
           
private static java.lang.String parseString(java.lang.String string, java.lang.String defaultString)
           
private static java.lang.String readSystemProperty(java.lang.String key)
          Read the value of the passed system property.
 void setConnectionAttributes(java.lang.String prop)
          Set this property to pass in more Derby specific connection URL attributes.
 void setCreateDatabase(java.lang.String create)
          Set this property to create a new database.
 void setDatabaseName(java.lang.String databaseName)
           
 void setDataSourceName(java.lang.String dataSourceName)
           
 void setDescription(java.lang.String description)
           
 void setLoginTimeout(int seconds)
           
 void setLogWriter(java.io.PrintWriter logWriter)
           
 void setPassword(java.lang.String password)
           
 void setPortNumber(int portNumber)
           
 void setRetrieveMessageText(boolean retrieveMessageText)
           
 void setSecurityMechanism(short securityMechanism)
          Sets the security mechanism.
 void setServerName(java.lang.String serverName)
           
 void setShutdownDatabase(java.lang.String shutdown)
          Set this property if one wishes to shutdown the database identified by databaseName.
 void setSsl(java.lang.String mode)
          Specifices the SSL encryption mode to use.
 void setTraceDirectory(java.lang.String traceDirectory)
           
 void setTraceFile(java.lang.String traceFile)
           
 void setTraceFileAppend(boolean traceFileAppend)
           
 void setTraceLevel(int traceLevel)
           
 void setUser(java.lang.String user)
           
(package private) static java.util.Properties tokenizeAttributes(java.lang.String attributeString, java.util.Properties properties)
           
(package private)  void updateDataSourceValues(java.util.Properties prop)
          The dataSource keeps individual fields for the values that are relevant to the client.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

SUPPORTS_EUSRIDPWD

static final boolean SUPPORTS_EUSRIDPWD

loginTimeout

private int loginTimeout
The time in seconds to wait for a connection request on this data source. The default value of zero indicates that either the system time out be used or no timeout limit.


logWriter

private transient java.io.PrintWriter logWriter
The log writer is declared transient, and is not serialized or stored under JNDI.

See Also:
traceLevel

databaseName

private java.lang.String databaseName

description

private java.lang.String description

dataSourceName

private java.lang.String dataSourceName

portNumber

private int portNumber

propertyDefault_portNumber

public static final int propertyDefault_portNumber
See Also:
Constant Field Values

serverName

private java.lang.String serverName

propertyDefault_serverName

public static final java.lang.String propertyDefault_serverName
See Also:
Constant Field Values

SSL_OFF

public static final int SSL_OFF
The constant indicating that SSL encryption won't be used.

See Also:
Constant Field Values

SSL_OFF_STR

private static final java.lang.String SSL_OFF_STR
See Also:
Constant Field Values

SSL_BASIC

public static final int SSL_BASIC
The constant indicating that SSL encryption will be used.

See Also:
Constant Field Values

SSL_BASIC_STR

private static final java.lang.String SSL_BASIC_STR
See Also:
Constant Field Values

SSL_PEER_AUTHENTICATION

public static final int SSL_PEER_AUTHENTICATION
The constant indicating that SSL encryption with peer authentication will be used.

See Also:
Constant Field Values

SSL_PEER_AUTHENTICATION_STR

private static final java.lang.String SSL_PEER_AUTHENTICATION_STR
See Also:
Constant Field Values

user

private java.lang.String user

propertyDefault_user

public static final java.lang.String propertyDefault_user
See Also:
Constant Field Values

SECMEC_HAS_NOT_EXPLICITLY_SET

private static final short SECMEC_HAS_NOT_EXPLICITLY_SET
See Also:
Constant Field Values

securityMechanism

protected short securityMechanism

propertyDefault_securityMechanism

public static final short propertyDefault_securityMechanism
See Also:
Constant Field Values

retrieveMessageText

private boolean retrieveMessageText

propertyDefault_retrieveMessageText

public static final boolean propertyDefault_retrieveMessageText
See Also:
Constant Field Values

traceFile

private java.lang.String traceFile

traceFileSuffixIndex_

private transient int traceFileSuffixIndex_

traceDirectory

private java.lang.String traceDirectory

traceFileAppend

private boolean traceFileAppend

propertyDefault_traceFileAppend

public static final boolean propertyDefault_traceFileAppend
See Also:
Constant Field Values

password

private java.lang.String password

USER_ONLY_SECURITY

public static final short USER_ONLY_SECURITY
The source security mechanism to use when connecting to this data source.

Security mechanism options are:

The default security mechanism is USER_ONLY SECURITY

If the application specifies a security mechanism then it will be the only one attempted. If the specified security mechanism is not supported by the conversation then an exception will be thrown and there will be no additional retries.

This property is currently only available for the DNC driver.

Both user and password need to be set for all security mechanism except USER_ONLY_SECURITY

See Also:
Constant Field Values

CLEAR_TEXT_PASSWORD_SECURITY

public static final short CLEAR_TEXT_PASSWORD_SECURITY
See Also:
Constant Field Values

ENCRYPTED_PASSWORD_SECURITY

public static final short ENCRYPTED_PASSWORD_SECURITY
See Also:
Constant Field Values

ENCRYPTED_USER_AND_PASSWORD_SECURITY

public static final short ENCRYPTED_USER_AND_PASSWORD_SECURITY
See Also:
Constant Field Values

STRONG_PASSWORD_SUBSTITUTE_SECURITY

public static final short STRONG_PASSWORD_SUBSTITUTE_SECURITY
See Also:
Constant Field Values

sslMode

private int sslMode

createDatabase

private boolean createDatabase
Set to true if the database should be created.


shutdownDatabase

private boolean shutdownDatabase
Set to true if the database should be shutdown.


connectionAttributes

protected java.lang.String connectionAttributes

TRACE_NONE

public static final int TRACE_NONE
See Also:
Constant Field Values

TRACE_CONNECTION_CALLS

public static final int TRACE_CONNECTION_CALLS
See Also:
Constant Field Values

TRACE_STATEMENT_CALLS

public static final int TRACE_STATEMENT_CALLS
See Also:
Constant Field Values

TRACE_RESULT_SET_CALLS

public static final int TRACE_RESULT_SET_CALLS
See Also:
Constant Field Values

TRACE_DRIVER_CONFIGURATION

public static final int TRACE_DRIVER_CONFIGURATION
See Also:
Constant Field Values

TRACE_CONNECTS

public static final int TRACE_CONNECTS
See Also:
Constant Field Values

TRACE_PROTOCOL_FLOWS

public static final int TRACE_PROTOCOL_FLOWS
See Also:
Constant Field Values

TRACE_RESULT_SET_META_DATA

public static final int TRACE_RESULT_SET_META_DATA
See Also:
Constant Field Values

TRACE_PARAMETER_META_DATA

public static final int TRACE_PARAMETER_META_DATA
See Also:
Constant Field Values

TRACE_DIAGNOSTICS

public static final int TRACE_DIAGNOSTICS
See Also:
Constant Field Values

TRACE_XA_CALLS

public static final int TRACE_XA_CALLS
See Also:
Constant Field Values

TRACE_ALL

public static final int TRACE_ALL
See Also:
Constant Field Values

propertyDefault_traceLevel

public static final int propertyDefault_traceLevel
See Also:
Constant Field Values

traceLevel

protected int traceLevel
Constructor Detail

ClientBaseDataSource

ClientBaseDataSource()
Method Detail

setLoginTimeout

public void setLoginTimeout(int seconds)

getLoginTimeout

public int getLoginTimeout()

setLogWriter

public void setLogWriter(java.io.PrintWriter logWriter)

getLogWriter

public java.io.PrintWriter getLogWriter()

getSSLModeFromString

public static final int getSSLModeFromString(java.lang.String s)
                                      throws SqlException
Parses the string and returns the corresponding constant for the SSL mode denoted.

Valid values are off, basic and peerAuthentication.

Parameters:
s - string denoting the SSL mode
Returns:
A constant indicating the SSL mode denoted by the string. If the string is null, SSL_OFF is returned.
Throws:
SqlException - if the string has an invalid value

getClientSSLMode

public static final int getClientSSLMode(java.util.Properties properties)
                                  throws SqlException
Returns the SSL mode specified by the property object.

Parameters:
properties - data source properties
Returns:
A constant indicating the SSL mode to use. Defaults to SSL_OFF if the SSL attribute isn't specified.
Throws:
SqlException - if an invalid value for the SSL mode is specified in the property object

getUser

public static java.lang.String getUser(java.util.Properties properties)

getSecurityMechanism

public static short getSecurityMechanism(java.util.Properties properties)
Return security mechanism if it is set, else upgrade the security mechanism if possible and return the upgraded security mechanism

Parameters:
properties - Look in the properties if securityMechanism is set or not if set, return this security mechanism
Returns:
security mechanism

getUpgradedSecurityMechanism

public static short getUpgradedSecurityMechanism(java.lang.String password)
This method has logic to upgrade security mechanism to a better (more secure) one if it is possible. Currently derby server only has support for USRIDPWD, USRIDONL, EUSRIDPWD and USRSSBPWD (10.2+) - this method only considers these possibilities. USRIDPWD, EUSRIDPWD and USRSSBPWD require a password, USRIDONL is the only security mechanism which does not require password. 1. if password is not available, then security mechanism possible is USRIDONL 2. if password is available,then USRIDPWD is returned.

Parameters:
password - password argument
Returns:
upgraded security mechanism if possible

getRetrieveMessageText

public static boolean getRetrieveMessageText(java.util.Properties properties)

getTraceFile

public static java.lang.String getTraceFile(java.util.Properties properties)

getTraceDirectory

public static java.lang.String getTraceDirectory(java.util.Properties properties)
Check if derby.client.traceDirectory is provided as a JVM property. If yes, then we use that value. If not, then we look for traceDirectory in the the properties parameter.

Parameters:
properties - jdbc url properties
Returns:
value of traceDirectory property

readSystemProperty

private static java.lang.String readSystemProperty(java.lang.String key)
Read the value of the passed system property.

Parameters:
key - name of the system property
Returns:
value of the system property, null if there is no permission to read the property

getTraceFileAppend

public static boolean getTraceFileAppend(java.util.Properties properties)

getPassword

public static java.lang.String getPassword(java.util.Properties properties)

setPassword

public final void setPassword(java.lang.String password)

getPassword

public final java.lang.String getPassword()

getReference

public javax.naming.Reference getReference()
                                    throws javax.naming.NamingException
Specified by:
getReference in interface javax.naming.Referenceable
Throws:
javax.naming.NamingException

addBeanProperties

private void addBeanProperties(javax.naming.Reference ref)
Add Java Bean properties to the reference using StringRefAddr for each property. List of bean properties is defined from the public getXXX() methods on this object that take no arguments and return short, int, boolean or String. The StringRefAddr has a key of the Java bean property name, converted from the method name. E.g. traceDirectory for traceDirectory.


computeDncLogWriterForNewConnection

LogWriter computeDncLogWriterForNewConnection(java.lang.String logWriterInUseSuffix)
                                        throws SqlException
Throws:
SqlException

computeDncLogWriterForNewConnection

static LogWriter computeDncLogWriterForNewConnection(java.io.PrintWriter logWriter,
                                                     java.lang.String traceDirectory,
                                                     java.lang.String traceFile,
                                                     boolean traceFileAppend,
                                                     int traceLevel,
                                                     java.lang.String logWriterInUseSuffix,
                                                     int traceFileSuffixIndex)
                                              throws SqlException
Throws:
SqlException

computeDncLogWriter

static LogWriter computeDncLogWriter(java.io.PrintWriter logWriter,
                                     java.lang.String traceDirectory,
                                     java.lang.String traceFile,
                                     boolean traceFileAppend,
                                     java.lang.String logWriterInUseSuffix,
                                     int traceFileSuffixIndex,
                                     int traceLevel)
                              throws SqlException
Throws:
SqlException

computeDncLogWriter

public static LogWriter computeDncLogWriter(Connection connection,
                                            java.io.PrintWriter logWriter,
                                            java.lang.String traceDirectory,
                                            java.lang.String traceFile,
                                            boolean traceFileAppend,
                                            java.lang.String logWriterInUseSuffix,
                                            int traceFileSuffixIndex,
                                            int traceLevel)
                                     throws SqlException
Throws:
SqlException

computePrintWriter

static java.io.PrintWriter computePrintWriter(java.io.PrintWriter logWriter,
                                              java.lang.String traceDirectory,
                                              java.lang.String traceFile,
                                              boolean traceFileAppend,
                                              java.lang.String logWriterInUseSuffix,
                                              int traceFileSuffixIndex)
                                       throws SqlException
Throws:
SqlException

parseBoolean

private static boolean parseBoolean(java.lang.String boolString,
                                    boolean defaultBool)

parseString

private static java.lang.String parseString(java.lang.String string,
                                            java.lang.String defaultString)

parseShort

private static short parseShort(java.lang.String shortString,
                                short defaultShort)

parseInt

private static int parseInt(java.lang.String intString,
                            int defaultInt)

tokenizeAttributes

static java.util.Properties tokenizeAttributes(java.lang.String attributeString,
                                               java.util.Properties properties)
                                        throws SqlException
Throws:
SqlException

checkBoolean

private static void checkBoolean(java.util.Properties set,
                                 java.lang.String attribute)
                          throws SqlException
Throws:
SqlException

checkEnumeration

private static void checkEnumeration(java.util.Properties set,
                                     java.lang.String attribute,
                                     java.lang.String[] choices)
                              throws SqlException
Throws:
SqlException

setDatabaseName

public void setDatabaseName(java.lang.String databaseName)

getDatabaseName

public java.lang.String getDatabaseName()

setDataSourceName

public void setDataSourceName(java.lang.String dataSourceName)

getDataSourceName

public java.lang.String getDataSourceName()

setDescription

public void setDescription(java.lang.String description)

getDescription

public java.lang.String getDescription()

setPortNumber

public void setPortNumber(int portNumber)

getPortNumber

public int getPortNumber()

setServerName

public void setServerName(java.lang.String serverName)

getServerName

public java.lang.String getServerName()

setUser

public void setUser(java.lang.String user)

getUser

public java.lang.String getUser()

setRetrieveMessageText

public void setRetrieveMessageText(boolean retrieveMessageText)

getRetrieveMessageText

public boolean getRetrieveMessageText()

setSecurityMechanism

public void setSecurityMechanism(short securityMechanism)
Sets the security mechanism.

Parameters:
securityMechanism - to set

getSecurityMechanism

public short getSecurityMechanism()
Return the security mechanism. If security mechanism has not been set explicitly on datasource, then upgrade the security mechanism to a more secure one if possible.

Returns:
the security mechanism
See Also:
getUpgradedSecurityMechanism(String)

getSecurityMechanism

public short getSecurityMechanism(java.lang.String password)
Return the security mechanism for this datasource object. If security mechanism has not been set explicitly on datasource, then upgrade the security mechanism to a more secure one if possible.

Parameters:
password - password of user
Returns:
the security mechanism
See Also:
getUpgradedSecurityMechanism(String)

setSsl

public void setSsl(java.lang.String mode)
            throws SqlException
Specifices the SSL encryption mode to use.

Valid values are off, basic and peerAuthentication.

Parameters:
mode - the SSL mode to use (off, basic or peerAuthentication)
Throws:
SqlException - if the specified mode is invalid

getSsl

public java.lang.String getSsl()
Returns the SSL encryption mode specified for the data source.

Returns:
off, basic or peerAuthentication.

setCreateDatabase

public final void setCreateDatabase(java.lang.String create)
Set this property to create a new database. If this property is not set, the database (identified by databaseName) is assumed to be already existing.

Parameters:
create - if set to the string "create", this data source will try to create a new database of databaseName, or boot the database if one by that name already exists.

getCreateDatabase

public final java.lang.String getCreateDatabase()
Returns:
"create" if create is set, or null if not

setShutdownDatabase

public final void setShutdownDatabase(java.lang.String shutdown)
Set this property if one wishes to shutdown the database identified by databaseName.

Parameters:
shutdown - if set to the string "shutdown", this data source will shutdown the database if it is running.

getShutdownDatabase

public final java.lang.String getShutdownDatabase()
Returns:
"shutdown" if shutdown is set, or null if not

setConnectionAttributes

public final void setConnectionAttributes(java.lang.String prop)
Set this property to pass in more Derby specific connection URL attributes.
Any attributes that can be set using a property of this DataSource implementation (e.g user, password) should not be set in connectionAttributes. Conflicting settings in connectionAttributes and properties of the DataSource will lead to unexpected behaviour.

Parameters:
prop - set to the list of Derby connection attributes separated by semi-colons. E.g., to specify an encryption bootPassword of "x8hhk2adf", and set upgrade to true, do the following:
             ds.setConnectionAttributes("bootPassword=x8hhk2adf;upgrade=true"); 
See Derby documentation for complete list.

getConnectionAttributes

public final java.lang.String getConnectionAttributes()
Returns:
Derby specific connection URL attributes

getTraceLevel

public static int getTraceLevel(java.util.Properties properties)
Check if derby.client.traceLevel is provided as a JVM property. If yes, then we use that value. If not, then we look for traceLevel in the the properties parameter.

Parameters:
properties - jdbc url properties
Returns:
value of traceLevel property

setTraceLevel

public void setTraceLevel(int traceLevel)

getTraceLevel

public int getTraceLevel()

setTraceFile

public void setTraceFile(java.lang.String traceFile)

getTraceFile

public java.lang.String getTraceFile()

setTraceDirectory

public void setTraceDirectory(java.lang.String traceDirectory)

getTraceDirectory

public java.lang.String getTraceDirectory()

setTraceFileAppend

public void setTraceFileAppend(boolean traceFileAppend)

getTraceFileAppend

public boolean getTraceFileAppend()

maxStatementsToPool

public int maxStatementsToPool()
Returns the maximum number of JDBC prepared statements a connection is allowed to cache.

A basic data source will always return zero. If statement caching is required, use a ConnectionPoolDataSource.

This method is used internally by Derby to determine if statement pooling is to be enabled or not.

Returns:
Maximum number of statements to cache, or 0 if caching is disabled (default).

updateDataSourceValues

void updateDataSourceValues(java.util.Properties prop)
                      throws SqlException
The dataSource keeps individual fields for the values that are relevant to the client. These need to be updated when set connection attributes is called.

Throws:
SqlException

handleConnectionException

protected final void handleConnectionException(LogWriter logWriter,
                                               SqlException sqle)
                                        throws java.sql.SQLException
Handles common error situations that can happen when trying to obtain a physical connection to the server, and which require special handling.

If this method returns normally, the exception wasn't handled and should be handled elsewhere or be re-thrown.

Parameters:
logWriter - log writer, may be null
sqle - exception to handle
Throws:
java.sql.SQLException - handled exception (if any)

constructUrl

private java.lang.String constructUrl()
Constructs the JDBC connection URL from the state of the data source.

Returns:
The JDBC connection URL.

Built on Thu 2012-03-29 21:53:33+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.