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

Reply via email to