Index and blob garbage collection doesn't take into accout data in undo log
---------------------------------------------------------------------------

                 Key: CORE-4701
                 URL: http://tracker.firebirdsql.org/browse/CORE-4701
             Project: Firebird Core
          Issue Type: Bug
          Components: Engine
    Affects Versions: 3.0 Beta 2
            Reporter: Dimitry Sibiryakov


When indexes and blobs are garbage collected during savepoint release, 
list_staying() collect data only from versions on disk, but not from undo log. 
As the result following script produces missing index entry:

create database "d_test";
create table g_test (f integer);
create index g_ind on g_test (f);
insert into g_test values (1);
commit;
update g_test set f=2;
savepoint a;
update g_test set f=3;
savepoint b;
update g_test set f=3;
savepoint c;
update g_test set f=4;
savepoint d;
update g_test set f=4;
release savepoint b only;
rollback to savepoint c;
commit;
select * from g_test;
select * from g_test where f=3;

-- 
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

        

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to