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 Details

    • SESSION_TIME_ZONE_SERVER

      static final String SESSION_TIME_ZONE_SERVER
      Value for sessionTimeZone that indicates the session time zone should not be set and use server default.
      See Also:
    • DEFAULT_DIALECT

      static final short DEFAULT_DIALECT
      See Also:
    • DEFAULT_BUFFERS_NUMBER

      static final int DEFAULT_BUFFERS_NUMBER
      See Also:
  • Method Details

    • getDatabaseName

      String getDatabaseName()
      Returns:
      Name or alias of the database
    • setDatabaseName

      void setDatabaseName(String databaseName)
      Parameters:
      databaseName - Name or alias of the database
    • getConnectionDialect

      short getConnectionDialect()
      Get the dialect of the client connection

      NOTE: 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 connection

      NOTE: 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 if ResultSet should be ResultSet.HOLD_CURSORS_OVER_COMMIT by default.
      Parameters:
      holdable - true ResultSets are holdable, false (default) ResultSets are ResultSet.CLOSE_CURSORS_AT_COMMIT
    • isResultSetDefaultHoldable

      boolean isResultSetDefaultHoldable()
      Get whether ResultSets are holdable by default.
      Returns:
      true ResultSets by default are ResultSet.HOLD_CURSORS_OVER_COMMIT, false (default), ResultSets are ResultSet.CLOSE_CURSORS_AT_COMMIT
    • setColumnLabelForName

      void setColumnLabelForName(boolean columnLabelForName)
      Set if ResultSetMetaData.getColumnName(int) returns the columnLabel instead of the columnName.

      The default behaviour (with columnLabelForName=false is JDBC-compliant. The behavior for value true 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 of columnLabelForName
      Returns:
      false JDBC compliant behavior (columnName is returned), true compatibility option (columnLabel is returned)
      See Also:
    • setSessionTimeZone

      void setSessionTimeZone(String sessionTimeZone)
      Sets the sessionTimeZone.
      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

      String getSessionTimeZone()
      Get the sessionTimeZone.
      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 interface IAttachProperties<IConnectionProperties>
      Returns:
      An immutable version of this instance as an implementation of IConnectionProperties
    • asNewMutable

      IConnectionProperties asNewMutable()
      Specified by:
      asNewMutable in interface IAttachProperties<IConnectionProperties>
      Returns:
      A new, mutable, instance as an implementation of IConnectionProperties with all properties copied.