Thread: pgsql: Modify MoveOfflineLogs/InstallXLogFileSegment to avoid O(N^2)

pgsql: Modify MoveOfflineLogs/InstallXLogFileSegment to avoid O(N^2)

From
tgl@svr1.postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Modify MoveOfflineLogs/InstallXLogFileSegment to avoid O(N^2) behavior
when recycling a large number of xlog segments during checkpoint.
The former behavior searched from the same start point each time,
requiring O(checkpoint_segments^2) stat() calls to relocate all the
segments.  Instead keep track of where we stopped last time through.

Modified Files:
--------------
    pgsql/src/backend/access/transam:
        xlog.c (r1.184 -> r1.185)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c.diff?r1=1.184&r2=1.185)