Class AbstractConnectionPropertiesDataSource
- java.lang.Object
-
- org.firebirdsql.ds.RootCommonDataSource
-
- org.firebirdsql.ds.AbstractConnectionPropertiesDataSource
-
- All Implemented Interfaces:
javax.sql.CommonDataSource
,AttachmentProperties
,BaseProperties
,DatabaseConnectionProperties
,FirebirdConnectionProperties
- Direct Known Subclasses:
FBAbstractCommonDataSource
,FBSimpleDataSource
public abstract class AbstractConnectionPropertiesDataSource extends RootCommonDataSource implements FirebirdConnectionProperties
Abstract implementation ofFirebirdConnectionProperties
to ensure subclasses can be introspected as beans.- Since:
- 5
- Author:
- Mark Rotteveel
-
-
Constructor Summary
Constructors Constructor Description AbstractConnectionPropertiesDataSource()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.lang.String
getAuthPlugins()
Get the list of authentication plugins to try.int
getBlobBufferSize()
int
getBuffersNumber()
Deprecated.java.lang.String
getCharSet()
Java character set configured for the connection.int
getConnectTimeout()
Get the connect timeout in seconds.java.lang.String
getDatabase()
Deprecated.java.lang.String
getDatabaseName()
Gets the database of the connection.java.lang.String
getDataTypeBind()
Get thedataTypeBind
configuration.java.lang.String
getDbCryptConfig()
Get the database encryption plugin configuration.java.lang.String
getDecfloatRound()
java.lang.String
getDecfloatTraps()
java.lang.String
getDefaultIsolation()
Get the default transaction isolation level as string.int
getDefaultTransactionIsolation()
Get the default transaction isolation level.java.lang.String
getEncoding()
Firebird character set configured for the connection.java.lang.String
getGeneratedKeysEnabled()
Get thegeneratedKeysEnabled
configuration.int
getLoginTimeout()
int
getPageCacheSize()
Get the page cache size.int
getParallelWorkers()
java.lang.String
getPassword()
int
getPortNumber()
Get the port number of the server.java.lang.Integer
getProcessId()
java.lang.String
getProcessName()
java.lang.String
getRoleName()
java.lang.String
getScrollableCursor()
int
getServerBatchBufferSize()
java.lang.String
getServerName()
Get the hostname or IP address of the Firebird server.java.lang.String
getSessionTimeZone()
Get thesessionTimeZone
.int
getSocketBufferSize()
Get the socket buffer size.int
getSoTimeout()
Get the initial Socket blocking timeout (SoTimeout).int
getSqlDialect()
java.lang.String
getTpbMapping()
Get the used TPB mapping.java.lang.String
getType()
java.lang.String
getUser()
java.lang.String
getUserName()
Deprecated.java.lang.String
getWireCrypt()
Get the wire encryption level.boolean
isColumnLabelForName()
Gets the current setting ofcolumnLabelForName
boolean
isDefaultResultSetHoldable()
Get whether ResultSets are holdable by default.boolean
isExtendedMetadata()
boolean
isIgnoreProcedureType()
Get the value forignoreProcedureType
.boolean
isTimestampUsesLocalTimezone()
Deprecated.boolean
isUseFirebirdAutocommit()
Get whether to use Firebird autocommit (experimental).boolean
isUseServerBatch()
boolean
isUseStreamBlobs()
boolean
isWireCompression()
Get if wire compression should be enabled.void
setAuthPlugins(java.lang.String authPlugins)
Sets the authentication plugins to try.void
setBlobBufferSize(int blobBufferSize)
void
setBuffersNumber(int buffersNumber)
Deprecated.void
setCharSet(java.lang.String charSet)
Set the Java character set for the connection.void
setColumnLabelForName(boolean columnLabelForName)
Set ifResultSetMetaData.getColumnName(int)
returns thecolumnLabel
instead of thecolumnName
.void
setConnectTimeout(int connectTimeout)
Set the connect timeout in seconds.void
setDatabase(java.lang.String database)
Deprecated.void
setDatabaseName(java.lang.String databaseName)
Sets the database of the connectionvoid
setDataTypeBind(java.lang.String dataTypeBind)
Sets thedataTypeBind
configuration.void
setDbCryptConfig(java.lang.String dbCryptConfig)
Sets the database encryption plugin configuration.void
setDecfloatRound(java.lang.String decfloatRound)
Sets theDECFLOAT
rounding modevoid
setDecfloatTraps(java.lang.String decfloatTraps)
Sets theDECFLOAT
error traps.void
setDefaultIsolation(java.lang.String isolation)
Set the default transaction isolation level as string.void
setDefaultResultSetHoldable(boolean defaultResultSetHoldable)
Set ifResultSet
should beResultSet.HOLD_CURSORS_OVER_COMMIT
by default.void
setDefaultTransactionIsolation(int defaultIsolationLevel)
Set the default transaction isolation level.void
setEncoding(java.lang.String encoding)
Set the Firebird character set for the connection.void
setExtendedMetadata(boolean extendedMetadata)
Sets if certain metadata classes will perform additional queries to enrich the information for certain types.void
setGeneratedKeysEnabled(java.lang.String generatedKeysEnabled)
Sets thegeneratedKeysEnabled
configuration.void
setIgnoreProcedureType(boolean ignoreProcedureType)
Sets the valueignoreProcedureType
.void
setLoginTimeout(int seconds)
void
setPageCacheSize(int pageCacheSize)
Set the page cache size.void
setParallelWorkers(int parallelWorkers)
Sets the number of parallel workers of the connection.void
setPassword(java.lang.String password)
void
setPortNumber(int portNumber)
Set the port number of the server.void
setProcessId(java.lang.Integer processId)
Sets a custom process id to send to Firebird on attach.void
setProcessName(java.lang.String processName)
Sets a custom process name to send to Firebird on attachvoid
setRoleName(java.lang.String roleName)
void
setScrollableCursor(java.lang.String scrollableCursor)
Sets the type of scrollable cursor.void
setServerBatchBufferSize(int serverBatchBufferSize)
Sets the server batch buffer size (if server batch is supported and enabled).void
setServerName(java.lang.String serverName)
Set the hostname or IP address of the Firebird server.void
setSessionTimeZone(java.lang.String sessionTimeZone)
Sets thesessionTimeZone
.void
setSocketBufferSize(int socketBufferSize)
Set the socket buffer size.void
setSoTimeout(int soTimeout)
Set the initial Socket blocking timeout (SoTimeout).void
setSqlDialect(int sqlDialect)
void
setTimestampUsesLocalTimezone(boolean timestampUsesLocalTimezone)
Deprecated.void
setTpbMapping(java.lang.String tpbMapping)
Set path to the properties file with the TPB mapping.void
setType(java.lang.String type)
void
setUseFirebirdAutocommit(boolean useFirebirdAutocommit)
Set whether to use Firebird autocommit (experimental).void
setUser(java.lang.String user)
void
setUserName(java.lang.String userName)
Deprecated.void
setUseServerBatch(boolean useServerBatch)
Sets whether to use server-side batch support, if available.void
setUseStreamBlobs(boolean useStreamBlobs)
void
setWireCompression(boolean wireCompression)
Sets if the connection should try to enable wire compression.void
setWireCrypt(java.lang.String wireCrypt)
Set the wire encryption level.-
Methods inherited from class org.firebirdsql.ds.RootCommonDataSource
getLogWriter, getParentLogger, setLogWriter
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.firebirdsql.jaybird.props.BaseProperties
connectionPropertyValues, getBooleanProperty, getBooleanProperty, getIntProperty, getIntProperty, getProperty, getProperty, setBooleanProperty, setIntProperty, setProperty
-
Methods inherited from interface org.firebirdsql.jdbc.FirebirdConnectionProperties
getNonStandardProperty, getTransactionParameters, setNonStandardProperty, setNonStandardProperty, setTransactionParameters
-
-
-
-
Method Detail
-
getServerName
public java.lang.String getServerName()
Description copied from interface:AttachmentProperties
Get the hostname or IP address of the Firebird server.- Specified by:
getServerName
in interfaceAttachmentProperties
- Returns:
- Hostname or IP address of the server
- See Also:
AttachmentProperties.setServerName(String)
-
setServerName
public void setServerName(java.lang.String serverName)
Description copied from interface:AttachmentProperties
Set the hostname or IP address of the Firebird server.When set to
null
(the default), thedatabaseName
orserviceName
is used as the full identification of the database host, port and database path/alias. Protocol implementations, for examplePURE_JAVA
, may default tolocalhost
when this property isnull
, butdatabaseName
/serviceName
does not (seem to) contain a host name.- Specified by:
setServerName
in interfaceAttachmentProperties
- Parameters:
serverName
- Hostname or IP address of the server
-
getPortNumber
public int getPortNumber()
Description copied from interface:AttachmentProperties
Get the port number of the server.- Specified by:
getPortNumber
in interfaceAttachmentProperties
- Returns:
- Port number of the server
- See Also:
AttachmentProperties.setPortNumber(int)
-
setPortNumber
public void setPortNumber(int portNumber)
Description copied from interface:AttachmentProperties
Set the port number of the server.Defaults to
3050
. This property value will be ignored ifserverName
isnull
, unless the protocol implementation needs a hostname, but cannot find a hostname indatabaseName
/serviceName
.- Specified by:
setPortNumber
in interfaceAttachmentProperties
- Parameters:
portNumber
- Port number of the server- See Also:
AttachmentProperties.setServerName(String)
-
getDatabaseName
public java.lang.String getDatabaseName()
Description copied from interface:DatabaseConnectionProperties
Gets the database of the connection.- Specified by:
getDatabaseName
in interfaceDatabaseConnectionProperties
- Returns:
- database name
- See Also:
DatabaseConnectionProperties.setDatabaseName(String)
-
setDatabaseName
public void setDatabaseName(java.lang.String databaseName)
Description copied from interface:DatabaseConnectionProperties
Sets the database of the connectionWhen
serverName
isnull
, the value is taken as the URL of the database, and exact interpretation depends on the protocol implementation (type
). Basically, the URL would be the JDBC URL, but without thejdbc:firebird[sql]:[subprotocol:]
prefix and without connection properties. Examples:- //localhost/employee — PURE_JAVA, OOREMOTE, NATIVE (for NATIVE, this format is parsed and transformed to the next example)
- localhost:employee — NATIVE, PURE_JAVA, OOREMOTE
- //localhost:3051/employee — PURE_JAVA, OOREMOTE, NATIVE (for NATIVE, this format is parsed and transformed to the next example)
- localhost/3051:employee — NATIVE, PURE_JAVA, OOREMOTE
- /path/to/your.fdb — NATIVE, EMBEDDED, PURE_JAVA, OOREMOTE (PURE_JAVA and OOREMOTE will use localhost
as
serverName
, depending on the Firebird version and platform, NATIVE may use Firebird Embedded) - C:\path\to\your.fdb — NATIVE, EMBEDDED (protocols like PURE_JAVA may attempt to connect to a server
called
C
, depending on the Firebird version and platform, NATIVE may use Firebird Embedded) - C:/path/to/your.fdb — NATIVE, EMBEDDED (protocols like PURE_JAVA may attempt to connect to a server
called
C
, depending on the Firebird version and platform, NATIVE may use Firebird Embedded) - xnet://employee — NATIVE (EMBEDDED will behave as NATIVE, protocols like PURE_JAVA may
attempt to connect to a server called
xnet
) - other Firebird
fbclient
connection URLs — NATIVE (EMBEDDED will behave as NATIVE, protocols like PURE_JAVA may interpret the protocol name as a host name - Custom
type
implementations may support other URL formats
Some protocols, for example PURE_JAVA, when
serverName
is not set, butdatabaseName
doesn't seem to contain a host name, may default to attempting to connect to localhost withdatabaseName
as the database path or alias.When
serverName
is set, the value is taken as the database path or alias. Examples:- employee
- /path/to/your.fdb
- C:\path\to\your.fdb
- C:/path/to/your.fdb
- relative/path/to/your.fdb — not recommended
- Specified by:
setDatabaseName
in interfaceDatabaseConnectionProperties
- Parameters:
databaseName
- database name
-
getDatabase
@Deprecated public java.lang.String getDatabase()
Deprecated.- Specified by:
getDatabase
in interfaceFirebirdConnectionProperties
- Returns:
- path to the database including the server name and the port, if needed.
-
setDatabase
@Deprecated public void setDatabase(java.lang.String database)
Deprecated.- Specified by:
setDatabase
in interfaceFirebirdConnectionProperties
- Parameters:
database
- path to the database including the server name and the port, if needed.
-
getType
public java.lang.String getType()
- Specified by:
getType
in interfaceAttachmentProperties
- Returns:
- type of the connection, for example, "PURE_JAVA", "NATIVE", "EMBEDDED", depends on the GDS implementations installed in the system.
-
setType
public void setType(java.lang.String type)
- Specified by:
setType
in interfaceAttachmentProperties
- Parameters:
type
- type of the connection, for example, "PURE_JAVA", "NATIVE", "EMBEDDED", depends on the GDS implementations installed in the system.
-
getUser
public java.lang.String getUser()
- Specified by:
getUser
in interfaceAttachmentProperties
- Returns:
- Name of the user to authenticate to the server.
-
setUser
public void setUser(java.lang.String user)
- Specified by:
setUser
in interfaceAttachmentProperties
- Parameters:
user
- Name of the user to authenticate to the server.
-
getPassword
public java.lang.String getPassword()
- Specified by:
getPassword
in interfaceAttachmentProperties
- Returns:
- Password to authenticate to the server.
-
setPassword
public void setPassword(java.lang.String password)
- Specified by:
setPassword
in interfaceAttachmentProperties
- Parameters:
password
- Password to authenticate to the server.
-
getRoleName
public java.lang.String getRoleName()
- Specified by:
getRoleName
in interfaceAttachmentProperties
- Returns:
- SQL role to use.
-
setRoleName
public void setRoleName(java.lang.String roleName)
- Specified by:
setRoleName
in interfaceAttachmentProperties
- Parameters:
roleName
- SQL role to use.
-
getCharSet
public java.lang.String getCharSet()
Description copied from interface:AttachmentProperties
Java character set configured for the connection.After connect, the actual Java character set applied can be obtained from
FbAttachment.getEncoding()
(propertycharsetName
), orFbAttachment.getEncodingFactory()
(propertiesdefaultEncoding.charsetName
or {code defaultEncodingDefinition.javaCharset}).- Specified by:
getCharSet
in interfaceAttachmentProperties
- Returns:
- Java character set for the connection (
null
when not explicitly configured).
-
setCharSet
public void setCharSet(java.lang.String charSet)
Description copied from interface:AttachmentProperties
Set the Java character set for the connection.It is possible to set both the
charSet
andencoding
to achieve a character set conversion effect, but in general only one of both properties should be set.- Specified by:
setCharSet
in interfaceAttachmentProperties
- Parameters:
charSet
- Character set for the connection. Similar toencoding
property, but accepts Java names instead of Firebird ones.- See Also:
AttachmentProperties.setEncoding(String)
-
getEncoding
public java.lang.String getEncoding()
Description copied from interface:AttachmentProperties
Firebird character set configured for the connection.After connect, the actual Firebird character set applied can be obtained from
FbAttachment.getEncodingFactory()
, propertydefaultEncodingDefinition.firebirdEncodingName
.- Specified by:
getEncoding
in interfaceAttachmentProperties
- Returns:
- Firebird character encoding for the connection (
null
when not explicitly configured).
-
setEncoding
public void setEncoding(java.lang.String encoding)
Description copied from interface:AttachmentProperties
Set the Firebird character set for the connection.It is possible to set both the
charSet
andencoding
to achieve a character set conversion effect, but in general only one of both properties should be set.- Specified by:
setEncoding
in interfaceAttachmentProperties
- Parameters:
encoding
- Firebird character encoding for the connection. See Firebird documentation for more information.- See Also:
AttachmentProperties.setCharSet(String)
-
getProcessId
public java.lang.Integer getProcessId()
- Specified by:
getProcessId
in interfaceAttachmentProperties
- Returns:
- Custom process id sent to Firebird on attach;
null
means the default is applied (read from system propertyorg.firebirdsql.jdbc.pid
, future versions may also determine the actual process id)
-
setProcessId
public void setProcessId(java.lang.Integer processId)
Description copied from interface:AttachmentProperties
Sets a custom process id to send to Firebird on attach.- Specified by:
setProcessId
in interfaceAttachmentProperties
- Parameters:
processId
- The process id to send;null
to apply the default behaviour (seeAttachmentProperties.getProcessId()
)
-
getProcessName
public java.lang.String getProcessName()
- Specified by:
getProcessName
in interfaceAttachmentProperties
- Returns:
- Custom process name sent to Firebird on attach;
null
means the default is applied (read from system propertyorg.firebirdsql.jdbc.processName
)
-
setProcessName
public void setProcessName(java.lang.String processName)
Description copied from interface:AttachmentProperties
Sets a custom process name to send to Firebird on attach- Specified by:
setProcessName
in interfaceAttachmentProperties
- Parameters:
processName
- The process name to send;null
to apply the default behaviour (seeAttachmentProperties.getProcessName()
)
-
getSocketBufferSize
public int getSocketBufferSize()
Description copied from interface:AttachmentProperties
Get the socket buffer size.- Specified by:
getSocketBufferSize
in interfaceAttachmentProperties
- Returns:
- socket buffer size in bytes, or
-1
if not set
-
setSocketBufferSize
public void setSocketBufferSize(int socketBufferSize)
Description copied from interface:AttachmentProperties
Set the socket buffer size.- Specified by:
setSocketBufferSize
in interfaceAttachmentProperties
- Parameters:
socketBufferSize
- socket buffer size in bytes.
-
getSoTimeout
public int getSoTimeout()
Description copied from interface:AttachmentProperties
Get the initial Socket blocking timeout (SoTimeout).- Specified by:
getSoTimeout
in interfaceAttachmentProperties
- Returns:
- The initial socket blocking timeout in milliseconds (0 is 'infinite'), or
-1
if not set
-
setSoTimeout
public void setSoTimeout(int soTimeout)
Description copied from interface:AttachmentProperties
Set the initial Socket blocking timeout (SoTimeout).- Specified by:
setSoTimeout
in interfaceAttachmentProperties
- Parameters:
soTimeout
- Timeout in milliseconds (0 is 'infinite')
-
getConnectTimeout
public int getConnectTimeout()
Description copied from interface:AttachmentProperties
Get the connect timeout in seconds.- Specified by:
getConnectTimeout
in interfaceAttachmentProperties
- Returns:
- Connect timeout in seconds (0 is 'infinite', or better: OS specific timeout), or
-1
if not set
-
setConnectTimeout
public void setConnectTimeout(int connectTimeout)
Description copied from interface:AttachmentProperties
Set the connect timeout in seconds.- Specified by:
setConnectTimeout
in interfaceAttachmentProperties
- Parameters:
connectTimeout
- Connect timeout in seconds (0 is 'infinite', or better: OS specific timeout)
-
getLoginTimeout
public int getLoginTimeout() throws java.sql.SQLException
This property is an alias for the connectTimeout property.
- Specified by:
getLoginTimeout
in interfacejavax.sql.CommonDataSource
- Throws:
java.sql.SQLException
-
setLoginTimeout
public void setLoginTimeout(int seconds) throws java.sql.SQLException
This property is an alias for the connectTimeout property.
- Specified by:
setLoginTimeout
in interfacejavax.sql.CommonDataSource
- Throws:
java.sql.SQLException
-
getWireCrypt
public java.lang.String getWireCrypt()
Description copied from interface:AttachmentProperties
Get the wire encryption level.- Specified by:
getWireCrypt
in interfaceAttachmentProperties
- Returns:
- Wire encryption level
-
setWireCrypt
public void setWireCrypt(java.lang.String wireCrypt)
Description copied from interface:AttachmentProperties
Set the wire encryption level.Values are defined by
WireCrypt
, values are handled case insensitive. Invalid values will throw an exception.- Specified by:
setWireCrypt
in interfaceAttachmentProperties
- Parameters:
wireCrypt
- Wire encryption level (null
not allowed)
-
getDbCryptConfig
public java.lang.String getDbCryptConfig()
Description copied from interface:AttachmentProperties
Get the database encryption plugin configuration.- Specified by:
getDbCryptConfig
in interfaceAttachmentProperties
- Returns:
- Database encryption plugin configuration, meaning plugin specific
-
setDbCryptConfig
public void setDbCryptConfig(java.lang.String dbCryptConfig)
Description copied from interface:AttachmentProperties
Sets the database encryption plugin configuration.- Specified by:
setDbCryptConfig
in interfaceAttachmentProperties
- Parameters:
dbCryptConfig
- Database encryption plugin configuration, meaning plugin specific
-
getAuthPlugins
public java.lang.String getAuthPlugins()
Description copied from interface:AttachmentProperties
Get the list of authentication plugins to try.- Specified by:
getAuthPlugins
in interfaceAttachmentProperties
- Returns:
- comma-separated list of authentication plugins
-
setAuthPlugins
public void setAuthPlugins(java.lang.String authPlugins)
Description copied from interface:AttachmentProperties
Sets the authentication plugins to try.Invalid names are skipped during authentication.
- Specified by:
setAuthPlugins
in interfaceAttachmentProperties
- Parameters:
authPlugins
- comma-separated list of authentication plugins
-
isWireCompression
public boolean isWireCompression()
Description copied from interface:AttachmentProperties
Get if wire compression should be enabled.Wire compression requires Firebird 3 or higher, and the server must have the zlib library. If compression cannot be negotiated, the connection will be made without wire compression.
This property will be ignored for native connections. For native connections, the configuration in
firebird.conf
read by the client library will be used.- Specified by:
isWireCompression
in interfaceAttachmentProperties
- Returns:
true
wire compression enabled
-
setWireCompression
public void setWireCompression(boolean wireCompression)
Description copied from interface:AttachmentProperties
Sets if the connection should try to enable wire compression.- Specified by:
setWireCompression
in interfaceAttachmentProperties
- Parameters:
wireCompression
-true
enable wire compression,false
disable wire compression (the default)- See Also:
AttachmentProperties.isWireCompression()
-
getSqlDialect
public int getSqlDialect()
- Specified by:
getSqlDialect
in interfaceDatabaseConnectionProperties
- Returns:
- SQL dialect of the client connection
-
setSqlDialect
public void setSqlDialect(int sqlDialect)
- Specified by:
setSqlDialect
in interfaceDatabaseConnectionProperties
- Parameters:
sqlDialect
- SQL dialect of the client connection.
-
getPageCacheSize
public int getPageCacheSize()
Description copied from interface:DatabaseConnectionProperties
Get the page cache size.A value of
0
indicates that the value is not set, and that the server default is used.This option is only relevant for Firebird implementations with per connection cache (eg Classic)
NOTE: Implementer should take care to return
0
if the value hasn't been set yet.- Specified by:
getPageCacheSize
in interfaceDatabaseConnectionProperties
- Returns:
- size of cache in pages for this connection, can be specified for Classic and SuperClassic instances, ignored for SuperServer as the cache is shared; 0 when not set
-
setPageCacheSize
public void setPageCacheSize(int pageCacheSize)
Description copied from interface:DatabaseConnectionProperties
Set the page cache size.A value of
0
indicates that the value is not set, and that the server default is used.This option is only relevant for Firebird implementations with per connection cache (eg Classic).
- Specified by:
setPageCacheSize
in interfaceDatabaseConnectionProperties
- Parameters:
pageCacheSize
- size of cache in pages for this connection, can be specified for Classic and SuperClassic instances ignored for SuperServer as the cache is shared.
-
getDataTypeBind
public java.lang.String getDataTypeBind()
Description copied from interface:DatabaseConnectionProperties
Get thedataTypeBind
configuration.- Specified by:
getDataTypeBind
in interfaceDatabaseConnectionProperties
- Returns:
- configuration value for
dataTypeBind
, ornull
for driver default
-
setDataTypeBind
public void setDataTypeBind(java.lang.String dataTypeBind)
Description copied from interface:DatabaseConnectionProperties
Sets thedataTypeBind
configuration.If the value is explicitly set to a non-null value and the connected server is Firebird 4 or higher, this will configure the data type binding with the specified values using
isc_dpb_set_bind
, which is equivalent to executingSET BIND
statements with the values.See also Firebird documentation for
SET BIND
.- Specified by:
setDataTypeBind
in interfaceDatabaseConnectionProperties
- Parameters:
dataTypeBind
- Firebird 4+ data type bind configuration, a semicolon-separated list of<from-type> TO <to-type>
-
getSessionTimeZone
public java.lang.String getSessionTimeZone()
Description copied from interface:DatabaseConnectionProperties
Get thesessionTimeZone
.- Specified by:
getSessionTimeZone
in interfaceDatabaseConnectionProperties
- Returns:
- value for
sessionTimeZone
, ornull
for driver default (JVM default time zone)
-
setSessionTimeZone
public void setSessionTimeZone(java.lang.String sessionTimeZone)
Description copied from interface:DatabaseConnectionProperties
Sets thesessionTimeZone
.- Specified by:
setSessionTimeZone
in interfaceDatabaseConnectionProperties
- Parameters:
sessionTimeZone
- Firebird 4+ session time zone name (we strongly suggest to use Java compatible names only), use"server"
to use server default time zone (note: conversion will use JVM default time zone)
-
getBlobBufferSize
public int getBlobBufferSize()
- Specified by:
getBlobBufferSize
in interfaceDatabaseConnectionProperties
- Returns:
- BLOB buffer size in bytes.
-
setBlobBufferSize
public void setBlobBufferSize(int blobBufferSize)
- Specified by:
setBlobBufferSize
in interfaceDatabaseConnectionProperties
- Parameters:
blobBufferSize
- size of the BLOB buffer in bytes.
-
isUseStreamBlobs
public boolean isUseStreamBlobs()
- Specified by:
isUseStreamBlobs
in interfaceDatabaseConnectionProperties
- Returns:
true
if stream blobs should be created, otherwisefalse
.
-
setUseStreamBlobs
public void setUseStreamBlobs(boolean useStreamBlobs)
- Specified by:
setUseStreamBlobs
in interfaceDatabaseConnectionProperties
- Parameters:
useStreamBlobs
-true
if stream blobs should be created, otherwisefalse
.
-
isDefaultResultSetHoldable
public boolean isDefaultResultSetHoldable()
Description copied from interface:DatabaseConnectionProperties
Get whether ResultSets are holdable by default.- Specified by:
isDefaultResultSetHoldable
in interfaceDatabaseConnectionProperties
- Returns:
true
ResultSets by default areResultSet.HOLD_CURSORS_OVER_COMMIT
,false
(default), ResultSets areResultSet.CLOSE_CURSORS_AT_COMMIT
-
setDefaultResultSetHoldable
public void setDefaultResultSetHoldable(boolean defaultResultSetHoldable)
Description copied from interface:DatabaseConnectionProperties
Set ifResultSet
should beResultSet.HOLD_CURSORS_OVER_COMMIT
by default.- Specified by:
setDefaultResultSetHoldable
in interfaceDatabaseConnectionProperties
- Parameters:
defaultResultSetHoldable
-true
ResultSets are holdable,false
(default) ResultSets areResultSet.CLOSE_CURSORS_AT_COMMIT
-
isUseFirebirdAutocommit
public boolean isUseFirebirdAutocommit()
Description copied from interface:DatabaseConnectionProperties
Get whether to use Firebird autocommit (experimental).- Specified by:
isUseFirebirdAutocommit
in interfaceDatabaseConnectionProperties
- Returns:
true
use Firebird autocommit
-
setUseFirebirdAutocommit
public void setUseFirebirdAutocommit(boolean useFirebirdAutocommit)
Description copied from interface:DatabaseConnectionProperties
Set whether to use Firebird autocommit (experimental).- Specified by:
setUseFirebirdAutocommit
in interfaceDatabaseConnectionProperties
- Parameters:
useFirebirdAutocommit
-true
Use Firebird autocommit
-
isColumnLabelForName
public boolean isColumnLabelForName()
Description copied from interface:DatabaseConnectionProperties
Gets the current setting ofcolumnLabelForName
- Specified by:
isColumnLabelForName
in interfaceDatabaseConnectionProperties
- Returns:
false
JDBC compliant behavior (columnName
is returned),true
compatibility option (columnLabel
is returned)- See Also:
DatabaseConnectionProperties.setColumnLabelForName(boolean)
-
setColumnLabelForName
public void setColumnLabelForName(boolean columnLabelForName)
Description copied from interface:DatabaseConnectionProperties
Set ifResultSetMetaData.getColumnName(int)
returns thecolumnLabel
instead of thecolumnName
.The default behaviour (with
columnLabelForName=false
is JDBC-compliant. The behavior for valuetrue
is to provide compatibility with tools with a wrong expectation.- Specified by:
setColumnLabelForName
in interfaceDatabaseConnectionProperties
- Parameters:
columnLabelForName
-false
JDBC compliant behavior (columnName
is returned),true
compatibility option (columnLabel
is returned)
-
getGeneratedKeysEnabled
public java.lang.String getGeneratedKeysEnabled()
Description copied from interface:DatabaseConnectionProperties
Get thegeneratedKeysEnabled
configuration.- Specified by:
getGeneratedKeysEnabled
in interfaceDatabaseConnectionProperties
- Returns:
- configuration value for
generatedKeysEnabled
, ornull
for driver default
-
setGeneratedKeysEnabled
public void setGeneratedKeysEnabled(java.lang.String generatedKeysEnabled)
Description copied from interface:DatabaseConnectionProperties
Sets thegeneratedKeysEnabled
configuration.- Specified by:
setGeneratedKeysEnabled
in interfaceDatabaseConnectionProperties
- Parameters:
generatedKeysEnabled
- Generated keys support configuration:default
(or null/empty),disabled
,ignored
, or a list of statement types to enable (possible values:insert
,update
,delete
,update_or_insert
,merge
)
-
isIgnoreProcedureType
public boolean isIgnoreProcedureType()
Description copied from interface:DatabaseConnectionProperties
Get the value forignoreProcedureType
.- Specified by:
isIgnoreProcedureType
in interfaceDatabaseConnectionProperties
- Returns:
- value for
ignoreProcedureType
-
setIgnoreProcedureType
public void setIgnoreProcedureType(boolean ignoreProcedureType)
Description copied from interface:DatabaseConnectionProperties
Sets the valueignoreProcedureType
.When set to true, the
CallableStatement
implementation in Jaybird will ignore metadata information about the stored procedure type and default to usingEXECUTE PROCEDURE
, unless the type is explicitly set usingFirebirdCallableStatement.setSelectableProcedure(boolean)
. This can be useful in situations where a stored procedure is selectable, but tooling or code expects an executable stored procedure.- Specified by:
setIgnoreProcedureType
in interfaceDatabaseConnectionProperties
- Parameters:
ignoreProcedureType
-true
Ignore procedure type
-
getDecfloatRound
public java.lang.String getDecfloatRound()
- Specified by:
getDecfloatRound
in interfaceDatabaseConnectionProperties
- Returns:
- the server-side
DECFLOAT
rounding mode,null
applies the Firebird server default
-
setDecfloatRound
public void setDecfloatRound(java.lang.String decfloatRound)
Description copied from interface:DatabaseConnectionProperties
Sets theDECFLOAT
rounding mode- Specified by:
setDecfloatRound
in interfaceDatabaseConnectionProperties
- Parameters:
decfloatRound
- Firebird 4+ server-sideDECFLOAT
rounding mode (ceiling, up, half_up, half_even, half_down, down, floor, reround
);null
to apply the Firebird server default (half_up
in Firebird 4)
-
getDecfloatTraps
public java.lang.String getDecfloatTraps()
- Specified by:
getDecfloatTraps
in interfaceDatabaseConnectionProperties
- Returns:
- the server-side
DECFLOAT
error traps,null
applies the Firebird server default
-
setDecfloatTraps
public void setDecfloatTraps(java.lang.String decfloatTraps)
Description copied from interface:DatabaseConnectionProperties
Sets theDECFLOAT
error traps.- Specified by:
setDecfloatTraps
in interfaceDatabaseConnectionProperties
- Parameters:
decfloatTraps
- Firebird 4+ server-sideDECFLOAT
error traps; comma-separated list with optionsDivision_by_zero, Inexact, Invalid_operation, Overflow, Underflow
;null
to apply Firebird server default (Division_by_zero,Invalid_operation,Overflow
in Firebird 4)
-
getTpbMapping
public java.lang.String getTpbMapping()
Description copied from interface:DatabaseConnectionProperties
Get the used TPB mapping.- Specified by:
getTpbMapping
in interfaceDatabaseConnectionProperties
- Returns:
- path to the TPB mapping
- See Also:
DatabaseConnectionProperties.setTpbMapping(String)
-
setTpbMapping
public void setTpbMapping(java.lang.String tpbMapping)
Description copied from interface:DatabaseConnectionProperties
Set path to the properties file with the TPB mapping. The path begins with the protocol specification followed by the path to the resource. A special protocol"res:"
should be used to specify resource in the classpath. For compatibility reasons, if no protocol is specified, classpath is used by default. Properties file contains a mapping between the transaction isolation level (name of the constant in theConnection
interface and a comma-separated list of TPB parameters).- Specified by:
setTpbMapping
in interfaceDatabaseConnectionProperties
- Parameters:
tpbMapping
- path to the properties file
-
getDefaultTransactionIsolation
public int getDefaultTransactionIsolation()
Description copied from interface:DatabaseConnectionProperties
Get the default transaction isolation level. This is the transaction isolation level for the newly created connections.- Specified by:
getDefaultTransactionIsolation
in interfaceDatabaseConnectionProperties
- Returns:
- default transaction isolation level.
-
setDefaultTransactionIsolation
public void setDefaultTransactionIsolation(int defaultIsolationLevel)
Description copied from interface:DatabaseConnectionProperties
Set the default transaction isolation level.- Specified by:
setDefaultTransactionIsolation
in interfaceDatabaseConnectionProperties
- Parameters:
defaultIsolationLevel
- default transaction isolation level.
-
getDefaultIsolation
public java.lang.String getDefaultIsolation()
Description copied from interface:DatabaseConnectionProperties
Get the default transaction isolation level as string. This method is complementary toDatabaseConnectionProperties.getDefaultTransactionIsolation()
, however it returns a string name instead of a numeric constant.- Specified by:
getDefaultIsolation
in interfaceDatabaseConnectionProperties
- Returns:
- default transaction isolation as string.
- See Also:
DatabaseConnectionProperties.setDefaultIsolation(String)
-
setDefaultIsolation
public void setDefaultIsolation(java.lang.String isolation)
Description copied from interface:DatabaseConnectionProperties
Set the default transaction isolation level as string. This method is complementary toDatabaseConnectionProperties.setDefaultTransactionIsolation(int)
, however it takes a string as parameter instead of a numeric constant.Following strings are allowed:
"TRANSACTION_READ_COMMITTED"
for a READ COMMITTED isolation level."TRANSACTION_REPEATABLE_READ"
for a REPEATABLE READ isolation level."TRANSACTION_SERIALIZABLE"
for a SERIALIZABLE isolation level.- Integer string values matching the isolation levels
- Specified by:
setDefaultIsolation
in interfaceDatabaseConnectionProperties
- Parameters:
isolation
- string constant representing a default isolation level.
-
getScrollableCursor
public java.lang.String getScrollableCursor()
- Specified by:
getScrollableCursor
in interfaceDatabaseConnectionProperties
- Returns:
- Configuration of scrollable cursors, either
EMULATED
(default) orSERVER
(case-insensitive) - See Also:
DatabaseConnectionProperties.setScrollableCursor(String)
-
setScrollableCursor
public void setScrollableCursor(java.lang.String scrollableCursor)
Description copied from interface:DatabaseConnectionProperties
Sets the type of scrollable cursor.Possible values are (case-insensitive):
EMULATED
(default) - emulate scrollable cursors in memory by fetching all rowsSERVER
- user server-side scrollable cursor (requires Firebird 5.0 and pure-java connection). Falls back toEMULATED
behaviour when server-side support is not available, or when holdable cursors are requested
- Specified by:
setScrollableCursor
in interfaceDatabaseConnectionProperties
- Parameters:
scrollableCursor
- Scrollable cursor type, one ofEMULATED
orSERVER
(case-insensitive)
-
isUseServerBatch
public boolean isUseServerBatch()
- Specified by:
isUseServerBatch
in interfaceDatabaseConnectionProperties
- Returns:
true
(default) use server-side batch if supported by server,false
always use emulated batch- See Also:
DatabaseConnectionProperties.setUseServerBatch(boolean)
-
setUseServerBatch
public void setUseServerBatch(boolean useServerBatch)
Description copied from interface:DatabaseConnectionProperties
Sets whether to use server-side batch support, if available.Currently, server-side batch is only supported with Firebird 4.0 or higher, with a pure Java connection, using a
PreparedStatement
, but not aCallableStatement
, and only when not requesting generated keys.The implementation will fall back to emulated batches if either the server version doesn't support batches, or if the statement cannot be executed using the server-side batch mechanism for other reasons (e.g. requesting generated keys).
- Specified by:
setUseServerBatch
in interfaceDatabaseConnectionProperties
- Parameters:
useServerBatch
-true
, use server-side batch support if possible,false
always use emulated batch
-
getServerBatchBufferSize
public int getServerBatchBufferSize()
- Specified by:
getServerBatchBufferSize
in interfaceDatabaseConnectionProperties
- Returns:
- batch buffer size in bytes,
< 0
to use server-side default (16MB as of Firebird 4.0),0
(default) to use server-side maximum (256MB as of Firebird 4.0), values exceeding server-side maximum will set server-side maximum - See Also:
DatabaseConnectionProperties.setServerBatchBufferSize(int)
-
setServerBatchBufferSize
public void setServerBatchBufferSize(int serverBatchBufferSize)
Description copied from interface:DatabaseConnectionProperties
Sets the server batch buffer size (if server batch is supported and enabled).- Specified by:
setServerBatchBufferSize
in interfaceDatabaseConnectionProperties
- Parameters:
serverBatchBufferSize
- server batch buffer size in bytes, use< 0
to set server-side default (16MB as of Firebird 4.0), use0
to use server-side maximum (256MB as of Firebird 4.0), values exceeding server-side maximum will set server-side maximum
-
getParallelWorkers
public int getParallelWorkers()
- Specified by:
getParallelWorkers
in interfaceAttachmentProperties
- Returns:
- number of parallel workers,
-1
means no value was set (or it was explicitly set to-1
)
-
setParallelWorkers
public void setParallelWorkers(int parallelWorkers)
Description copied from interface:AttachmentProperties
Sets the number of parallel workers of the connection.Requires Firebird 5.0 or higher, and a Firebird server configured with
MaxParallelWorkers
higher than specified byparallelWorkers
.NOTE: For service attachments, this property controls behaviour only for specific operations, and requires Jaybird to explicitly set the parallel workers for that operation.
- Specified by:
setParallelWorkers
in interfaceAttachmentProperties
- Parameters:
parallelWorkers
- number of parallel workers
-
isExtendedMetadata
public boolean isExtendedMetadata()
- Specified by:
isExtendedMetadata
in interfaceDatabaseConnectionProperties
- Returns:
true
(default) if metadata (e.g.ResultSetMetaData
) will perform additional queries for more detailed information,false
if only the available bind information will be used- See Also:
DatabaseConnectionProperties.setExtendedMetadata(boolean)
-
setExtendedMetadata
public void setExtendedMetadata(boolean extendedMetadata)
Description copied from interface:DatabaseConnectionProperties
Sets if certain metadata classes will perform additional queries to enrich the information for certain types.Currently this is used only by
ResultSetMetaData
for itsgetPrecision
andisAutoIncrement
methods. If disabled, these methods will return an estimated precision, orfalse
for auto-increment instead of actual precision and identity column state information.Disabling this setting may improve performance of querying metadata information, in exchange for less precise information.
- Specified by:
setExtendedMetadata
in interfaceDatabaseConnectionProperties
- Parameters:
extendedMetadata
-true
(default) - metadata (e.g.ResultSetMetaData
) will perform additional queries for more detailed information,false
- only the available bind information will be used
-
isTimestampUsesLocalTimezone
@Deprecated public boolean isTimestampUsesLocalTimezone()
Deprecated.- Specified by:
isTimestampUsesLocalTimezone
in interfaceDatabaseConnectionProperties
- Returns:
true
if the Jaybird 1.0 handling of the calendar in corresponding setters. This is also compatible with MySQL calendar treatment.
-
setTimestampUsesLocalTimezone
@Deprecated public void setTimestampUsesLocalTimezone(boolean timestampUsesLocalTimezone)
Deprecated.Description copied from interface:DatabaseConnectionProperties
Sets the valuetimestampUsesLocalTimezone
.- Specified by:
setTimestampUsesLocalTimezone
in interfaceDatabaseConnectionProperties
- Parameters:
timestampUsesLocalTimezone
-true
if the Jaybird 1.0 handling of the calendar in corresponding setters. This is also compatible with MySQL calendar treatment.
-
getUserName
@Deprecated public java.lang.String getUserName()
Deprecated.- Specified by:
getUserName
in interfaceFirebirdConnectionProperties
- Returns:
- name of the user that will be used when connecting to the database.
-
setUserName
@Deprecated public void setUserName(java.lang.String userName)
Deprecated.- Specified by:
setUserName
in interfaceFirebirdConnectionProperties
- Parameters:
userName
- name of the user that will be used when connecting to the database.
-
getBuffersNumber
@Deprecated public int getBuffersNumber()
Deprecated.- Specified by:
getBuffersNumber
in interfaceFirebirdConnectionProperties
- Returns:
- number of cache buffers that should be allocated for this connection, should be specified for ClassicServer instances, SuperServer has a server-wide configuration parameter.
-
setBuffersNumber
@Deprecated public void setBuffersNumber(int buffersNumber)
Deprecated.- Specified by:
setBuffersNumber
in interfaceFirebirdConnectionProperties
- Parameters:
buffersNumber
- number of cache buffers that should be allocated for this connection, should be specified for ClassicServer instances, SuperServer has a server-wide configuration parameter.
-
-