Interface FirebirdConnectionProperties
-
- All Known Implementing Classes:
FBAbstractCommonDataSource
,FBConnectionPoolDataSource
,FBConnectionProperties
,FBManagedConnectionFactory
,FBSimpleDataSource
,FBXADataSource
public interface FirebirdConnectionProperties
Connection properties for the Firebird connection. Main part of this interface corresponds to the Database Parameter Buffer, but also contains properties to specify default transaction parameters.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.String
getAuthPlugins()
Get the list of authentication plugins to try.int
getBlobBufferSize()
int
getBuffersNumber()
java.lang.String
getCharSet()
int
getConnectTimeout()
Get the current connect timeout.java.lang.String
getDatabase()
DatabaseParameterBuffer
getDatabaseParameterBuffer()
Get the database parameter buffer corresponding to the current connection request information.java.lang.String
getDataTypeBind()
Get thedataTypeBind
configuration.java.lang.String
getDbCryptConfig()
Get the database encryption plugin configuration.java.lang.String
getDefaultIsolation()
Get the default transaction isolation level as string.int
getDefaultTransactionIsolation()
Get the default transaction isolation level.java.lang.String
getEncoding()
java.lang.String
getGeneratedKeysEnabled()
Get thegeneratedKeysEnabled
configuration.java.lang.String
getNonStandardProperty(java.lang.String key)
Get the property that does not have corresponding getter method by its name.java.lang.String
getPassword()
java.lang.String
getRoleName()
java.lang.String
getSessionTimeZone()
Get thesessionTimeZone
.int
getSocketBufferSize()
int
getSoTimeout()
Get the current Socket blocking timeout (SoTimeout).java.lang.String
getSqlDialect()
java.lang.String
getTpbMapping()
Get the used TPB mapping.TransactionParameterBuffer
getTransactionParameters(int isolation)
Get the transaction parameter buffer corresponding to the current connection request information.java.lang.String
getType()
java.lang.String
getUserName()
java.lang.String
getWireCrypt()
Get the wire encryption level value.boolean
isDefaultResultSetHoldable()
Get the default ResultSet holdability.boolean
isIgnoreProcedureType()
Get the value forignoreProcedureType
.boolean
isTimestampUsesLocalTimezone()
boolean
isUseFirebirdAutocommit()
Get whether to use Firebird autocommit (experimental).boolean
isUseStandardUdf()
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 bufferSize)
void
setBuffersNumber(int buffersNumber)
void
setCharSet(java.lang.String charSet)
void
setConnectTimeout(int connectTimeout)
Set the connect timeout.void
setDatabase(java.lang.String database)
void
setDataTypeBind(java.lang.String dataTypeBind)
Sets thedataTypeBind
configuration.void
setDbCryptConfig(java.lang.String dbCryptConfig)
Sets the database encryption plugin configuration.void
setDefaultIsolation(java.lang.String isolation)
Set the default transaction isolation level as string.void
setDefaultResultSetHoldable(boolean isHoldable)
Sets the default ResultSet holdability.void
setDefaultTransactionIsolation(int defaultIsolationLevel)
Set the default transaction isolation level.void
setEncoding(java.lang.String encoding)
void
setGeneratedKeysEnabled(java.lang.String generatedKeysEnabled)
Sets thegeneratedKeysEnabled
configuration.void
setIgnoreProcedureType(boolean ignoreProcedureType)
Sets the valueignoreProcedureType
.void
setNonStandardProperty(java.lang.String propertyMapping)
Set the property that does not have corresponding setter method.void
setNonStandardProperty(java.lang.String key, java.lang.String value)
Set the property that does not have corresponding setter method.void
setPassword(java.lang.String password)
void
setRoleName(java.lang.String roleName)
void
setSessionTimeZone(java.lang.String sessionTimeZone)
Sets thesessionTimeZone
.void
setSocketBufferSize(int socketBufferSize)
void
setSoTimeout(int soTimeout)
Set the Socket blocking timeout (SoTimeout).void
setSqlDialect(java.lang.String sqlDialect)
void
setTimestampUsesLocalTimezone(boolean timestampUsesLocalTimezone)
void
setTpbMapping(java.lang.String tpbMapping)
Set path to the properties file with the TPB mapping.void
setTransactionParameters(int isolation, TransactionParameterBuffer tpb)
Set transaction parameters for the specified transaction isolation level.void
setType(java.lang.String type)
void
setUseFirebirdAutocommit(boolean useFirebirdAutocommit)
Set whether to use Firebird autocommit (experimental).void
setUserName(java.lang.String userName)
void
setUseStandardUdf(boolean useStandardUdf)
void
setUseStreamBlobs(boolean useStreamBlobs)
void
setWireCompression(boolean wireCompression)
Sets if the connection should try to enable wire compression.void
setWireCrypt(java.lang.String wireCrypt)
Sets the wire encryption level.
-
-
-
Method Detail
-
getDatabase
java.lang.String getDatabase()
- Returns:
- path to the database including the server name and the port, if needed.
-
setDatabase
void setDatabase(java.lang.String database)
- Parameters:
database
- path to the database including the server name and the port, if needed.
-
getType
java.lang.String getType()
- Returns:
- type of the connection, for example, "PURE_JAVA", "LOCAL", "EMBEDDED", depends on the GDS implementations installed in the system.
-
setType
void setType(java.lang.String type)
- Parameters:
type
- type of the connection, for example, "PURE_JAVA", "LOCAL", "EMBEDDED", depends on the GDS implementations installed in the system.
-
getBlobBufferSize
int getBlobBufferSize()
- Returns:
- BLOB buffer size in bytes.
-
setBlobBufferSize
void setBlobBufferSize(int bufferSize)
- Parameters:
bufferSize
- size of the BLOB buffer in bytes.
-
getCharSet
java.lang.String getCharSet()
- Returns:
- Character set for the connection.
- See Also:
setCharSet(String)
-
setCharSet
void setCharSet(java.lang.String charSet)
- Parameters:
charSet
- Character set for the connection. Similar toencoding
property, but accepts Java names instead of Firebird ones.
-
getEncoding
java.lang.String getEncoding()
- Returns:
- Character encoding for the connection.
- See Also:
setEncoding(String)
-
setEncoding
void setEncoding(java.lang.String encoding)
- Parameters:
encoding
- Character encoding for the connection. See Firebird documentation for more information.
-
getRoleName
java.lang.String getRoleName()
- Returns:
- SQL role to use.
-
setRoleName
void setRoleName(java.lang.String roleName)
- Parameters:
roleName
- SQL role to use.
-
getSqlDialect
java.lang.String getSqlDialect()
- Returns:
- SQL dialect of the client.
-
setSqlDialect
void setSqlDialect(java.lang.String sqlDialect)
- Parameters:
sqlDialect
- SQL dialect of the client.
-
isUseStreamBlobs
boolean isUseStreamBlobs()
- Returns:
true
if stream blobs should be created, otherwisefalse
.
-
setUseStreamBlobs
void setUseStreamBlobs(boolean useStreamBlobs)
- Parameters:
useStreamBlobs
-true
if stream blobs should be created, otherwisefalse
.
-
isUseStandardUdf
boolean isUseStandardUdf()
- Returns:
true
if driver should assume that standard UDF are installed.
-
setUseStandardUdf
void setUseStandardUdf(boolean useStandardUdf)
- Parameters:
useStandardUdf
-true
if driver should assume that standard UDF are installed.
-
getSocketBufferSize
int getSocketBufferSize()
- Returns:
- socket buffer size in bytes, or -1 is not specified.
-
setSocketBufferSize
void setSocketBufferSize(int socketBufferSize)
- Parameters:
socketBufferSize
- socket buffer size in bytes.
-
isTimestampUsesLocalTimezone
boolean isTimestampUsesLocalTimezone()
- Returns:
true
if the Jaybird 1.0 handling of the calendar in corresponding setters. This is also compatible with MySQL calendar treatment.
-
setTimestampUsesLocalTimezone
void setTimestampUsesLocalTimezone(boolean timestampUsesLocalTimezone)
- Parameters:
timestampUsesLocalTimezone
-true
if the Jaybird 1.0 handling of the calendar in corresponding setters. This is also compatible with MySQL calendar treatment.
-
getUserName
java.lang.String getUserName()
- Returns:
- name of the user that will be used when connecting to the database.
-
setUserName
void setUserName(java.lang.String userName)
- Parameters:
userName
- name of the user that will be used when connecting to the database.
-
getPassword
java.lang.String getPassword()
- Returns:
- password corresponding to the specified user name.
-
setPassword
void setPassword(java.lang.String password)
- Parameters:
password
- password corresponding to the specified user name.
-
getBuffersNumber
int getBuffersNumber()
- 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
void setBuffersNumber(int buffersNumber)
- 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.
-
getNonStandardProperty
java.lang.String getNonStandardProperty(java.lang.String key)
Get the property that does not have corresponding getter method by its name.- Parameters:
key
- name of the property to get.- Returns:
- value of the property.
-
setNonStandardProperty
void setNonStandardProperty(java.lang.String key, java.lang.String value)
Set the property that does not have corresponding setter method.- Parameters:
key
- name of the property to set.value
- value of the property.
-
setNonStandardProperty
void setNonStandardProperty(java.lang.String propertyMapping)
Set the property that does not have corresponding setter method.- Parameters:
propertyMapping
- parameter value in the ?propertyName[=propertyValue]? form, this allows setting non-standard parameters using configuration files.
-
getDatabaseParameterBuffer
DatabaseParameterBuffer getDatabaseParameterBuffer() throws java.sql.SQLException
Get the database parameter buffer corresponding to the current connection request information.- Returns:
- instance of
DatabaseParameterBuffer
. - Throws:
java.sql.SQLException
- if database parameter buffer cannot be created.
-
getTpbMapping
java.lang.String getTpbMapping()
Get the used TPB mapping.- Returns:
- path to the TPB mapping.
- See Also:
setTpbMapping(String)
-
setTpbMapping
void setTpbMapping(java.lang.String tpbMapping)
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 the 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.- Parameters:
tpbMapping
- path to the properties file.
-
getDefaultTransactionIsolation
int getDefaultTransactionIsolation()
Get the default transaction isolation level. This is the transaction isolation level for the newly created connections.- Returns:
- default transaction isolation level.
-
setDefaultTransactionIsolation
void setDefaultTransactionIsolation(int defaultIsolationLevel)
Set the default transaction isolation level.- Parameters:
defaultIsolationLevel
- default transaction isolation level.
-
getDefaultIsolation
java.lang.String getDefaultIsolation()
Get the default transaction isolation level as string. This method is complementary to thegetDefaultTransactionIsolation()
, however it takes a string as parameter instead of a numeric constant.- Returns:
- default transaction isolation as string.
- See Also:
setDefaultIsolation(String)
-
setDefaultIsolation
void setDefaultIsolation(java.lang.String isolation)
Set the default transaction isolation level as string. This method is complementary to thesetDefaultTransactionIsolation(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.
- Parameters:
isolation
- string constant representing a default isolation level.
-
getTransactionParameters
TransactionParameterBuffer getTransactionParameters(int isolation)
Get the transaction parameter buffer corresponding to the current connection request information.- Parameters:
isolation
- transaction isolation level for which TPB should be returned.- Returns:
- instance of
TransactionParameterBuffer
.
-
setTransactionParameters
void setTransactionParameters(int isolation, TransactionParameterBuffer tpb)
Set transaction parameters for the specified transaction isolation level. The specified TPB is used as a default mapping for the specified isolation level.- Parameters:
isolation
- transaction isolation level.tpb
- instance ofTransactionParameterBuffer
containing transaction parameters.
-
isDefaultResultSetHoldable
boolean isDefaultResultSetHoldable()
Get the default ResultSet holdability.- Returns:
true
when ResultSets are holdable by default,false
not holdable.
-
setDefaultResultSetHoldable
void setDefaultResultSetHoldable(boolean isHoldable)
Sets the default ResultSet holdability.- Parameters:
isHoldable
-true
when ResultSets are holdable by default,false
not holdable.
-
getSoTimeout
int getSoTimeout()
Get the current Socket blocking timeout (SoTimeout).- Returns:
- The socket blocking timeout in milliseconds (0 is 'infinite')
-
setSoTimeout
void setSoTimeout(int soTimeout)
Set the Socket blocking timeout (SoTimeout).- Parameters:
soTimeout
- Timeout in milliseconds (0 is 'infinite')
-
getConnectTimeout
int getConnectTimeout()
Get the current connect timeout.- Returns:
- Connect timeout in seconds (0 is 'infinite', or better: OS specific timeout)
-
setConnectTimeout
void setConnectTimeout(int connectTimeout)
Set the connect timeout.- Parameters:
connectTimeout
- Connect timeout in seconds (0 is 'infinite', or better: OS specific timeout)
-
isUseFirebirdAutocommit
boolean isUseFirebirdAutocommit()
Get whether to use Firebird autocommit (experimental).- Returns:
true
use Firebird autocommit
-
setUseFirebirdAutocommit
void setUseFirebirdAutocommit(boolean useFirebirdAutocommit)
Set whether to use Firebird autocommit (experimental).- Parameters:
useFirebirdAutocommit
-true
Use Firebird autocommit
-
getWireCrypt
java.lang.String getWireCrypt()
Get the wire encryption level value.- Returns:
- Wire encryption level (
null
impliesDEFAULT
) - Since:
- 4.0
-
setWireCrypt
void setWireCrypt(java.lang.String wireCrypt)
Sets the wire encryption level.Values are defined by
WireCrypt
, values are handled case insensitive. Invalid values are accepted, but will cause an error when a connection is established.- Parameters:
wireCrypt
- Wire encryption level- Since:
- 4.0
-
getDbCryptConfig
java.lang.String getDbCryptConfig()
Get the database encryption plugin configuration.- Returns:
- Database encryption plugin configuration, meaning plugin specific
- Since:
- 3.0.4
-
setDbCryptConfig
void setDbCryptConfig(java.lang.String dbCryptConfig)
Sets the database encryption plugin configuration.- Parameters:
dbCryptConfig
- Database encryption plugin configuration, meaning plugin specific- Since:
- 3.0.4
-
getAuthPlugins
java.lang.String getAuthPlugins()
Get the list of authentication plugins to try.- Returns:
- comma-separated list of authentication plugins, or
null
for driver default - Since:
- 4.0
-
setAuthPlugins
void setAuthPlugins(java.lang.String authPlugins)
Sets the authentication plugins to try.Invalid names are skipped during authentication.
- Parameters:
authPlugins
- comma-separated list of authentication plugins, ornull
for driver default- Since:
- 4.0
-
getGeneratedKeysEnabled
java.lang.String getGeneratedKeysEnabled()
Get thegeneratedKeysEnabled
configuration.- Returns:
- configuration value for
generatedKeysEnabled
, ornull
for driver default - Since:
- 4.0
-
setGeneratedKeysEnabled
void setGeneratedKeysEnabled(java.lang.String generatedKeysEnabled)
Sets thegeneratedKeysEnabled
configuration.- 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
)
-
getDataTypeBind
java.lang.String getDataTypeBind()
Get thedataTypeBind
configuration.- Returns:
- configuration value for
dataTypeBind
, ornull
for driver default - Since:
- 4.0
-
setDataTypeBind
void setDataTypeBind(java.lang.String dataTypeBind)
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
.- Parameters:
dataTypeBind
- Firebird 4+ data type bind configuration, a semicolon-separated list of<from-type> TO <to-type>
- Since:
- 4.0
-
getSessionTimeZone
java.lang.String getSessionTimeZone()
Get thesessionTimeZone
.- Returns:
- value for
sessionTimeZone
, ornull
for driver default (JVM default time zone) - Since:
- 4.0
-
setSessionTimeZone
void setSessionTimeZone(java.lang.String sessionTimeZone)
Sets thesessionTimeZone
.- 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)- Since:
- 4.0
-
isIgnoreProcedureType
boolean isIgnoreProcedureType()
Get the value forignoreProcedureType
.- Returns:
- value for
ignoreProcedureType
- Since:
- 3.0.6
-
setIgnoreProcedureType
void setIgnoreProcedureType(boolean ignoreProcedureType)
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.- Parameters:
ignoreProcedureType
-true
Ignore procedure type- Since:
- 3.0.6
-
isWireCompression
boolean isWireCompression()
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.- Returns:
true
wire compression enabled- Since:
- 4.0
-
setWireCompression
void setWireCompression(boolean wireCompression)
Sets if the connection should try to enable wire compression.- Parameters:
wireCompression
-true
enable wire compression,false
disable wire compression (the default)- Since:
- 4.0
- See Also:
isWireCompression()
-
-