Bugs Fixed
Connection error via Loopback provider if it's the first in the Providers parameter
GitHub Issue: 8644 Affected versions: 3.0.13, 4.0.6, 5.0.3, 6.0 Initial Fixed for: 3.0.14, 4.0.7, 5.0.4, 6.0 Alpha 1
firebird.conf contains following providers: Providers = Loopback,Remote,Engine14. If the data source is specified without a server execution of the block below fails:
execute block returns(res bigint) as begin execute statement 'select 1 from rdb$database' on external data source '/tmp/external.fdb' as user 'SYSDBA' password 'masterkey' into :res; suspend; end^ RES ===================== Statement failed, SQLSTATE = 42000 Execute statement error at attach : 335544472 : Your user name and password are not defined. Ask your database administrator to set up a Firebird login. Data source : Firebird::/tmp/external.fdb
If server is specified ('localhost:/tmp/external.fdb'), the script is executed successfully.
Error unable to allocate memory from operating system
GitHub Issue: 8673 Affected versions: 5.0.3 Fixed for: 5.0.4, 6.0 Alpha 1
Error unable to allocate memory from operating system in Firebird 5.0.3.1683-0 Windows-x86 due to reading large number of blob texts. Windows Task Manager shows an increasing memory usage of Firebird.exe each time the query is executed in the same transaction. If the transaction is closed, then the memory is freed.
fbclient incompatible to older ods
GitHub Issue: 8675 Affected versions: 5.0.3, 6.0 Initial Fixed for: 5.0.4, 6.0 Alpha 1
Not really a bug but from my pov a not really needed requirement in fb5 fbclient.dll when connecting to a fb<=2.5 database
Technically it internally uses always a statement when doing a select * from storedproc that is incompatible to older versions. is that really required? could that perhaps be based on database ods version added or not? all fbclient.dll <=4.0 do not do that:
select f.rdb$field_sub_type, f.rdb$segment_length, f.rdb$character_set_id from rdb$procedure_parameters pp join rdb$fields f on f.rdb$field_name = pp.rdb$field_source where pp.rdb$procedure_name = ? and pp.rdb$parameter_name = ? and pp.rdb$package_name is null
On Windows 7 isql exits silently right after the start
GitHub Issue: 8675 Affected versions: 4.0.6, 5.0.3, 6.0 Initial Fixed for: 4.0.7, 5.0.4, 6.0 Alpha 1
The problem is that on Windows 7 ReadConsole() doesn't accept input buffer of 64K wide characters. This is never documented limitation and it looks like it was fixed in Windows 10 only. The fix is to handle ERROR_NOT_ENOUGH_MEMORY error and reduce input buffer size. On my test Win7 it accept 31231 chars.
UDF not working on macOS ARM64 installer
GitHub Issue: 8705 Affected versions: 5.0.3, 6.0 Initial Fixed for: 5.0.4, 6.0 Alpha 1
New feature/improvement requests
Server-side message broadcasting through EVENT when shutdown
GitHub Issue: 8693
When using gfix -shut -force 300 mydb.fdb -user SYSDBA -pass masterkey, I would like the server to send a message about the upcoming database shutdown, so that the application can notify users in advance, or take appropriate action automatically — depending on the developer’s imagination.
Optimizations for MON$ snapshots
GitHub Issue: 8696
The snapshot rule for MON$ tables should depends on the transaction isolation level. For READ COMMITTED - snapshot at the statement level, the snapshot is made only for those tables that are involved in the SQL query. For SNAPSHOT - snapshot at the transaction level, the snapshot is always made for all monitoring tables.