Re: 8.3.0 Core with concurrent vacuum fulls - Mailing list pgsql-hackers

From Pavan Deolasee
Subject Re: 8.3.0 Core with concurrent vacuum fulls
Date
Msg-id 2e78013d0803060107s2bb4ee40j6a971f61285077b6@mail.gmail.com
Whole thread Raw
In response to Re: 8.3.0 Core with concurrent vacuum fulls  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: 8.3.0 Core with concurrent vacuum fulls  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Wed, Mar 5, 2008 at 9:29 PM, Tom Lane <tgl@sss.pgh.pa.us> 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


pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: Problem with site doc search
Next
From: Richard Huxton
Date:
Subject: Behaviour of to_tsquery(stopwords only)