Firebird Documentation Index → Firebird 2.0.6 Release Notes → Bugs Fixed → Firebird 2.0 |
The following bugs present in Firebird 1.5 were fixed in v.2.0. Note that, in many cases, the bug-fixes were backported to Firebird 1.5.x sub-releases.
(CORE-911)
Leaving a Classic
server process idle for a long period while a read-only, Read Committed transaction was active could
cause segmentation faults/AVs.
fixed by V. Horsun
~ ~ ~
(CORE-902)
The server could crash
intermittently during execution of DDL or DML statements.
fixed by V. Horsun
~ ~ ~
Not registered
Assignments to columns
deleted by a concurrent transaction were being improperly allowed.
fixed by D. Yemanov
~ ~ ~
Not registered
Error "invalid
transaction handle" would be thrown when calling isc_array_lookup_bounds() from multiple threads.
fixed by D. Yemanov
~ ~ ~
Not registered
Heavy concurrent load
could cause index data corruption.
fixed by V. Horsun
~ ~ ~
SF #1446987
BLOBs could appear to be
damaged during operations in PSQL, causing a "BLOB not found" error.
fixed by V. Horsun
~ ~ ~
SF #1434147
Bugs with COUNT (DISTINCT
XXXX) when XXXX was a high integer.
fixed by V. Horsun
~ ~ ~
SF #1435997
A bug was causing a close
database error -901 on the embedded server.
fixed by D. Yemanov
~ ~ ~
SF #1436066
Adding an index during
database activity could cause logical errors in structure that GFIX would detect.
fixed by V. Horsun
~ ~ ~
Not registered
A few types of
subqueries were being wrongly treated as variant, causing performance issues.
fixed by D. Yemanov
~ ~ ~
Not registered
Previously, the
Transaction ID would silently (and dangerously) overflow. Now it will throw a consistency check when it reaches
the limit (which is still 2^31).
fixed by V. Horsun
~ ~ ~
Not registered
Read committed
transactions would block garbage collection unnecessarily.
fixed by V. Horsun
~ ~ ~
Not registered
The ALL predicate could
return wrong results.
fixed by D. Yemanov
~ ~ ~
SF #1404157
DFW was not ready for
RECREATE TABLE/VIEW
fixed by D. Yemanov
~ ~ ~
Not registered
Restored the code which
replaces ROLLBACK with COMMIT if a transaction has not modified any data.
fixed by D. Yemanov
~ ~ ~
Not registered
There were some bugs
producing wrong statistics:
with relation/index data longer than 2^32 bytes
when the average index key length rounded to an integer value
fixed by V. Horsun
~ ~ ~
Not registered
Attaching with the
isc_dpb_no_garbage_collect option was forcing a sweep.
fixed by V. Horsun
~ ~ ~
Not registered
The system transaction
was being reported as dead.
fixed by A. dos Santos Fernandes, V. Horsun
~ ~ ~
Not registered
The server would lock up
after an unsuccessful attach to the security database.
fixed by D. Yemanov, C. Valderrama
~ ~ ~
SF #1076858
Source of possible
corruption in Classic server.
fixed by V. Horsun
~ ~ ~
SF #1116809
Incorrect data type conversion.
fixed by A. dos Santos Fernandes
~ ~ ~
SF #1111570
Problem dropping a table
having a check constraint referencing more than one column.
fixed by C. Valderrama
~ ~ ~
Not registered
Usage of an invalid index
in an explicit plan caused garbage to be shown in the error message instead of the rejected index name.
fixed by C. Valderrama
~ ~ ~
SF #543106
Bug with ALL keyword. MORE
INFO REQUIRED.
fixed by D. Yemanov
~ ~ ~
Not registered
System
users "AUTHENTICATOR" and "SWEEPER" were lost, causing "SQL SERVER" to be reported
instead.
fixed by A. Peshkov
~ ~ ~
Not registered
Don't rollback prepared 2PC
sub-transaction. (Description needs clarifying, Vlad!)
fixed by V. Horsun
~ ~ ~
Not registered
Memory consumption became
exorbitant when blobs were converted from strings during request processing. For example, the problem would
appear when running a script with a series of statements like
insert into t(a,b) values(N, <literal_string>);
when b was blob and the engine was performing the conversion internally.
fixed by N. Samofatov
~ ~ ~
Not registered
Materialization of BLOBs
was not invalidating temporary BLOB IDs soon enough.
A blob is created as an orphan. This blob has a blob id of {0,slot}. It is volatile, meaning that, if the connection terminates, it will become eligible for garbage collection. Once a blob is assigned to field in a table, it is said to be materialized. If the transaction that did the assignment commits, the blob has an anchor in the table and will be considered permanent. Its blob id is {relation_id,slot}.
In situations where internal code is referencing the blob by its old, volatile blob id, the references are "routed" to the materialized blob, until the session is closed.
fixed by N. Samofatov
Solution
Now, the references to a
volatile blob are checked and, when there are no more references to it, it is invalidated.
~ ~ ~
Not registered
Conversion from string to
blob had a memory leak.
fixed by N. Samofatov
~ ~ ~
SF #750664
Issues with read-only
databases and transactions.
fixed by N. Samofatov
~ ~ ~
Not registered
When one classic process
dropped a foreign key and another process was trying to delete master record, the error 'partner index not
found' would be thrown.
fixed by V. Horsun
~ ~ ~
Various server bugs
eliminated redundant attempts to get an exclusive database lock during shutdown
corrected inaccurate timeout counting
database lock was not being released after bringing database online in the exclusive mode
removed a 5 sec timeout when bringing database online in the shared mode
fixed by D. Yemanov
~ ~ ~
SF #1186607
Foreign key relation
VARCHAR <-> INT should not have caused an exception.
fixed by V. Horsun
~ ~ ~
SF #1211325
Fixed problems with BLOBs in
external tables.
fixed by V. Horsun
~ ~ ~
Not registered
After an attempt
to "create view v(c1) as select 1 from v" all clones of the system request would remain active forever.
fixed by A. Peshkov
~ ~ ~
SF #1191006
Use of WHERE params in SUM
would return incorrect results.
fixed by A. Brinkman
~ ~ ~
SF #750662
Fixed a bug involving
multiple declaration of blob filters.
fixed by D. Yemanov
~ ~ ~
SF #743679
FIRST / SKIP was not as well
implemented as it could be.
fixed by D. Yemanov
~ ~ ~
Not registered
CPU load would rise to
100% when an I/O error caused a rollover to a non-existent shadow.
fixed by D. Yemanov
~ ~ ~
Not registered
"Cannot find record
fragment" bugcheck could occur during garbage collection on the system tables.
fixed by V. Horsun
~ ~ ~
SF #1211328
Error reporting cited
maximum BLOB size wrongly.
fixed by D. Yemanov
~ ~ ~
SF #1292007
Duplicated field names in
INSERT and UPDATE statements were getting through.
fixed by C. Valderrama
~ ~ ~
Not registered
The SQL string was being
stored truncated within the RDB$*_SOURCE columns in some cases
fixed by D. Yemanov
~ ~ ~
Not registered
Broken implementation of
the MATCHES predicate in GDML
fixed by D. Yemanov
~ ~ ~
SF bug #1404215
Column dependencies were
not being stored for views.
fixed by D. Yemanov
~ ~ ~
SF bug #1191206
A few constraint issues.
fixed by D. Yemanov
~ ~ ~
SF bug #609538
Alter Index on a Foreign
Key index should cause an exception and it did, but the error message was not appropriate.
fixed by D. Yemanov
~ ~ ~
SF bug #1175157
An error in the thread
scheduler was causing the server to lock up.
fixed by V. Horsun
~ ~ ~
Not registered
Improper thread data operations were occurring during the protocol port cleanup
Transaction rollback and attachment cleanup for broken TCP connections was faulty
fixed by V. Horsun, D. Yemanov
~ ~ ~
Not registered
A wrong error message was
decoded when firebird.msg was missing or outdated.
fixed by D. Yemanov
~ ~ ~
Not registered
Buffer overflows inside
the BLR->ASCII blob filter were causing memory corruption and server crashes.
fixed by D. Yemanov
~ ~ ~
Not registered
A successful status vector
could be reported to the user after a failed DDL operation.
fixed by V. Horsun
~ ~ ~
Not registered
Threading issues in the
DSQL metadata cache were causing unexpected “invalid transaction handle” errors under load.
fixed by D. Yemanov
~ ~ ~
Not registered
Wrong results would be
returned by the division operation after DDL changes.
Example
create table test(fld numeric(18, 2)); insert into test (fld) values (1); commit; alter table test alter fld type numeric(18,3); select fld/3 from test; -- returns 0.033 instead of expected 0.333
fixed by D. Yemanov
~ ~ ~
SF #1184099
Incorrect padding was
exhibited when using character set OCTETS.
fixed by C. Valderrama, A. dos Santos Fernandes
~ ~ ~
Not registered
Unexpected errors were
occurring because of improperly handled dead record versions created by the system transaction during DDL
operations.
fixed by A. Harrison
~ ~ ~
SF #223060
Processing of the GREATER-THAN
operator was too slow.
fixed by V. Horsun
~ ~ ~
Not registered
CHECK constraints were not
SQL-compliant with regard to the handling of NULL. Until now, if NULL were to be allowed, it had to be
specified explicitly in the constraint definition. Under the standard, NULL is allowed unless explicitly
constrained by NOT NULL or CHECK (.. IS NOT NULL).
Example of Problem
The following definition now allows NULL in DEPTNO, where previously it did not:
CHECK (DEPTNO IN (10, 20, 30))
fixed by P. Ruizendaal, D. Yemanov
~ ~ ~
Not registered
It was possible to create
a primary key constraint on a column consisting of NULLs.
Example of Problem
create table bug (f1 int not null, f2 int not null); insert into bug (f1, f2) values (1, 1); commit; alter table bug add pk int not null primary key;
fixed by V. Horsun
~ ~ ~
SF #1334034
REVOKE was damaging the
ACL (Access Control List).
fixed by D. Yemanov
~ ~ ~
Not registered
Incorrect encryption of
password when the Services Manager was invoked by the Embedded client.
fixed by A. Peshkov
~ ~ ~
SF #1242106
Shutdown bugs:
Incorrect commit instead of rollback during shutdown
Crash or bugcheck during SuperServer shutdown with active attachments
fixed by D. Yemanov
~ ~ ~
Not registered
Crash occurred in
service gfix code when it tried to reattach to a currently unavailable database. Since a service cannot
interact with the end-user, an endless loop leads to overflowing the service buffer and causing a crash as
a result.
fixed by V. Horsun
~ ~ ~
SF #1408079
The parser was not
validating string literal markers.
fixed by C. Valderrama
~ ~ ~
Not registered
The engine would fail to
parse the SQL ROLE keyword properly.
fixed by C. Valderrama
~ ~ ~
Not registered
EXECUTE PROCEDURE did not check SQL
permissions at the prepare stage.
fixed by D. Yemanov
~ ~ ~
SF #217042
Weird SQL constructions are not
always properly validated.
Partly fixed by C. Valderrama
~ ~ ~
SF #1108909
View could be created without
rights on a table name like "a b"
fixed by C. Valderrama
~ ~ ~
SF #512975
Clear embedded spaces and
CR+LF before DEFAULT clauses when storing them in system tables
Implemented by C. Valderrama
~ ~ ~
SF #910423
Anomaly with ALTER TABLE
altering a column's type to VARCHAR, when determining valid length of the string.
SQL> CREATE TABLE tab ( i INTEGER ); SQL> INSERT INTO tab VALUES (2000000000); SQL> COMMIT; SQL> ALTER TABLE tab ALTER i TYPE VARCHAR(5); Statement failed, SQLCODE = -607 unsuccessful metadata update -New size specified for column I must be at least 11 characters.
i.e., it would need potentially 10 characters for the numerals and one for the negative sign.
SQL> ALTER TABLE tab ALTER i TYPE VARCHAR(9);
This command should fail with the same error, but it did not, which could later lead to unreadable data:
SQL> SELECT * FROM tab; I ========= Statement failed, SQLCODE = -413 conversion error from string "2000000000"
fixed by C. Valderrama
~ ~ ~
Not registered
There were some rounding
problems in date/time arithmetic.
fixed by N. Samofatov
~ ~ ~
Not registered
Line numbers in DSQL
parser were being miscounted when multi-line literals and identifiers were used.
fixed by N. Samofatov
~ ~ ~
SF #784121
Some expressions in outer
join conditions were causing problems.
fixed by C. Valderrama
~ ~ ~
Not registered
There were some dialect-
specific arithmetic bugs:
Dialect 1
'1.5' / '0.5' did not work
avg ('1.5') did not work
5 * '1.5' produced an INT result instead of DOUBLE PRECISION
sum ('1.5') produced a NUMERIC(15, 2) result instead of DOUBLE PRECISION
- '1.5' did not work
Dialect 3
'1.5' * '0.5' and '1.5' / '0.5' were not forbidden, but they should have been.
fixed by D. Yemanov
~ ~ ~
SF #1250150
There was a situation where a
procedure could not be dropped.
fixed by V. Horsun
~ ~ ~
SF #1238104
Internal sweep report was
incorrect.
fixed by C. Valderrama
~ ~ ~
SF #1371274
The infamous “Datatype
unknown” error when attempting some castings has been eliminated. It is now possible to use CAST to
advise the engine about the data type of a parameter.
fixed by D. Yemanov
~ ~ ~
SF #1292106
ORDER BY with FOR UPDATE WITH
LOCK would trash the index.
fixed by D. Yemanov
~ ~ ~
SF #1368741
UPPER() was returning wrong
results.
fixed by A. dos Santos Fernandes
~ ~ ~
(CORE-921)
A bug in EXECUTE
STATEMENT implementation could cause a core dump during PSQL execution.
fixed by A. Peshkov
~ ~ ~
SF #1422471
A memory leak was exhibited
in EXECUTE STATEMENT.
fixed by A. Peshkov
~ ~ ~
Not registered
ROW_COUNT was getting
cleared after SUSPEND execution.
fixed by D. Yemanov
~ ~ ~
SF #1124720
Problem with "FOR EXECUTE
STATEMENT ... DO SUSPEND;"
fixed by A. Peshkov
~ ~ ~
Not registered
Memory leakage was
occurring when selectable stored procedures were called from PSQL or in subqueries.
fixed by N. Samofatov
~ ~ ~
Not registered
The wrong error would be
reported when non-active contexts were accessed in multi-action triggers.
fixed by D. Yemanov
~ ~ ~
Not registered
An internal error was
reported when attempting to pass/return blobs to/from string functions inside PSQL.
fixed by D. Yemanov
~ ~ ~
Not registered
A crash could occur if
some bad client passed more than the supported number of remote protocol versions.
fixed by A. Karyakin, A. Peshkov
~ ~ ~
Not registered
An AV could occur when the
server was configured to use TCP packets as large as 32 Kb.
fixed by C. Valderrama, A. Peshkov
~ ~ ~
Not registered
Server would crash if a
positioned UPDATE/DELETE executed via DSQL was referencing a cursor that had already been released.
fixed by V. Horsun
~ ~ ~
Not registered
Certain DDL actions could
crash the server.
Example of a problem action
alter table rdb$relations add rdb$garbage varchar(30);
fixed by J. Starkey
~ ~ ~
Not registered
An overflow in the plan
buffer would cause the server to crash.
fixed by D. Yemanov
~ ~ ~
Not registered
Possible server
lockup/crash when 'RELEASE SAVEPOINT xxx ONLY' syntax is used or when existing savepoint name is reused in
transaction context
fixed by N. Samofatov
~ ~ ~
Not registered
Rare client crashes caused by
improperly cleaned XDR packets.
fixed by D. Yemanov
~ ~ ~
Not registered
Server crash during
SuperServer shutdown
fixed by A. Peshkov
~ ~ ~
SF #1057538
The server would crash if
the output parameter of a UDF was not the last parameter.
fixed by C. Valderrama
~ ~ ~
Not registered
A number of possible
server crash conditions had been reported by Valgrind.
fixed by N. Samofatov
~ ~ ~
Not registered
Server would crash when a wrong
type or domain name was specified when changing the data type for a column.
fixed by N. Samofatov
~ ~ ~
Not registered
Incorrect accounting of
attachment pointers used inside the lock structure was causing the server to crash.
fixed by N. Samofatov
~ ~ ~
Not registered
In v.1.5, random crashes
would occur during a restore.
fixed by J. Starkey
~ ~ ~
Not registered
Crash/lock-up with
multiple calls of isc_dsql_prepare for a single statement.
fixed by N. Samofatov
~ ~ ~
Not registered
Server would crash when
the system year was set too high or too low.
fixed by D. Yemanov
~ ~ ~
Not registered
Server would crash when
the stream number exceeded the limit.
fixed by D. Yemanov
~ ~ ~
Not registered
Server would crash when outer
aggregation was performed and explicit plans were used in subqueries.
fixed by D. Yemanov
~ ~ ~
Not registered
DECLARE FILTER would
cause the server to crash.
fixed by A. Peshkov
~ ~ ~
Not registered
The server would crash when a
PLAN for a VIEW was specified but no table alias was given.
fixed by V. Horsun
~ ~ ~
Not registered
Server would crash during
the table metadata scan in some cases.
fixed by D. Yemanov
~ ~ ~
Not registered
Server would crash when
too big a key was specified for an index retrieval.
fixed by D. Yemanov
~ ~ ~
Not registered
Server would crash when
manipulating input DPB due to memory corruption in Parameter Blocks management.
fixed by C. Valderrama
~ ~ ~
Not registered
Server would crash when
attempting to restore a database backup with corrupted VARCHAR data.
fixed by D. Yemanov
~ ~ ~
Not registered
A TCP/IP buffer size
larger than 32 Kb was not being processed correctly.
fixed by A. Peshkov
~ ~ ~
Not registered
The NO_NAGLE option was
working improperly.
fixed by F. Polizo, A. Peshkov
~ ~ ~
Not registered
NO_NAGLE and KEEPALIVE socket options
were not enabled for CS builds.
fixed by D. Yemanov
~ ~ ~
SF #1385092
A TCP/IP connection would
appear to freeze the Superserver if it was disconnected abnormally while a large packet, e.g. a BLOB or a large
SQL request, was being passed across the interface.
This was a long-standing InterBase/Firebird bug in the implementation of the protocol layer for Superserver on Windows. Borland invented two different thread management strategies: one for TCP/IP and one for the other protocols that only Windows supports, i.e. Named Pipes (sometimes referred to as “NetBEUI”) and the IPServer local connection. This bug occurred only with TCP/IP connections.
For TCP/IP, a multiplexing loop (main server loop), which is common for all ports, receives API packets from clients, creates requests and sends them to threads for processing. When it detects an incoming packet, it starts to receive it from the port.
Before this fix, it needed the entire API packet to come at once. However, in the course of converting a packet to a request (done by the XDR protocol), in cases where the size of the API packet happened to be greater than that of the network packet, the server had to wait for the next network packet from the port.
At this point, ports were being scanned for incoming packets only by calculating (timeout - interval since last packet received) for each port in the loop. If the next packet from a particular port did not come, for example because of an unplugged jack, the only way to interrupt this receive and allow the main server loop to carry on processing the other ports was to wait for the keepalive TCP timeout to elapse on the abandoned connection. Given that the default keepalive value is two hours, it would appear that the Superserver was “hung”.
fixed by A. Peshkov
~ ~ ~
SF #1260310
Nessus vulnerability scanning
could cause the server to drop connections.
fixed by A. Peshkov
~ ~ ~
SF #1065511
Clients on Windows XP SP2
were slow connecting to a Linux server.
fixed by N. Samofatov
~ ~ ~
SF #1065511
Clients on Windows XP SP2
were slow connecting to a Linux server.
fixed by N. Samofatov
~ ~ ~
SF #571026
INET/INET_connect:
gethostbyname was not working properly.
fixed by D. Yemanov
~ ~ ~
SF #223058
Multi-hop server capability
was broken.
fixed by D. Yemanov
~ ~ ~
Not registered
Fixed memory leak from
connection pool in isc_database_info.
fixed by N. Samofatov
~ ~ ~
Not registered
Database aliases were not
working in WNET.
fixed by D. Yemanov
~ ~ ~
Not registered
Client would crash while
disconnecting with an active event listener.
fixed by D. Yemanov
~ ~ ~
Not registered
The client library would
not react to environment variables being set via SetEnvironmentVariable().
fixed by C. Valderrama
~ ~ ~
SF #459059D
Index breaks = ANY result.
MORE INFO REQUIRED.
fixed by N. Samofatov
~ ~ ~
Not registered
Ambiguous queries were still
possible under some conditions.
fixed by A. Brinkman
~ ~ ~
SF #735720
SELECT ... STARTING WITH :v
was wrong when :v = ''
fixed by A. Brinkman
~ ~ ~
Not registered
There were issues with
negative dates, i.e. those below Julian date [zero], when stored in indices.
fixed by A. Brinkman
~ ~ ~
SF #1211354
Redundant evaluations were
occurring in COALESCE.
fixed by A. Brinkman
~ ~ ~
Not registered
Error "index key too
big" would occur when creating a descending index.
fixed by V. Horsun
~ ~ ~
SF #1242982
Bug in compound index key
mangling.
fixed by A. Brinkman
~ ~ ~
SF #1466193
Semaphore array`s
permissions in fb_lock_mgr were 0666 - i.e., anyone could lock them and block all subsequent queries.
fixed by A. Peshkov
~ ~ ~
Not registered
Possible buffer overflow
in WNET.
fixed by A. Peshkov
~ ~ ~
Not registered
Several buffer overflows
were fixed.
fixed by A. Peshkov
~ ~ ~
SF #1155520
Fixed a vulnerability that
could make it possible for a user who was neither SYSDBA nor owner to create a database that would overwrite an
existing database.
fixed by A. dos Santos Fernandes
~ ~ ~
SF #781610
Comments in ISQL using '--'
were causing problems.
fixed by J. Bellardo, B. Rodriguez Samoza
~ ~ ~
Not registered
ISQL_disconnect_database
was overwriting the Quiet flag permanently.
fixed by M. Penchev, C. Valderrama
~ ~ ~
SF #1208932
SHOW GRANT did not
distinguish object types.
fixed by C. Valderrama
~ ~ ~
SF #494981
Bad exception report.
fixed by C. Valderrama
~ ~ ~
SF #450404
ISQL would uppercase role in
the command line.
fixed by C. Valderrama
~ ~ ~
Various, not registered
Fix for the -b (Bail On Error) option when SQL commands are issued and no db connection exists yet.
Applied Miroslav Penchev's patch for bug with -Q always returning 1 to the operating system, discovered by Ivan Prenosil.
fixed by M. Penchev, C. Valderrama
~ ~ ~
Not registered
Metadata extraction for
triggers, check constraints and views with check option was wrong.
fixed by C. Valderrama, D. Yemanov
~ ~ ~
SF #1016040
Missing external libraries
would cause an engine exception.
fixed by A. dos Santos Fernandes
~ ~ ~
Not registered
Charset/collation issues for expression-based view columns
Lost charset/collation for local PSQL variables
fixed by D. Yemanov
~ ~ ~
Not registered
Comparisons between
strings in NONE and another character set would cause an error.
fixed by D. Yemanov, A. dos Santos Fernandes
~ ~ ~
SF #1244126
There was a problem updating
some text BLOBs when connected with character set NONE.
fixed by A. dos Santos Fernandes
~ ~ ~
SF #1242379
Applying a collation could
change a VARCHAR's length
fixed by A. dos Santos Fernandes
~ ~ ~
Not registered
Permissions were not being
checked for view columns.
fixed by D. Yemanov
~ ~ ~
Not registered
Privileges granted to
procedures/triggers/views were being preserved after the object had been dropped.
fixed by D. Yemanov
~ ~ ~
Not registered
Column-level SQL privileges
were being preserved after the affected column was dropped.
fixed by D. Yemanov
~ ~ ~
SF #223128
SYSDBA could grant
non-existent roles
fixed by D. Yemanov
~ ~ ~
Not registered
There were thread safety
issues in datetime functions of the FBUDF library.
fixed by C. Valderrama
~ ~ ~
Not registered
The UDF AddMonth() in the UDF
library FBUDF had a bug that displayed itself when the calculation rolled the month past the end of the year.
fixed by C. Valderrama
~ ~ ~
Not registered
Diagnostics when a UDF
module was missing/unusable needed improvement.
fixed by A. Peshkov
~ ~ ~
Not registered
There were some problems
with the mapping of UDF arguments to parameters.
fixed by N. Samofatov
~ ~ ~
Not registered
UDF arguments were being
prepared/optimized twice.
fixed by D. Yemanov
~ ~ ~
SF #544132, #728839
Nulls handling in
UDFs was causing problems.
fixed by C. Valderrama
~ ~ ~
Not registered
UDF access checking was
incorrect.
fixed by D. Yemanov
~ ~ ~
Not registered
There were issues with
restoring if indexes used in explicit plans inside PSQL code had been dropped.
fixed by A. dos Santos Fernandes
~ ~ ~
Not registered
gbak could not restore a
database containing broken foreign keys.
Now, the restore continues to run, the user gets a diagnostic indicating which FK caused the problem. The affected index becomes inactive and, after restore, the database is left in shutdown state.
fixed by A. Peshkov
~ ~ ~
Not registered
gbak would stall when
used via the Services Manager and an invalid command line was passed.
fixed by V. Horsun
~ ~ ~
Not registered
A computed column of a
blob or array type would zero values in the first column of the table being restored.
fixed by D. Yemanov
~ ~ ~
Not registered
Fixed some backup issues with
stream BLOBs that caused them to be truncated under some conditions.
fixed by N. Samofatov
~ ~ ~
Not registered
Interdependent views
caused problems during the restore process.
fixed by A. Brinkman
~ ~ ~
SF #750659
If you want to start a fresh
db, you should be able to restore a backup done with the metadata-only option. Generator values were resisting
metadata-only backup and retaining latest values from the live database, instead of resetting the generators to
zero.
fixed by C. Valderrama, D. Yemanov
~ ~ ~
SF #908319
In v.1.5, wrong error
messages would appear when using gbak with service_mgr.
fixed by V. Horsun
~ ~ ~
SF #1122344
gbak -kill option would drop
an existing shadow.
fixed by D. Yemanov
~ ~ ~
Not registered
gbak was adding garbage
bytes to the SPB when called in the -se[rvice_mgr] mode.
fixed by A. dos Santos Fernandes, C. Valderrama, V. Horsun
~ ~ ~
SF #504978
gpre variable names were
being truncated.
fixed by C. Valderrama
~ ~ ~
SF #527677
gpre "ANSI85 compatible
COBOL" switch was broken.
fixed by C. Valderrama
~ ~ ~
SF #1103666
gpre was using inconsistent
lengths
fixed by C. Valderrama
~ ~ ~
SF #1103670
gpre would invalidate a
quoted cursor name after it was opened.
fixed by C. Valderrama
~ ~ ~
SF #1103683
gpre was not checking the
length of the DB alias.
fixed by C. Valderrama
~ ~ ~
SF #1103740
gpre did not detect duplicate
quoted cursor names
fixed by C. Valderrama
~ ~ ~
Not registered
gpre could not generate
more than 32,000 identifiers.
fixed by A. Harrison
~ ~ ~
Not registered
Error output by
gstat on Windows 32 was incorrect.
fixed by C. Valderrama
~ ~ ~
Not registered
fb_lock_print could fail,
with an exception message “the requested operation cannot be performed on a file with a
user-mapped section open.”
fixed by V. Horsun
~ ~ ~
SF #1011401
The start/stop script was
breaking halt/reboot on Slackware.
by A. Peshkov
~ ~ ~
(Not a bug)
-L[ocal] command-line switch
for SS on Win32 is gone
by D. Yemanov
~ ~ ~
Assorted clean-up
Extensive, ongoing code cleanup and style standardization
Broken write-ahead logging (WAL) and journalling code is fully cleaned out
by C. Valderrama
~ ~ ~
Firebird Documentation Index → Firebird 2.0.6 Release Notes → Bugs Fixed → Firebird 2.0 |