Firebird (32-bit) 歷史舊版本 Page1

最新版本 Firebird 3.0.2 (32-bit)

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

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


Firebird 3.0.2 (32-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 (32-bit) 查看版本資訊

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

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

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

Firebird 3.0.0 (32-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 (32-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 (32-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 (32-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 (32-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.

Firebird 2.5.1 (32-bit) 查看版本資訊

更新時間:2011-10-04
更新細節:

What's new in this version:

- An SQLSTATE context variable is now available in PSQL, parallel to the the context variables GDSCODE and SQLCODE that are used in WHEN blocks to test for error conditions.
- A couple of improvements were made, that should help performance when global temporary tables (GTTs) are being used:
- A needed optimization in the temporary space manager with regard to small chunk allocations has been implemented.
- The Lock Manager has been provided with the capability to cancel waiting, avoiding a condition whereby a transaction in WAIT mode could wait interminably for the end of another transaction that could not be achieved by either a DELETE FROM MON$xxx or an fb_cancel_operation request.
- The query optimizer now estimates the actual record compression ratio, enabling better guesses about the number of stored records in tables.
- Some minor improvements to the remote interface.
- The MON$STATEMENT_ID value constant is now kept constant among monitoring snapshots.
- Ports of this sub-release were done for Linux/HPPA and Linux/alpha platforms.

Firebird 2.5.0 (32-bit) 查看版本資訊

更新時間:2010-10-04
更新細節:

What's new in this version:

Core Engine/API:
- The internal record compression routines exhibited some bugs
- A SELECT statement incurred more non-indexed reads in the third v.2.5 release candidate than the same statement in v.2.1.3
- ALTER DOMAIN was not possible in a database that had been migrated from an earlier version
- The WAIT mode and lock timeout parameters for the external transaction of EXECUTE STATEMENT were not matched to the corresponding parameters of the local transaction
- A regression introduced with the fix for CORE-2893 caused double processing of nodes when preparing a statement, prompting an abort to occur in the debug build
- Parameters would not work with NOT IN from a selectable stored procedure
- Incorrect LEFT JOIN result using table and derived constant subquery
- Attempt to run EXECUTE STATEMENT on an external data source failed when the data source was an InterBase 4.1 (ODS 8) database
- Batch inserts were noticeably slowed down if they were all executed in a single transaction and involved triggers that posted events

Server Crashes:
- The server would crash when isc_dql_exec_immed3_m() was called for CREATE DATABASE ... in a NULL transaction

Command-line Utilities:
- The gsec utility was sending its output list of users to stderr instead of stdout