The true open source database for Windows

Firebird (64-bit)

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Subscribe
Download Firebird 3.0.3 (64-bit)

Firebird (64-bit)

 -  100% Safe  -  Open Source

What's new in this version:

Improvements:
- Engine response has been improved on cancel/shutdown signals when scanning a long list of pointer pages
- The name of the encryption key is not top secret information. It can be read using the gstat utility or service, for example. However, for working with that name from a program it was desirable to access the key name using the API call Attachment::getInfo(). Hence, this facility is now provided via the information item fb_info_crypt_key
- Some clauses of the ALTER DATABASE statement require updating of the single row in RDB$DATABASE: SET DEFAULT CHARACTER SET, SET LINGER, DROP LINGER. Others, such as BEGIN|END BACKUP, ENCRYPT, DECRYPT, et al., do not need to touch that record
- In previous versions, to prevent concurrent instances of ALTER DATABASE running in parallel transactions, the engine would run an update on the RDB$DATABASE record regardless of the nature of clauses specified by the user. Hence, any other transaction that read the RDB$DATABASE record in READ COMMITTED NO RECORD VERSION mode would be blocked briefly, even by a “dummy update” that in fact did not update the record
- In some cases, such as with an ALTER DATABASE END BACKUP the blockage could last 10 minutes or more. A user would seem to be unable to connect to the database with isql, for example, while ALTER DATABASE END BACKUP was running. In fact, isql would connect successfully, but it would read RDB$DATABASE immediately after attaching, using a READ COMMITTED NO RECORD VERSION WAIT transaction and then just wait until the work of ALTER DATABASE END BACKUP was committed
- From this sub-release forward, the update of the RDB$DATABASE record is avoided when possible and an implicit lock is placed to prevent concurrent runs of the ALTER DATABASE statement
- All queries that are semantically the same should have the same plan. However, until now, the optimizer understood only an explicit reference inside an ORDER BY clause and would ignore sorts derived from equivalent expressions. Now, it will consider equivalence classes for index navigation. Refer to the Tracker ticket for an example
- Common Table Expressions are now allowed to be left unused
- Flushing a large number of dirty pages has been made faster
- Measures have been taken to avoid serialization of isc_attach_database calls issued by EXECUTE STATEMENT
- Output from gstat now includes the date and time of analysis
- The merge stage of a physical backup stage could run too long, especially with huge page cache. Changes have been made to reduce it
- Message “Error during sweep: connection shutdown” now provides information about the database that was being swept
- Improvement in performance of ALTER DOMAIN when the domain has many dependencies
- Compression details and encryption status of the connection (fb_info_conn_flags) have been added to the getInfo() API call
- Restoring a pre ODS 11.1 database now correctly populates RDB$RELATION_TYPE field in the metadata
- Speed of backup with nBackup when directed to NAS over SMB protocol has been improved
- The optimizer can now estimate the actual record compression ratio


Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Subscribe