Increase performance of backout of dead record version (or undo of just created 
primary record version) when backversions chain is too long
-------------------------------------------------------------------------------------------------------------------------------------------

                 Key: CORE-4935
                 URL: http://tracker.firebirdsql.org/browse/CORE-4935
             Project: Firebird Core
          Issue Type: Improvement
          Components: Engine
    Affects Versions: 3.0 Beta 2, 2.5.4, 2.5.3 Update 1, 2.1.7, 3.0 Beta 1, 
2.5.3, 2.1.6, 3.0 Alpha 2, 3.0 Alpha 1, 2.5.2 Update 1, 2.1.5 Update 1, 2.5.2, 
2.5.1, 2.5.0
            Reporter: Vlad Khorsun


Function list_staying() used in backout and undo processes have complexity 
O(N^2), where N is the number of back versions.

There is a way to reduce complexity down to O(N) in most cases. Specifically - 
when current transaction (which does backout
or undo) already own the record (i.e. primary record version is marked by 
current transaction) there is guarantee that no other
transaction will try to backout\undo the record. 

Another improvement is to cut and cleanup tail of the back-versions chain at 
point where it is legal

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

        

------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to