Interface IConnectionProperties
-
- All Superinterfaces:
IAttachProperties<IConnectionProperties>
- All Known Implementing Classes:
FbConnectionProperties
,FbImmutableConnectionProperties
public interface IConnectionProperties extends IAttachProperties<IConnectionProperties>
Connection properties for the Firebird connection.TODO Remove overlap/duplication with
FirebirdConnectionProperties
- Since:
- 3.0
- Author:
- Mark Rotteveel
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_BUFFERS_NUMBER
static short
DEFAULT_DIALECT
static java.lang.String
SESSION_TIME_ZONE_SERVER
Value forsessionTimeZone
that indicates the session time zone should not be set and use server default.-
Fields inherited from interface org.firebirdsql.gds.ng.IAttachProperties
DEFAULT_CONNECT_TIMEOUT, DEFAULT_PORT, DEFAULT_SERVER_NAME, DEFAULT_SO_TIMEOUT, DEFAULT_SOCKET_BUFFER_SIZE
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IConnectionProperties
asImmutable()
IConnectionProperties
asNewMutable()
short
getConnectionDialect()
Get the dialect of the client connectionjava.lang.String
getDatabaseName()
DatabaseParameterBuffer
getExtraDatabaseParameters()
Gets the extra database parameters.int
getPageCacheSize()
Get the page cache size.java.lang.String
getSessionTimeZone()
Get thesessionTimeZone
.boolean
isColumnLabelForName()
Gets the current setting ofcolumnLabelForName
boolean
isResultSetDefaultHoldable()
Get whether ResultSets are holdable by default.void
setColumnLabelForName(boolean columnLabelForName)
Set ifResultSetMetaData.getColumnName(int)
returns thecolumnLabel
instead of thecolumnName
.void
setConnectionDialect(short connectionDialect)
Set the dialect of the client connectionvoid
setDatabaseName(java.lang.String databaseName)
void
setPageCacheSize(int pageCacheSize)
Set the page cache size.void
setResultSetDefaultHoldable(boolean holdable)
Set ifResultSet
should beResultSet.HOLD_CURSORS_OVER_COMMIT
by default.void
setSessionTimeZone(java.lang.String sessionTimeZone)
Sets thesessionTimeZone
.-
Methods inherited from interface org.firebirdsql.gds.ng.IAttachProperties
getAttachObjectName, getAuthPlugins, getCharSet, getConnectTimeout, getDbCryptConfig, getEncoding, getPassword, getPortNumber, getRoleName, getServerName, getSocketBufferSize, getSoTimeout, getUser, getWireCrypt, isWireCompression, setAuthPlugins, setCharSet, setConnectTimeout, setDbCryptConfig, setEncoding, setPassword, setPortNumber, setRoleName, setServerName, setSocketBufferSize, setSoTimeout, setUser, setWireCompression, setWireCrypt
-
-
-
-
Field Detail
-
SESSION_TIME_ZONE_SERVER
static final java.lang.String SESSION_TIME_ZONE_SERVER
Value forsessionTimeZone
that indicates the session time zone should not be set and use server default.- See Also:
- Constant Field Values
-
DEFAULT_DIALECT
static final short DEFAULT_DIALECT
- See Also:
- Constant Field Values
-
DEFAULT_BUFFERS_NUMBER
static final int DEFAULT_BUFFERS_NUMBER
- See Also:
- Constant Field Values
-
-
Method Detail
-
getDatabaseName
java.lang.String getDatabaseName()
- Returns:
- Name or alias of the database
-
setDatabaseName
void setDatabaseName(java.lang.String databaseName)
- Parameters:
databaseName
- Name or alias of the database
-
getConnectionDialect
short getConnectionDialect()
Get the dialect of the client connectionNOTE: Implementer should take care to return
DEFAULT_DIALECT
if the value hasn't been set yet.- Returns:
- SQL dialect of the client.
-
setConnectionDialect
void setConnectionDialect(short connectionDialect)
Set the dialect of the client connectionNOTE: Implementer should take care to use
DEFAULT_DIALECT
if the value hasn't been set yet.- Parameters:
connectionDialect
- SQL dialect of the client.
-
getPageCacheSize
int getPageCacheSize()
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
DEFAULT_BUFFERS_NUMBER
if the value hasn't been set yet.- 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.
-
setPageCacheSize
void setPageCacheSize(int pageCacheSize)
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)
NOTE: Implementer should take care to use
DEFAULT_BUFFERS_NUMBER
if the value hasn't been set yet.- Parameters:
pageCacheSize
- number of cache buffers that should be allocated for this connection, should be specified for ClassicServer instances, SuperServer has a server-wide configuration parameter.
-
setResultSetDefaultHoldable
void setResultSetDefaultHoldable(boolean holdable)
Set ifResultSet
should beResultSet.HOLD_CURSORS_OVER_COMMIT
by default.- Parameters:
holdable
-true
ResultSets are holdable,false
(default) ResultSets areResultSet.CLOSE_CURSORS_AT_COMMIT
-
isResultSetDefaultHoldable
boolean isResultSetDefaultHoldable()
Get whether ResultSets are holdable by default.- Returns:
true
ResultSets by default areResultSet.HOLD_CURSORS_OVER_COMMIT
,false
(default), ResultSets areResultSet.CLOSE_CURSORS_AT_COMMIT
-
setColumnLabelForName
void setColumnLabelForName(boolean columnLabelForName)
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.- Parameters:
columnLabelForName
-false
JDBC compliant behavior (columnName
is returned),true
compatibility option (columnLabel
is returned)
-
isColumnLabelForName
boolean isColumnLabelForName()
Gets the current setting ofcolumnLabelForName
- Returns:
false
JDBC compliant behavior (columnName
is returned),true
compatibility option (columnLabel
is returned)- See Also:
setColumnLabelForName(boolean)
-
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
-
getSessionTimeZone
java.lang.String getSessionTimeZone()
Get thesessionTimeZone
.- Returns:
- value for
sessionTimeZone
- Since:
- 4.0
-
getExtraDatabaseParameters
DatabaseParameterBuffer getExtraDatabaseParameters()
Gets the extra database parameters. This can be used to pass extra database parameters that are not directly supported.An immutable instance of
IConnectionProperties
must return a copy.- Returns:
- DatabaseParameterBuffer instance.
-
asImmutable
IConnectionProperties asImmutable()
- Specified by:
asImmutable
in interfaceIAttachProperties<IConnectionProperties>
- Returns:
- An immutable version of this instance as an implementation of
IConnectionProperties
-
asNewMutable
IConnectionProperties asNewMutable()
- Specified by:
asNewMutable
in interfaceIAttachProperties<IConnectionProperties>
- Returns:
- A new, mutable, instance as an implementation of
IConnectionProperties
with all properties copied.
-
-