BLOBs are unnecessarily copied during UPDATE after a table format change
------------------------------------------------------------------------
Key: CORE-6089
URL: http://tracker.firebirdsql.org/browse/CORE-6089
Project: Firebird Core
Issue Type: Bug
Components: Engine
Affects Versions: 4.0 Beta 1, 3.0.4, 3.0.3
Reporter: Dmitry Yemanov
Test case:
recreate table t (col1 int, col2 blob);
insert into t values (1, '1');
insert into t values (2, '2');
insert into t values (3, '3');
commit;
select * from t;
COL1 COL2
============ =================
1 84:0
2 84:1
3 84:2
update t set col1 = -col1;
select * from t;
COL1 COL2
============ =================
-1 84:0
-2 84:1
-3 84:2
-- So far so good: COL1 is negated, COL2 has the same BLOB IDs
rollback;
alter table t add col3 date;
select * from t;
COL1 COL2 COL3
============ ================= ===========
1 84:0 <null>
2 84:1 <null>
3 84:2 <null>
update t set col1 = -col1;
select * from t;
COL1 COL2 COL3
============ ================= ===========
-1 84:3 <null>
-2 84:4 <null>
-3 84:5 <null>
-- BUG: COL2 has different BLOB IDs, i.e. the whole blobs were copied rather
than just their IDs
rollback;
This is a regression introduced while fixing CORE-5600. v3.0.3 and later
versions are affected.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel