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 ofFirebirdConnectionPropertiesto 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.StringgetAuthPlugins()Get the list of authentication plugins to try.intgetBlobBufferSize()intgetBuffersNumber()Deprecated.java.lang.StringgetCharSet()Java character set configured for the connection.intgetConnectTimeout()Get the connect timeout in seconds.java.lang.StringgetDatabase()Deprecated.java.lang.StringgetDatabaseName()Gets the database of the connection.java.lang.StringgetDataTypeBind()Get thedataTypeBindconfiguration.java.lang.StringgetDbCryptConfig()Get the database encryption plugin configuration.java.lang.StringgetDecfloatRound()java.lang.StringgetDecfloatTraps()java.lang.StringgetDefaultIsolation()Get the default transaction isolation level as string.intgetDefaultTransactionIsolation()Get the default transaction isolation level.java.lang.StringgetEncoding()Firebird character set configured for the connection.java.lang.StringgetGeneratedKeysEnabled()Get thegeneratedKeysEnabledconfiguration.intgetLoginTimeout()intgetPageCacheSize()Get the page cache size.intgetParallelWorkers()java.lang.StringgetPassword()intgetPortNumber()Get the port number of the server.java.lang.IntegergetProcessId()java.lang.StringgetProcessName()java.lang.StringgetRoleName()java.lang.StringgetScrollableCursor()intgetServerBatchBufferSize()java.lang.StringgetServerName()Get the hostname or IP address of the Firebird server.java.lang.StringgetSessionTimeZone()Get thesessionTimeZone.intgetSocketBufferSize()Get the socket buffer size.intgetSoTimeout()Get the initial Socket blocking timeout (SoTimeout).intgetSqlDialect()java.lang.StringgetTpbMapping()Get the used TPB mapping.java.lang.StringgetType()java.lang.StringgetUser()java.lang.StringgetUserName()Deprecated.java.lang.StringgetWireCrypt()Get the wire encryption level.booleanisColumnLabelForName()Gets the current setting ofcolumnLabelForNamebooleanisDefaultResultSetHoldable()Get whether ResultSets are holdable by default.booleanisExtendedMetadata()booleanisIgnoreProcedureType()Get the value forignoreProcedureType.booleanisTimestampUsesLocalTimezone()Deprecated.booleanisUseFirebirdAutocommit()Get whether to use Firebird autocommit (experimental).booleanisUseServerBatch()booleanisUseStreamBlobs()booleanisWireCompression()Get if wire compression should be enabled.voidsetAuthPlugins(java.lang.String authPlugins)Sets the authentication plugins to try.voidsetBlobBufferSize(int blobBufferSize)voidsetBuffersNumber(int buffersNumber)Deprecated.voidsetCharSet(java.lang.String charSet)Set the Java character set for the connection.voidsetColumnLabelForName(boolean columnLabelForName)Set ifResultSetMetaData.getColumnName(int)returns thecolumnLabelinstead of thecolumnName.voidsetConnectTimeout(int connectTimeout)Set the connect timeout in seconds.voidsetDatabase(java.lang.String database)Deprecated.voidsetDatabaseName(java.lang.String databaseName)Sets the database of the connectionvoidsetDataTypeBind(java.lang.String dataTypeBind)Sets thedataTypeBindconfiguration.voidsetDbCryptConfig(java.lang.String dbCryptConfig)Sets the database encryption plugin configuration.voidsetDecfloatRound(java.lang.String decfloatRound)Sets theDECFLOATrounding modevoidsetDecfloatTraps(java.lang.String decfloatTraps)Sets theDECFLOATerror traps.voidsetDefaultIsolation(java.lang.String isolation)Set the default transaction isolation level as string.voidsetDefaultResultSetHoldable(boolean defaultResultSetHoldable)Set ifResultSetshould beResultSet.HOLD_CURSORS_OVER_COMMITby default.voidsetDefaultTransactionIsolation(int defaultIsolationLevel)Set the default transaction isolation level.voidsetEncoding(java.lang.String encoding)Set the Firebird character set for the connection.voidsetExtendedMetadata(boolean extendedMetadata)Sets if certain metadata classes will perform additional queries to enrich the information for certain types.voidsetGeneratedKeysEnabled(java.lang.String generatedKeysEnabled)Sets thegeneratedKeysEnabledconfiguration.voidsetIgnoreProcedureType(boolean ignoreProcedureType)Sets the valueignoreProcedureType.voidsetLoginTimeout(int seconds)voidsetPageCacheSize(int pageCacheSize)Set the page cache size.voidsetParallelWorkers(int parallelWorkers)Sets the number of parallel workers of the connection.voidsetPassword(java.lang.String password)voidsetPortNumber(int portNumber)Set the port number of the server.voidsetProcessId(java.lang.Integer processId)Sets a custom process id to send to Firebird on attach.voidsetProcessName(java.lang.String processName)Sets a custom process name to send to Firebird on attachvoidsetRoleName(java.lang.String roleName)voidsetScrollableCursor(java.lang.String scrollableCursor)Sets the type of scrollable cursor.voidsetServerBatchBufferSize(int serverBatchBufferSize)Sets the server batch buffer size (if server batch is supported and enabled).voidsetServerName(java.lang.String serverName)Set the hostname or IP address of the Firebird server.voidsetSessionTimeZone(java.lang.String sessionTimeZone)Sets thesessionTimeZone.voidsetSocketBufferSize(int socketBufferSize)Set the socket buffer size.voidsetSoTimeout(int soTimeout)Set the initial Socket blocking timeout (SoTimeout).voidsetSqlDialect(int sqlDialect)voidsetTimestampUsesLocalTimezone(boolean timestampUsesLocalTimezone)Deprecated.voidsetTpbMapping(java.lang.String tpbMapping)Set path to the properties file with the TPB mapping.voidsetType(java.lang.String type)voidsetUseFirebirdAutocommit(boolean useFirebirdAutocommit)Set whether to use Firebird autocommit (experimental).voidsetUser(java.lang.String user)voidsetUserName(java.lang.String userName)Deprecated.voidsetUseServerBatch(boolean useServerBatch)Sets whether to use server-side batch support, if available.voidsetUseStreamBlobs(boolean useStreamBlobs)voidsetWireCompression(boolean wireCompression)Sets if the connection should try to enable wire compression.voidsetWireCrypt(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:AttachmentPropertiesGet the hostname or IP address of the Firebird server.- Specified by:
getServerNamein 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:AttachmentPropertiesSet the hostname or IP address of the Firebird server.When set to
null(the default), thedatabaseNameorserviceNameis used as the full identification of the database host, port and database path/alias. Protocol implementations, for examplePURE_JAVA, may default tolocalhostwhen this property isnull, butdatabaseName/serviceNamedoes not (seem to) contain a host name.- Specified by:
setServerNamein interfaceAttachmentProperties- Parameters:
serverName- Hostname or IP address of the server
-
getPortNumber
public int getPortNumber()
Description copied from interface:AttachmentPropertiesGet the port number of the server.- Specified by:
getPortNumberin interfaceAttachmentProperties- Returns:
- Port number of the server
- See Also:
AttachmentProperties.setPortNumber(int)
-
setPortNumber
public void setPortNumber(int portNumber)
Description copied from interface:AttachmentPropertiesSet the port number of the server.Defaults to
3050. This property value will be ignored ifserverNameisnull, unless the protocol implementation needs a hostname, but cannot find a hostname indatabaseName/serviceName.- Specified by:
setPortNumberin interfaceAttachmentProperties- Parameters:
portNumber- Port number of the server- See Also:
AttachmentProperties.setServerName(String)
-
getDatabaseName
public java.lang.String getDatabaseName()
Description copied from interface:DatabaseConnectionPropertiesGets the database of the connection.- Specified by:
getDatabaseNamein interfaceDatabaseConnectionProperties- Returns:
- database name
- See Also:
DatabaseConnectionProperties.setDatabaseName(String)
-
setDatabaseName
public void setDatabaseName(java.lang.String databaseName)
Description copied from interface:DatabaseConnectionPropertiesSets the database of the connectionWhen
serverNameisnull, 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
fbclientconnection URLs — NATIVE (EMBEDDED will behave as NATIVE, protocols like PURE_JAVA may interpret the protocol name as a host name - Custom
typeimplementations may support other URL formats
Some protocols, for example PURE_JAVA, when
serverNameis not set, butdatabaseNamedoesn't seem to contain a host name, may default to attempting to connect to localhost withdatabaseNameas the database path or alias.When
serverNameis 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:
setDatabaseNamein interfaceDatabaseConnectionProperties- Parameters:
databaseName- database name
-
getDatabase
@Deprecated public java.lang.String getDatabase()
Deprecated.- Specified by:
getDatabasein 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:
setDatabasein interfaceFirebirdConnectionProperties- Parameters:
database- path to the database including the server name and the port, if needed.
-
getType
public java.lang.String getType()
- Specified by:
getTypein 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:
setTypein 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:
getUserin interfaceAttachmentProperties- Returns:
- Name of the user to authenticate to the server.
-
setUser
public void setUser(java.lang.String user)
- Specified by:
setUserin interfaceAttachmentProperties- Parameters:
user- Name of the user to authenticate to the server.
-
getPassword
public java.lang.String getPassword()
- Specified by:
getPasswordin interfaceAttachmentProperties- Returns:
- Password to authenticate to the server.
-
setPassword
public void setPassword(java.lang.String password)
- Specified by:
setPasswordin interfaceAttachmentProperties- Parameters:
password- Password to authenticate to the server.
-
getRoleName
public java.lang.String getRoleName()
- Specified by:
getRoleNamein interfaceAttachmentProperties- Returns:
- SQL role to use.
-
setRoleName
public void setRoleName(java.lang.String roleName)
- Specified by:
setRoleNamein interfaceAttachmentProperties- Parameters:
roleName- SQL role to use.
-
getCharSet
public java.lang.String getCharSet()
Description copied from interface:AttachmentPropertiesJava character set configured for the connection.After connect, the actual Java character set applied can be obtained from
FbAttachment.getEncoding()(propertycharsetName), orFbAttachment.getEncodingFactory()(propertiesdefaultEncoding.charsetNameor {code defaultEncodingDefinition.javaCharset}).- Specified by:
getCharSetin interfaceAttachmentProperties- Returns:
- Java character set for the connection (
nullwhen not explicitly configured).
-
setCharSet
public void setCharSet(java.lang.String charSet)
Description copied from interface:AttachmentPropertiesSet the Java character set for the connection.It is possible to set both the
charSetandencodingto achieve a character set conversion effect, but in general only one of both properties should be set.- Specified by:
setCharSetin interfaceAttachmentProperties- Parameters:
charSet- Character set for the connection. Similar toencodingproperty, but accepts Java names instead of Firebird ones.- See Also:
AttachmentProperties.setEncoding(String)
-
getEncoding
public java.lang.String getEncoding()
Description copied from interface:AttachmentPropertiesFirebird character set configured for the connection.After connect, the actual Firebird character set applied can be obtained from
FbAttachment.getEncodingFactory(), propertydefaultEncodingDefinition.firebirdEncodingName.- Specified by:
getEncodingin interfaceAttachmentProperties- Returns:
- Firebird character encoding for the connection (
nullwhen not explicitly configured).
-
setEncoding
public void setEncoding(java.lang.String encoding)
Description copied from interface:AttachmentPropertiesSet the Firebird character set for the connection.It is possible to set both the
charSetandencodingto achieve a character set conversion effect, but in general only one of both properties should be set.- Specified by:
setEncodingin 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:
getProcessIdin interfaceAttachmentProperties- Returns:
- Custom process id sent to Firebird on attach;
nullmeans 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:AttachmentPropertiesSets a custom process id to send to Firebird on attach.- Specified by:
setProcessIdin interfaceAttachmentProperties- Parameters:
processId- The process id to send;nullto apply the default behaviour (seeAttachmentProperties.getProcessId())
-
getProcessName
public java.lang.String getProcessName()
- Specified by:
getProcessNamein interfaceAttachmentProperties- Returns:
- Custom process name sent to Firebird on attach;
nullmeans the default is applied (read from system propertyorg.firebirdsql.jdbc.processName)
-
setProcessName
public void setProcessName(java.lang.String processName)
Description copied from interface:AttachmentPropertiesSets a custom process name to send to Firebird on attach- Specified by:
setProcessNamein interfaceAttachmentProperties- Parameters:
processName- The process name to send;nullto apply the default behaviour (seeAttachmentProperties.getProcessName())
-
getSocketBufferSize
public int getSocketBufferSize()
Description copied from interface:AttachmentPropertiesGet the socket buffer size.- Specified by:
getSocketBufferSizein interfaceAttachmentProperties- Returns:
- socket buffer size in bytes, or
-1if not set
-
setSocketBufferSize
public void setSocketBufferSize(int socketBufferSize)
Description copied from interface:AttachmentPropertiesSet the socket buffer size.- Specified by:
setSocketBufferSizein interfaceAttachmentProperties- Parameters:
socketBufferSize- socket buffer size in bytes.
-
getSoTimeout
public int getSoTimeout()
Description copied from interface:AttachmentPropertiesGet the initial Socket blocking timeout (SoTimeout).- Specified by:
getSoTimeoutin interfaceAttachmentProperties- Returns:
- The initial socket blocking timeout in milliseconds (0 is 'infinite'), or
-1if not set
-
setSoTimeout
public void setSoTimeout(int soTimeout)
Description copied from interface:AttachmentPropertiesSet the initial Socket blocking timeout (SoTimeout).- Specified by:
setSoTimeoutin interfaceAttachmentProperties- Parameters:
soTimeout- Timeout in milliseconds (0 is 'infinite')
-
getConnectTimeout
public int getConnectTimeout()
Description copied from interface:AttachmentPropertiesGet the connect timeout in seconds.- Specified by:
getConnectTimeoutin interfaceAttachmentProperties- Returns:
- Connect timeout in seconds (0 is 'infinite', or better: OS specific timeout), or
-1if not set
-
setConnectTimeout
public void setConnectTimeout(int connectTimeout)
Description copied from interface:AttachmentPropertiesSet the connect timeout in seconds.- Specified by:
setConnectTimeoutin interfaceAttachmentProperties- Parameters:
connectTimeout- Connect timeout in seconds (0 is 'infinite', or better: OS specific timeout)
-
getLoginTimeout
public int getLoginTimeout() throws java.sql.SQLExceptionThis property is an alias for the connectTimeout property.
- Specified by:
getLoginTimeoutin interfacejavax.sql.CommonDataSource- Throws:
java.sql.SQLException
-
setLoginTimeout
public void setLoginTimeout(int seconds) throws java.sql.SQLExceptionThis property is an alias for the connectTimeout property.
- Specified by:
setLoginTimeoutin interfacejavax.sql.CommonDataSource- Throws:
java.sql.SQLException
-
getWireCrypt
public java.lang.String getWireCrypt()
Description copied from interface:AttachmentPropertiesGet the wire encryption level.- Specified by:
getWireCryptin interfaceAttachmentProperties- Returns:
- Wire encryption level
-
setWireCrypt
public void setWireCrypt(java.lang.String wireCrypt)
Description copied from interface:AttachmentPropertiesSet the wire encryption level.Values are defined by
WireCrypt, values are handled case insensitive. Invalid values will throw an exception.- Specified by:
setWireCryptin interfaceAttachmentProperties- Parameters:
wireCrypt- Wire encryption level (nullnot allowed)
-
getDbCryptConfig
public java.lang.String getDbCryptConfig()
Description copied from interface:AttachmentPropertiesGet the database encryption plugin configuration.- Specified by:
getDbCryptConfigin interfaceAttachmentProperties- Returns:
- Database encryption plugin configuration, meaning plugin specific
-
setDbCryptConfig
public void setDbCryptConfig(java.lang.String dbCryptConfig)
Description copied from interface:AttachmentPropertiesSets the database encryption plugin configuration.- Specified by:
setDbCryptConfigin interfaceAttachmentProperties- Parameters:
dbCryptConfig- Database encryption plugin configuration, meaning plugin specific
-
getAuthPlugins
public java.lang.String getAuthPlugins()
Description copied from interface:AttachmentPropertiesGet the list of authentication plugins to try.- Specified by:
getAuthPluginsin interfaceAttachmentProperties- Returns:
- comma-separated list of authentication plugins
-
setAuthPlugins
public void setAuthPlugins(java.lang.String authPlugins)
Description copied from interface:AttachmentPropertiesSets the authentication plugins to try.Invalid names are skipped during authentication.
- Specified by:
setAuthPluginsin interfaceAttachmentProperties- Parameters:
authPlugins- comma-separated list of authentication plugins
-
isWireCompression
public boolean isWireCompression()
Description copied from interface:AttachmentPropertiesGet 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.confread by the client library will be used.- Specified by:
isWireCompressionin interfaceAttachmentProperties- Returns:
truewire compression enabled
-
setWireCompression
public void setWireCompression(boolean wireCompression)
Description copied from interface:AttachmentPropertiesSets if the connection should try to enable wire compression.- Specified by:
setWireCompressionin interfaceAttachmentProperties- Parameters:
wireCompression-trueenable wire compression,falsedisable wire compression (the default)- See Also:
AttachmentProperties.isWireCompression()
-
getSqlDialect
public int getSqlDialect()
- Specified by:
getSqlDialectin interfaceDatabaseConnectionProperties- Returns:
- SQL dialect of the client connection
-
setSqlDialect
public void setSqlDialect(int sqlDialect)
- Specified by:
setSqlDialectin interfaceDatabaseConnectionProperties- Parameters:
sqlDialect- SQL dialect of the client connection.
-
getPageCacheSize
public int getPageCacheSize()
Description copied from interface:DatabaseConnectionPropertiesGet the page cache size.A value of
0indicates 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
0if the value hasn't been set yet.- Specified by:
getPageCacheSizein 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:DatabaseConnectionPropertiesSet the page cache size.A value of
0indicates 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:
setPageCacheSizein 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:DatabaseConnectionPropertiesGet thedataTypeBindconfiguration.- Specified by:
getDataTypeBindin interfaceDatabaseConnectionProperties- Returns:
- configuration value for
dataTypeBind, ornullfor driver default
-
setDataTypeBind
public void setDataTypeBind(java.lang.String dataTypeBind)
Description copied from interface:DatabaseConnectionPropertiesSets thedataTypeBindconfiguration.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 BINDstatements with the values.See also Firebird documentation for
SET BIND.- Specified by:
setDataTypeBindin 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:DatabaseConnectionPropertiesGet thesessionTimeZone.- Specified by:
getSessionTimeZonein interfaceDatabaseConnectionProperties- Returns:
- value for
sessionTimeZone, ornullfor driver default (JVM default time zone)
-
setSessionTimeZone
public void setSessionTimeZone(java.lang.String sessionTimeZone)
Description copied from interface:DatabaseConnectionPropertiesSets thesessionTimeZone.- Specified by:
setSessionTimeZonein 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:
getBlobBufferSizein interfaceDatabaseConnectionProperties- Returns:
- BLOB buffer size in bytes.
-
setBlobBufferSize
public void setBlobBufferSize(int blobBufferSize)
- Specified by:
setBlobBufferSizein interfaceDatabaseConnectionProperties- Parameters:
blobBufferSize- size of the BLOB buffer in bytes.
-
isUseStreamBlobs
public boolean isUseStreamBlobs()
- Specified by:
isUseStreamBlobsin interfaceDatabaseConnectionProperties- Returns:
trueif stream blobs should be created, otherwisefalse.
-
setUseStreamBlobs
public void setUseStreamBlobs(boolean useStreamBlobs)
- Specified by:
setUseStreamBlobsin interfaceDatabaseConnectionProperties- Parameters:
useStreamBlobs-trueif stream blobs should be created, otherwisefalse.
-
isDefaultResultSetHoldable
public boolean isDefaultResultSetHoldable()
Description copied from interface:DatabaseConnectionPropertiesGet whether ResultSets are holdable by default.- Specified by:
isDefaultResultSetHoldablein interfaceDatabaseConnectionProperties- Returns:
trueResultSets 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:DatabaseConnectionPropertiesSet ifResultSetshould beResultSet.HOLD_CURSORS_OVER_COMMITby default.- Specified by:
setDefaultResultSetHoldablein interfaceDatabaseConnectionProperties- Parameters:
defaultResultSetHoldable-trueResultSets are holdable,false(default) ResultSets areResultSet.CLOSE_CURSORS_AT_COMMIT
-
isUseFirebirdAutocommit
public boolean isUseFirebirdAutocommit()
Description copied from interface:DatabaseConnectionPropertiesGet whether to use Firebird autocommit (experimental).- Specified by:
isUseFirebirdAutocommitin interfaceDatabaseConnectionProperties- Returns:
trueuse Firebird autocommit
-
setUseFirebirdAutocommit
public void setUseFirebirdAutocommit(boolean useFirebirdAutocommit)
Description copied from interface:DatabaseConnectionPropertiesSet whether to use Firebird autocommit (experimental).- Specified by:
setUseFirebirdAutocommitin interfaceDatabaseConnectionProperties- Parameters:
useFirebirdAutocommit-trueUse Firebird autocommit
-
isColumnLabelForName
public boolean isColumnLabelForName()
Description copied from interface:DatabaseConnectionPropertiesGets the current setting ofcolumnLabelForName- Specified by:
isColumnLabelForNamein interfaceDatabaseConnectionProperties- Returns:
falseJDBC compliant behavior (columnNameis returned),truecompatibility option (columnLabelis returned)- See Also:
DatabaseConnectionProperties.setColumnLabelForName(boolean)
-
setColumnLabelForName
public void setColumnLabelForName(boolean columnLabelForName)
Description copied from interface:DatabaseConnectionPropertiesSet ifResultSetMetaData.getColumnName(int)returns thecolumnLabelinstead of thecolumnName.The default behaviour (with
columnLabelForName=falseis JDBC-compliant. The behavior for valuetrueis to provide compatibility with tools with a wrong expectation.- Specified by:
setColumnLabelForNamein interfaceDatabaseConnectionProperties- Parameters:
columnLabelForName-falseJDBC compliant behavior (columnNameis returned),truecompatibility option (columnLabelis returned)
-
getGeneratedKeysEnabled
public java.lang.String getGeneratedKeysEnabled()
Description copied from interface:DatabaseConnectionPropertiesGet thegeneratedKeysEnabledconfiguration.- Specified by:
getGeneratedKeysEnabledin interfaceDatabaseConnectionProperties- Returns:
- configuration value for
generatedKeysEnabled, ornullfor driver default
-
setGeneratedKeysEnabled
public void setGeneratedKeysEnabled(java.lang.String generatedKeysEnabled)
Description copied from interface:DatabaseConnectionPropertiesSets thegeneratedKeysEnabledconfiguration.- Specified by:
setGeneratedKeysEnabledin 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:DatabaseConnectionPropertiesGet the value forignoreProcedureType.- Specified by:
isIgnoreProcedureTypein interfaceDatabaseConnectionProperties- Returns:
- value for
ignoreProcedureType
-
setIgnoreProcedureType
public void setIgnoreProcedureType(boolean ignoreProcedureType)
Description copied from interface:DatabaseConnectionPropertiesSets the valueignoreProcedureType.When set to true, the
CallableStatementimplementation 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:
setIgnoreProcedureTypein interfaceDatabaseConnectionProperties- Parameters:
ignoreProcedureType-trueIgnore procedure type
-
getDecfloatRound
public java.lang.String getDecfloatRound()
- Specified by:
getDecfloatRoundin interfaceDatabaseConnectionProperties- Returns:
- the server-side
DECFLOATrounding mode,nullapplies the Firebird server default
-
setDecfloatRound
public void setDecfloatRound(java.lang.String decfloatRound)
Description copied from interface:DatabaseConnectionPropertiesSets theDECFLOATrounding mode- Specified by:
setDecfloatRoundin interfaceDatabaseConnectionProperties- Parameters:
decfloatRound- Firebird 4+ server-sideDECFLOATrounding mode (ceiling, up, half_up, half_even, half_down, down, floor, reround);nullto apply the Firebird server default (half_upin Firebird 4)
-
getDecfloatTraps
public java.lang.String getDecfloatTraps()
- Specified by:
getDecfloatTrapsin interfaceDatabaseConnectionProperties- Returns:
- the server-side
DECFLOATerror traps,nullapplies the Firebird server default
-
setDecfloatTraps
public void setDecfloatTraps(java.lang.String decfloatTraps)
Description copied from interface:DatabaseConnectionPropertiesSets theDECFLOATerror traps.- Specified by:
setDecfloatTrapsin interfaceDatabaseConnectionProperties- Parameters:
decfloatTraps- Firebird 4+ server-sideDECFLOATerror traps; comma-separated list with optionsDivision_by_zero, Inexact, Invalid_operation, Overflow, Underflow;nullto apply Firebird server default (Division_by_zero,Invalid_operation,Overflowin Firebird 4)
-
getTpbMapping
public java.lang.String getTpbMapping()
Description copied from interface:DatabaseConnectionPropertiesGet the used TPB mapping.- Specified by:
getTpbMappingin interfaceDatabaseConnectionProperties- Returns:
- path to the TPB mapping
- See Also:
DatabaseConnectionProperties.setTpbMapping(String)
-
setTpbMapping
public void setTpbMapping(java.lang.String tpbMapping)
Description copied from interface:DatabaseConnectionPropertiesSet 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 theConnectioninterface and a comma-separated list of TPB parameters).- Specified by:
setTpbMappingin interfaceDatabaseConnectionProperties- Parameters:
tpbMapping- path to the properties file
-
getDefaultTransactionIsolation
public int getDefaultTransactionIsolation()
Description copied from interface:DatabaseConnectionPropertiesGet the default transaction isolation level. This is the transaction isolation level for the newly created connections.- Specified by:
getDefaultTransactionIsolationin interfaceDatabaseConnectionProperties- Returns:
- default transaction isolation level.
-
setDefaultTransactionIsolation
public void setDefaultTransactionIsolation(int defaultIsolationLevel)
Description copied from interface:DatabaseConnectionPropertiesSet the default transaction isolation level.- Specified by:
setDefaultTransactionIsolationin interfaceDatabaseConnectionProperties- Parameters:
defaultIsolationLevel- default transaction isolation level.
-
getDefaultIsolation
public java.lang.String getDefaultIsolation()
Description copied from interface:DatabaseConnectionPropertiesGet 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:
getDefaultIsolationin interfaceDatabaseConnectionProperties- Returns:
- default transaction isolation as string.
- See Also:
DatabaseConnectionProperties.setDefaultIsolation(String)
-
setDefaultIsolation
public void setDefaultIsolation(java.lang.String isolation)
Description copied from interface:DatabaseConnectionPropertiesSet 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:
setDefaultIsolationin interfaceDatabaseConnectionProperties- Parameters:
isolation- string constant representing a default isolation level.
-
getScrollableCursor
public java.lang.String getScrollableCursor()
- Specified by:
getScrollableCursorin 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:DatabaseConnectionPropertiesSets 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 toEMULATEDbehaviour when server-side support is not available, or when holdable cursors are requested
- Specified by:
setScrollableCursorin interfaceDatabaseConnectionProperties- Parameters:
scrollableCursor- Scrollable cursor type, one ofEMULATEDorSERVER(case-insensitive)
-
isUseServerBatch
public boolean isUseServerBatch()
- Specified by:
isUseServerBatchin interfaceDatabaseConnectionProperties- Returns:
true(default) use server-side batch if supported by server,falsealways use emulated batch- See Also:
DatabaseConnectionProperties.setUseServerBatch(boolean)
-
setUseServerBatch
public void setUseServerBatch(boolean useServerBatch)
Description copied from interface:DatabaseConnectionPropertiesSets 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:
setUseServerBatchin interfaceDatabaseConnectionProperties- Parameters:
useServerBatch-true, use server-side batch support if possible,falsealways use emulated batch
-
getServerBatchBufferSize
public int getServerBatchBufferSize()
- Specified by:
getServerBatchBufferSizein interfaceDatabaseConnectionProperties- Returns:
- batch buffer size in bytes,
< 0to 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:DatabaseConnectionPropertiesSets the server batch buffer size (if server batch is supported and enabled).- Specified by:
setServerBatchBufferSizein interfaceDatabaseConnectionProperties- Parameters:
serverBatchBufferSize- server batch buffer size in bytes, use< 0to set server-side default (16MB as of Firebird 4.0), use0to 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:
getParallelWorkersin interfaceAttachmentProperties- Returns:
- number of parallel workers,
-1means no value was set (or it was explicitly set to-1)
-
setParallelWorkers
public void setParallelWorkers(int parallelWorkers)
Description copied from interface:AttachmentPropertiesSets the number of parallel workers of the connection.Requires Firebird 5.0 or higher, and a Firebird server configured with
MaxParallelWorkershigher 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:
setParallelWorkersin interfaceAttachmentProperties- Parameters:
parallelWorkers- number of parallel workers
-
isExtendedMetadata
public boolean isExtendedMetadata()
- Specified by:
isExtendedMetadatain interfaceDatabaseConnectionProperties- Returns:
true(default) if metadata (e.g.ResultSetMetaData) will perform additional queries for more detailed information,falseif only the available bind information will be used- See Also:
DatabaseConnectionProperties.setExtendedMetadata(boolean)
-
setExtendedMetadata
public void setExtendedMetadata(boolean extendedMetadata)
Description copied from interface:DatabaseConnectionPropertiesSets if certain metadata classes will perform additional queries to enrich the information for certain types.Currently this is used only by
ResultSetMetaDatafor itsgetPrecisionandisAutoIncrementmethods. If disabled, these methods will return an estimated precision, orfalsefor 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:
setExtendedMetadatain 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:
isTimestampUsesLocalTimezonein interfaceDatabaseConnectionProperties- Returns:
trueif 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:DatabaseConnectionPropertiesSets the valuetimestampUsesLocalTimezone.- Specified by:
setTimestampUsesLocalTimezonein interfaceDatabaseConnectionProperties- Parameters:
timestampUsesLocalTimezone-trueif 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:
getUserNamein 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:
setUserNamein interfaceFirebirdConnectionProperties- Parameters:
userName- name of the user that will be used when connecting to the database.
-
getBuffersNumber
@Deprecated public int getBuffersNumber()
Deprecated.- Specified by:
getBuffersNumberin 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:
setBuffersNumberin 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.
-
-