Firebird (64-bit) 歷史版本列表 Page4

最新版本 Firebird 4.0.4 (64-bit)

Firebird (64-bit) 歷史版本列表

Firebird 64 位是一個關係數據庫,提供許多在 Linux,Windows 和各種 Unix 平台上運行的 ANSI SQL 標準功能。 Firebird 為存儲過程和触發器提供出色的並發性,高性能和強大的語言支持。 Firebird 項目是一個 C 和 C ++ 程序員,技術顧問和支持者的商業獨立項目,開發和增強了一個基於源代碼的多平台關係數據庫管理系統由 Inprise Corp(現稱... Firebird (64-bit) 軟體介紹


Firebird 3.0.3 (64-bit) 查看版本資訊

更新時間:2018-02-02
更新細節:

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

Firebird 2.5.8 (64-bit) 查看版本資訊

更新時間:2018-01-08
更新細節:

What's new in this version:

- Populate RDB$RELATION_TYPE while restoring pre ODS 11.1 databases
- GSTAT output now includes datetime of analysis
- Improve concurrency of new connections being established
- Allow unused Common Table Expressions
- 19 bugs fixed

Firebird 3.0.2 (64-bit) 查看版本資訊

更新時間:2017-03-26
更新細節:

What's new in this version:

New Feature:
- Support was added for fast/low-latency “TCP Loopback Fast Path” functionality introduced in Windows 8 and Server 2012. This feature is said to improve the performance of the TCP stack for local loopback connections, by short-circuiting the TCP stack for local calls. The details of the feature can be found in this Microsoft Technet blog

Improvements:
- It is now possible to filter out info and warnings from the trace log
- Enhanced control capability when sharing the database crypt key between Superserver attachments
- The physical numbers of frequently used data pages are now cached to reduce the number of fetches of pointer pages
- A read-only transaction will no longer force write the HeaderTIP page content to disk immediately after a change. This improvement gives a significant performance gain where there are numerous light read-only transactions. At this stage, it affects only servers in SS mode. For CS and SC it is more complex to implement and should appear in Firebird 4.0
- The database name was made available to an encryption plug-in
- libfbclient.so was compiled for Android (x86/x86-64/arm64)
- Nesting of keys in a plug-in configuration was enabled
- The Linux code is now built with --enable-binreloc and an option was included in the installer script to install in locations other than /opt/firebird
- For Trace, a filter has been provided to INCLUDE / EXCLUDE errors by their mnemonical names
- Android port (arm32)
- A port was done and tested for Linux on the ancient Motorola 680000 CPU platform to satisfy some requirement from Debian
- Support has been added to enable SELECT expressions to be valid operands for the BETWEEN predicate

Firebird 3.0.1 (64-bit) 查看版本資訊

更新時間:2016-09-27
更新細節:

Firebird 2.5.6 (64-bit) 查看版本資訊

更新時間:2016-07-04
更新細節:

Firebird 3.0.0 (64-bit) 查看版本資訊

更新時間:2016-04-19
更新細節:

What's new in this version:

- The primary goals for Firebird 3.0 were to unify the server architecture and to improve support for SMP and multiple-core hardware platforms. Parallel objectives were to improve threading of engine processes and the options for sharing page cache across thread and connection boundaries.
- Alongside these aims came new strategies to improve performance, query optimization, monitoring and scalability and to address the demand for more security options. A number of popular features were introduced into the SQL language, including the long-awaited support for the Boolean data type and the associated logical predications.

BUGS FIXED:

Core Engine:
- An assertion would occur in the cloop dispatcher when trying to save exception information in the status interface.
- Failure to find a record on re-fetch would produce inconsistent effects on subsequent statement execution.
- Unique key violation on a BOOLEAN column was returning an erroneous message.
- HAVING COUNT(*) NOT IN ( ) would erroneously exclude a record from the outer result set. ( represents a result set without nulls)
- It was possible to create a unique index on non-unique data.
- Regression: the engine could throw transliteration errors when running from a non-ASCII system path.
- The server could go into an infinite loop when data was being sent from a client to the server in small packets.
- Regression: LEFT JOIN was incorrectly pushing COALESCE into the inner stream, causing wrong results.
- CREATE TRIGGER was failing with the error "Ambiguous field name between table B and table A".
- Join order was sub-optimal if one table had a selective predicate and MIN was calculated for the other one.
- Deadlock could occur when a database was being encrypted or decrypted under high parallel load.
- ALTER SEQUENCE RESTART WITH was failing to change the initial value.
- Minor regression: wrong error message was being returned on an attempt to compile a view with both a subquery and the WITH CHECK OPTION clause in its definition—an illegal combination.
- The optimizer could avoid using an expression index if the query was running in a different connection character set to the one that was in effect when the index was created.
- Internal Firebird consistency check (cannot find tip page (165), file: tra.cpp line: 2375) would occur if too many transactions were created for one connection to a read-only database. This was a very old bug, dating back to InterBase 6.

Server Crashes:
- Regression: The server would crash when aggregate functions were used together with the NOT IN predicate.

Utilities:
- gbak: gbak restore could fail when there was some SQL function accessing a table while the switch -O(NE_AT_A_TIME) was in use.
- gfix: An attempt to set the number of page buffers to a non-supported value would return the wrong error message.
- isql: An invalid COMPUTED BY definition was being generated by the 'extract metadata' operation.
- Monitoring: Database-level statistics (MON$STAT_GROUP = 0) could contain multiple rows under concurrent load.
- User Management: The codes of operation for user management plug-ins were missing from the public API.
- User Management: Users with the same name can co-exist in the security database if they are created by different plug-ins. However, tags or attributes for a user created using one plug-in were being displayed in the SEC$ virtual tables for the same-name user created by the other plug-in.
- User Management: [CREATE OR] ALTER USER statement would fail if the PASSWORD parameter was present and was not specified immediately after the USER parameter.

Builds:
- The build would fail if HAVE_MMAP was not defined.
- Root rights were unnecessarily required to build a Linux package.
- The samples of dbcrypt-related plug-ins contained references to internal files.

Firebird 2.5.5 (64-bit) 查看版本資訊

更新時間:2015-11-20
更新細節:

What's new in this version:

Bug fixes:
- IMPROVEMENT: Improve validation and fixup of lost data pages
- Casting DATE to string would break in Dialect 1 in the presence a domain with a CHECK constraint
- A view or subquery with UNION would not use a computed index
- IIF function was preventing the condition from being pushed into the union for better optimization
- Predicate IS [NOT] DISTINCT FROM was not being pushed into unions/aggregates, resulting in sub-optimal plans
- ALTER DOMAIN ... TO would allows the to be specified in the same pattern as domains generated by the system, i.e., matching to 'RDB$[[:DIGIT:]]*'
- MERGE / HASH JOINs would produce incorrect results when VARCHAR join keys differed only by trailing spaces
- The server could hang on simultaneous connection to the Services API and a database
- An invalid internal BLR filter conversion was detected
- Index corruption could occur while inserting data into a long-key-indexed field
- Preparing a query with a PLAN clause in a CTE could crash the server
- A memory leak was detected in Superserver
- MERGE JOIN could be used for expressions involving RDB$DB_KEY
- MERGE JOIN was not being used for more than two streams if they were joined via USING/NATURAL clauses
- Timestamps could be cast to strings that were beyond the valid range for VARCHAR
- The full text of the problem value was not being returned in the message “Problematic key value (attempting to insert duplicate in PK/UK)” when the length of the offending key was 127 characters or longer
- ON CONNECT triggers would sometimes fail to execute
- A request synchronization error could occur while building an expression index
- Bugcheck 167 (invalid SEND request) could occur while working with a GTT from several attachments, using EXECUTE STATEMENT ... ON EXTERNAL and different roles
- EXECUTE STATEMENT using BLOB parameters could result in an “Invalid BLOB ID” error
- The error “invalid BLOB ID” could occur when retrieving MON$STATEMENTS.MON$SQL_TEXT using EXECUTE STATEMENT against an EXTERNAL DATA SOURCE and the argument db_connect was not specified
- Deadlock could occur during attachment
- The server could hang while chasing dead record versions.
- CREATE TABLE would throw an error if a column was being defined with the character set DOS775
- COUNT(DISTINCT ...) was too slow

Windows-Specific:
- Online validation on Windows would fail if the dbname argument contained forward slash ('/') and a concurrent attachment existed that also used '/'
- Embedded server on Windows could hang due to a synchronization problem involving artifact child processes that were not detectable by Firebird
- The Control Panel applet Firebird2Control.cpl would crash in Windows 8

Firebird 2.5.4 (64-bit) 查看版本資訊

更新時間:2015-03-30
更新細節:

What's new in this version:

- Online validation for user-defined tables and indices.
- Optimized handling for internal temporary blobs.

Firebird 2.5.3 (64-bit) 查看版本資訊

更新時間:2014-07-20
更新細節:

What's new in this version:

- New context variables added to the SYSTEM namespace.
- Some limits increased:
-- Maximum number of connections in SuperServer/SuperClassic raised from 1024 to 2048 connections.
-- Maximum number of input parameters for user-defined functions (UDFs) raised from 10 to 15.
- Error reporting improvements.
- Physical backup improved to address performance and reliability issues.
- SET STATISTICS no longer blocks concurrent connections.

Firebird 2.5.2 (64-bit) 查看版本資訊

更新時間:2012-11-08
更新細節:

What's new in this version:

* Some welcome improvements were made to the Trace services, viz.,
- Sessions can now be configured to log user and automatic sweep activity.
- TRACE now produces statistics of actions that happen after a transaction has finished.
- TRACE now provides the ability to log errors that occur in runtime (lock conflicts, key violations, et al.).
* It is now possible to use the API to do a remote backup/restore.
* A note is now written into firebird.log when an automatic sweep is started.
* Support was added for C preprocessor flags in the Firebird build system.