New configuration parameters and changes

<< External functions (UDFs) | Firebird 2.1.6 Release Notes | Firebird 2 project teams >>

New configuration parameters and changes


Authentication

A. Peshkov

(v.2.1) On Windows server platforms, from V.2.1 forward, Authentication is used for configuring the server authentication mode if you need it to be other than the default native.

Important: In Firebird 2.1 releases prior to v.2.1.3, the default was mixed. If you are updating to v.2.1.3 from v.2.1, v.2.1.1 or v.2.1.2 and you did not set this parameter explicitly, trusted user authentication will not work. To revert to the pre-2.1.3 setting, uncomment this parameter and set it to mixed. (Tracker reference CORE-2376).

  • trusted makes use of Windows "trusted authentication" which, under the right conditions, may be the most secure way to authenticate on Windows.
  • native sets the traditional Firebird server authentication mode, requiring users to log in using a user name and password defined in the security database.
  • mixed allows both.


RelaxedAliasChecking

V. Khorsun

(v.2.1) RelaxedAliasChecking is a new configuration parameter added to permit a slight relaxation of the Firebird 2.0.x restrictions on mixing relation aliases and table names in a query. For example, with RelaxedAliasChecking set to true (=1) in firebird.conf, the following query will succeed in Firebird 2.1, whereas it would fail in v.2.0.x, or in v.2.1 with the parameter set to its default of 0:

 SELECT ATABLE.FIELD1, B.FIELD2
   FROM ATABLE A JOIN BTABLE B
   ON A.ID = BTABLE.ID

Caution: Understand that this is a temporary facility whose purpose is to provide some headspace for migrating systems using legacy code that exploited the tolerance of InterBase and older Firebird server versions to non-standard SQL usage.

  • Don't enable this parameter if you have no "offending" code in your applications or PSQL modules. It is not intended as an invitation to write sloppy code!
  • Regard it as a time-bomb. It will be permanently removed from a future release.

back to top of page

MaxFileSystemCache

V. Khorsun

(v.2.1) Sets a threshold determining whether Firebird will allow the page cache to be duplicated to the file system cache or not. If this parameter is set to any (integer) value greater than zero, its effect depends on the current default size of the page cache: if the default page cache (in pages) is less than the value of MaxFileSystemCache (in pages) then file system caching is enabled, otherwise it is disabled.

Note: This applies both when the page cache buffer size is set implicitly by the DefaultDBCachePages setting or explicitly as a database header attribute.

Thus,

  • To disable file system caching always, set MaxFileSystemCache to zero.
  • To enable file system caching always, set MaxFileSystemCache an integer value that is sufficiently large to exceed the size of the database page cache. Remember that the effect of this value will be affected by subsequent changes to the page cache size.

Important: The default setting for MaxFileSystemCache is 65536 pages, i.e. file system caching is enabled.

DatabaseGrowthIncrement

V. Khorsun

(v.2.1) For better control of disk space preallocation, the new parameter DatabaseGrowthIncrement has been added to firebird.conf. It represents the upper limit for the size, in bytes, of the chunk of disk that will be requested for preallocation as pages for writes from the cache. Default: 134,217,728 bytes (128 MB).

For background information, please refer to the topic Enlarge Disk Allocation Chunks in the chapter Global improvements in Firebird 2.1.

When the engine needs to initialize more disk space, it allocates a block that is 1/16th of the space already allocated, but not less than 128 KB and not greater than the DatabaseGrowthIncrement value. The DatabaseGrowthIncrement value can be raised to increase the maximum size of newly-allocated blocks to more than the default 128 MB. Set it to zero to disable preallocation.

Note:

  • The lower limit of the block size is purposely hard-coded at 128 KB and cannot be reconfigured.
  • Space is not preallocated for database shadow files.
  • Preallocation is disabled for a database that has the "No reserve" option set.

back to top of page

ExternalFileAccess

A. Peshkov

Modified in Firebird 2, to allow the first path cited in ExternalFilesAccess to be used as the default when a new external file is created.

LegacyHash

A. Peshkov

This parameter enables you to configure Firebird 2 to reject an old DES hash always in an upgraded security database. If you don't use the security database upgrade procedure, this parameter does not affect Firebird operation. A DES hash cannot arrive in the new security2.fdb.

Refer to the Security DB Upgrade security section for instructions on upgrading your existing Firebird 1.5 security.fdb (or a renamed isc4.gdb) to the new security database layout.

The default value is 1 (true).

back to top of page

Redirection

A. Peshkov

Parameter for controlling redirection of remote requests. It controls the multi-hop capability that was broken in InterBase 6 and is restored in Firebird 2.

About multi-hop

When you attach to some database using multiple hosts in the connection string, only the last host in this list is the one that opens the database. The other hosts act as intermediate gateways on port gds_db. Previously, when working, this feature was available unconditionally. Now, it can be configured.

Remote redirection is turned off by default.

Caution: If you are considering enabling multi-hop capability, please study the Warning text in the chapter on Security and in the documentation for this parameter in the firebird.conf file.

GCPolicy

V. Khorsun

Garbage collection policy. It is now possible to choose the policy for garbage collection on Superserver. The possible settings are cooperative, background and combined, as explained in the notes for GCPolicy in firebird.conf.

Not applicable to Classic, which supports only cooperative garbage collection.

OldColumnNaming

P. Reeves

The parameter OldColumnNaming has been ported forward from Firebird 1.5.3. This parameter allows users to revert to pre-v1.5 column naming behaviour in SELECT expressions. The installation default is 0 (disabled). If it is enabled, the engine will not attempt to supply run-time identifiers, e.g. CONCATENATION for derived fields where the developer has neglected to provide identifiers.

Important: This setting affects all databases on the server and will potentially produce exceptions or unpredicted results where mixed applications are implemented.

back to top of page

UsePriorityScheduler

A. Peshkov

Setting this parameter to zero now disables switching of thread priorities completely. It affects only the Win32 Superserver.

TCPNoNagle has changed

K. Kuznetzov

The default value for TcpNoNagle is now TCP_NODELAY.

IPCName behaviour has changed

N. Samofatov

(v.2.1, undocumented prior to v.2.1.3) IPCName, defaulting to FIREBIRD since v.2.0, is the kernel namespace where the XNET instance for direct local connection on Windows is created. On Vista and some other Windows platforms, it was usually necessary to edit this parameter to add the prefix Global\ in order to ensure that the local client running under a restricted account would have the authority to create this namespace.

A change in v.2.1 made it so that the connection routine would apply the prefix to the default IpcName unconditionally if the user's first attempt failed due to restricted permissions.

back to top of page

Renamed parameters

SortMemBlockSize changed to TempCacheBlockSize

D. Yemanov

Considered more appropriate terminology.

SortMemUpperLimit changed to TempCacheUpperLimit

D. Yemanov

Considered more appropriate terminology.

back to top of page

Removed or deprecated parameters

CreateInternalWindow

D. Yemanov

The option CreateInternalWindow is no longer required to run multiple server instances and it has been removed.

DeadThreadsCollection is no longer used

A. Peshkov

The DeadThreadsCollection parameter is no longer used at all. Dead threads are now efficiently released "on the fly", making configuration unnecessary. Firebird 2.0 silently ignores this parameter.

back to top of page
<< External functions (UDFs) | Firebird 2.1.6 Release Notes | Firebird 2 project teams >>