On Wed, Mar 5, 2008 at 9:29 PM, Tom Lane <[EMAIL PROTECTED]> wrote: > > > [ thinks some more... ] I guess we could use a flag array dimensioned > MaxHeapTuplesPerPage to mark already-processed tuples, so that you > wouldn't need to search the existing arrays but just index into the flag > array with the tuple's offsetnumber. >
We can actually combine this and the page copying ideas. Instead of copying the entire page, we can just copy the line pointers array and work on the copy. ISTM that the only place where we change the tuple contents is when we collapse the redirected line pointers and that we can do at the end, on the original page. The last step which we run inside a critical section would then be just like invoking heap_xlog_clean with the information collected in the first pass. Thanks, Pavan -- Pavan Deolasee EnterpriseDB http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://mail.postgresql.org/mj/mj_wwwusr?domain=postgresql.org&extra=pgsql-hackers