Firebird Documentation Index → Firebird 3.0.6 Release Notes → Bugs Fixed → Firebird 3.0 Release Candidate 1: Bug Fixes and Minor Improvements |
The following bug fixes and tweaks were reported prior to v.3.0.0 release candidate 1:
(CORE-4911)
IMPROVEMENT: Most errors that occur in
providers are fatal and it is pointless to try other providers in the hope another will succeed
when that one failed. As an example, if the remote redirector detects that the format of
the database connection string matches a certain protocol, trying other providers will be futile
if connection on that protocol failed. Or, suppose the engine reports some internal database error
(other than invalid ODS version) it will be no use trying to open the same database through the
loopback provider.
A better option appeared to be to enumerate the codes for those errors after which
it would make sense to try other providers—primarily isc_unavailable
and
isc_no_priv
. Given the desirability of retaining the content of the status
vector as-is, the solution was to add some more error codes.
Implemented by A. Peshkov
~ ~ ~
(CORE-4898)
IMPROVEMENT: Creation and loading of
functions was slow when there were many functions in the database. This process has been
given a speed boost.
Implemented by A. dos Santos Fernandes
~ ~ ~
(CORE-4880)
IMPROVEMENT: Creating packages containing
many functions was slow. This process has been given a speed boost.
Implemented by A. dos Santos Fernandes
~ ~ ~
(CORE-4939)
IMPROVEMENT: I/O operations on the
nBackup backup file at are now aligned at the page size boundary
Implemented by V. Khorsun
~ ~ ~
(CORE-4936)
IMPROVEMENT: Internal contention in
the background garbage collector has been reduced
Implemented by V. Khorsun
~ ~ ~
(CORE-4935)
IMPROVEMENT: Performance was improved on
backing out a dead record version or undoing a newly created primary record version when the
back-version chain gets too long
Implemented by V. Khorsun
~ ~ ~
(CORE-4984)
Ordering by a compound index together
with a range condition was giving wrong results
fixed by D. Yemanov
~ ~ ~
(CORE-4954)
Packaged procedure with a default input value
would not be called if the default parameter was not specified
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4952)
SuperServer could hang on database
shutdown
fixed by V. Khorsun
~ ~ ~
(CORE-4951)
The message “Incorrect parameters
provided to internal function INF_transaction_info Invalid token” was reported when trying
to commit a two-phase-commit transaction
fixed by A. Peshkov
~ ~ ~
(CORE-4950)
Statistics could not be recalculated or
updated for any system index
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4947)
A compound ALTER TABLE statement that tried
to ADD and DROP the same check constraint would fail
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4943)
Casting a Dialect 1 date to string
would break when a domain with a check constraint was present
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4938)
Operations (get statistics, change forced
wites, make backup) could not be completed on a database when working in embedded mode
fixed by V. Khorsun
~ ~ ~
(CORE-4929)
PSQL source with “ELSE IF
( <expr> ) THEN” block containing commands to manipulate an explicit cursor would
not compile
fixed by D. Yemanov
~ ~ ~
(CORE-4921)
Predicate IS [NOT] DISTINCT FROM was not
being pushed into unions/aggregates, resulting in sub-optimal plans
fixed by D. Yemanov
~ ~ ~
(CORE-4917)
ALTER DOMAIN ... TO <new_name>
would allow the <new_name> to be specified in the same pattern as domains
generated by the system, i.e., matching to 'RDB$[[:DIGIT:]]*'
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4914)
Moving a database into the 'full shutdown'
state could corrupt indexes on long-key text columns
fixed by V. Khorsun
~ ~ ~
(CORE-4909)
MERGE / HASH JOINs would produce incorrect
results when VARCHAR join keys differed only by trailing spaces
fixed by D. Yemanov
~ ~ ~
(CORE-4906)
An access violation would occur
if the server was shut down with active trace session(s)
fixed by V. Khorsun
~ ~ ~
(CORE-4904)
Index corruption could occur while
inserting data into a long-key-indexed field
fixed by V. Khorsun
~ ~ ~
(CORE-4902)
Failure of assertion
(m_format->fmt_length == m_data.getCount())
fixed by D. Yemanov, V. Khorsun
~ ~ ~
(CORE-4897)
The fbsvcmgr
could produce a broken log when restoring a database
fixed by A. Peshkov
~ ~ ~
(CORE-4890)
Placing a comment (single-lined or
multi-lined) between the final END statement and the terminator character (^) in stored
procedure code produced a compiling error if the utility tool used the legacy API
fixed by A. Peshkov
~ ~ ~
(CORE-4889)
Using fbsvcmgr
with action_trace_start
under SuperSsrver would cause a livelock
and prevent attachments using local protocol
fixed by V. Khorsun
~ ~ ~
(CORE-4887)
An AFTER CREATE/ALTER PACKAGE DDL trigger
would run before inserts and updates of RDB$PROCEDURES and RDB$FUNCTIONS, whereas it should run
after all changes to the system tables.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4884)
A script containing
EXECUTE BLOCK with MULTIPLE nested BEGIN..END statements would cause a crash during parsing
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4872)
The V.3 fbclient could not work with
servers older than V.2.5 via the remote protocol
fixed by D. Yemanov
~ ~ ~
(CORE-4861)
A segmentation fault could occur
when working with a saved exception in a request
fixed by A. Peshkov
~ ~ ~
(CORE-4854)
The client library was handling non-UTF8
representation of international characters incorrectly in the SPB
fixed by A. Peshkov
~ ~ ~
(CORE-4848)
MERGE ... WHEN NOT MATCHED ... RETURNING
was returning wrong (non-null) values when no insert was performed
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4846)
Altering a trigger to attempt to change
the table to which it belongs did not succeed but it failed with bizarre results and an unhelpful
error message
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4836)
GRANT UPDATE(c) ON T TO U01 WITH GRANT OPTION:
user U01 would be unable to revoke this privilege if some DML was executed before REVOKE
fixed by A. Peshkov
~ ~ ~
(CORE-4710)
“Invalid request BLR at offset 361
context already in use (BLR error)” was the wrong message for the error concerned, occurring
only when the context count was near the 256 limit
fixed by D. Yemanov
~ ~ ~
(CORE-4680)
Deadlock could occur during attachment
fixed by V. Khorsun
~ ~ ~
(CORE-4585)
A column CHECK constraint could not be
created if the column was based on a domain
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4497)
Regression: wrong handling in
FOR-cursor when a “NOT EXISTS( select from <view
> )”
expression was used to check results obtained from a stored procedure
fixed by D. Yemanov
~ ~ ~
(CORE-4292)
The server would ignores asynchronous requests
(monitoring or cancellation) while preparing a query with a lot of windowed functions
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4279)
Invalid error message: “CHARACTER
SET OCTETS is not defined” when creating a database specifying
isc_dpb_lc_ctype = OCTETS
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4277)
A database could be created with
an invalid character set as its default
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4276)
CREATE TABLE would throw an error if a
column was being defined with the character set DOS775
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4107)
(subquery + derived table + union) would
produce a wrong result set
fixed by D. Yemanov
~ ~ ~
(CORE-3717)
Anomalies existed between the three methods
of user management, regarding valid user names and passwords
fixed by A. Peshkov
~ ~ ~
(CORE-3545)
Validation of domain constraints in
PSQL was inconsistent
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4919)
On AIX and Solaris, all processes
on a Classic server would hang after the death of one process
fixed by A. Peshkov
~ ~ ~
(CORE-4859)
Embedded server could not work without
the folder C:\ProgramData\firebird
fixed by V. Khorsun
~ ~ ~
(CORE-4860)
Online validation on Windows would
fail if the dbname
argument contained forward slash ('/') and
a concurrent attachment existed that also used '/'
fixed by V. Khorsun
~ ~ ~
(CORE-4879)
When using the Services API
to manage users (from fbsvcmgr or by building a SPB in some program, for
example) it was required—but not documented—to place the user name parameter
immediately after the desired action (add/modify). If any other parameter was placed before the
user name, the Services Manager on the server would go crazy and build a wrong command line for
the gsec service.
fixed by A. Peshkov
~ ~ ~
(CORE-4855)
Online validation during DML activity
in another connection would lead to errors: “Error while trying to read from file” and
“Page in use during flush (210)”
fixed by V. Khorsun
~ ~ ~
(CORE-4876)
A named trace session launched by
fbsvcmgr with a non-empty value for the parameter trc_name
could not be stopped using its name
fixed by V. Khorsun
~ ~ ~
(CORE-4928)
The connection information in an ON CONNECT
trigger could not be saved if the connection was established by gbak
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4899)
Using gfix -online
in Classic returned the message "IProvider::attachDatabase failed when loading mapping
cache" if access was using a remote protocol
fixed by A. Peshkov
~ ~ ~
(CORE-4865)
Online validation could return a false
report of double-allocated pages
fixed by V. Khorsun
~ ~ ~
(CORE-3548)
gfix would
return an error after correctly shutting down a database
fixed by A. Peshkov
~ ~ ~
(CORE-4882)
The isql INPUT command
(or the -i
option at the command line) was reading large
(> 64K) lines incorrectly
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-4864)
CREATE DATABASE fails in
isql
fixed by A. Peshkov
~ ~ ~
(CORE-4870)
In isql,
SET COUNT ON reports the wrong number of affected rows when issuing UPDATE on a view
which was created WITH CHECK OPTION
fixed by A. dos Santos Fernandes
~ ~ ~
Firebird Documentation Index → Firebird 3.0.6 Release Notes → Bugs Fixed → Firebird 3.0 Release Candidate 1: Bug Fixes and Minor Improvements |