Re: [HACKERS] heapgetpage() and -takenDuringRecovery

2014-03-03 Thread Robert Haas
On Sun, Mar 2, 2014 at 8:39 AM, Andres Freund and...@2ndquadrant.com wrote: While reading around which references to SnapshotData's members exist, I once more came about the following tidbit in heapgetpage(): /* * If the all-visible flag indicates that all tuples on the page

Re: [HACKERS] heapgetpage() and -takenDuringRecovery

2014-03-03 Thread Andres Freund
On 2014-03-03 06:57:00 -0500, Robert Haas wrote: On Sun, Mar 2, 2014 at 8:39 AM, Andres Freund and...@2ndquadrant.com wrote: While reading around which references to SnapshotData's members exist, I once more came about the following tidbit in heapgetpage(): /* * If the

Re: [HACKERS] heapgetpage() and -takenDuringRecovery

2014-03-03 Thread Robert Haas
On Mon, Mar 3, 2014 at 7:07 AM, Andres Freund and...@2ndquadrant.com wrote: I don't think there's any reason to believe that lazy_scan_heap() can only hit pages that are empty or have just been defragged. Suppose that there's a tuple on the page which was recently inserted; the inserting

Re: [HACKERS] heapgetpage() and -takenDuringRecovery

2014-03-03 Thread Andres Freund
On 2014-03-03 06:57:00 -0500, Robert Haas wrote: On Sun, Mar 2, 2014 at 8:39 AM, Andres Freund and...@2ndquadrant.com wrote: I don't think this is neccessary = 9.2. The are two only interestings place where PD_ALL_VISIBLE is set: a) lazy_vacuum_page() where a xl_heap_clean is logged

Re: [HACKERS] heapgetpage() and -takenDuringRecovery

2014-03-03 Thread Robert Haas
On Mon, Mar 3, 2014 at 8:33 AM, Andres Freund and...@2ndquadrant.com wrote: On 2014-03-03 06:57:00 -0500, Robert Haas wrote: On Sun, Mar 2, 2014 at 8:39 AM, Andres Freund and...@2ndquadrant.com wrote: I don't think this is neccessary = 9.2. The are two only interestings place where

[HACKERS] heapgetpage() and -takenDuringRecovery

2014-03-02 Thread Andres Freund
Hi, I am currently playing around with Robert's suggestion to get rid of changeset extraction's reusage of SnapshotData fields (basically that xip contains committed, not uncommited transactions) by using NodeTag similar to many other (families of) structs. While reading around which references