Re: Re: Tid scan improvements

David Steele <david@pgmasters.net>

From: David Steele <david@pgmasters.net>
To: David Rowley <david.rowley@2ndquadrant.com>, Edmund Horner <ejrh00@gmail.com>, Andres Freund <andres@anarazel.de>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2019-03-25T08:11:03Z
Lists: pgsql-hackers
On 3/18/19 1:35 PM, David Rowley wrote:
> On Fri, 15 Mar 2019 at 18:42, Edmund Horner <ejrh00@gmail.com> wrote:
> 
>> Subsequent commits will incrementally abstract table access
>> functionality to be routed through table access methods. That change
>> is too large to be reviewed & committed at once, so it'll be done
>> incrementally.
> 
> and looking at [1] I see patch 0004 introduces some changes in
> nodeTidscan.c to call a new tableam API function named
> heapam_fetch_row_version. I see this function does have a ItemPointer
> argument, so I guess we must be keeping those as unique row
> identifiers in the API.
> 
> Patch 0001 does change the signature of heap_setscanlimits() (appears
> to be committed already), and then in 0010 the only code that calls
> heap_setscanlimits() (IndexBuildHeapRangeScan()) is moved and renamed
> to heapam_index_build_range_scan() and set to be called via the
> index_build_range_scan TableAmRoutine method.  So it looks like out of
> that patch series nothing is there to allow you to access
> heap_setscanlimits() directly via the TableAmRoutine API, so perhaps
> for this to work heap_setscanlimits will need to be interfaced,
> however, I'm unsure if that'll violate any assumptions that Andres
> wants to keep out of the API...  Andres?

Thoughts on this, Andres?

Regards,
-- 
-David
david@pgmasters.net


Commits

  1. Add TID Range Scans to support efficient scanning ranges of TIDs

  2. Improve planner's selectivity estimates for inequalities on CTID.