Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1h8KhU-0004Fb-Vc for pgsql-hackers@arkaria.postgresql.org; Mon, 25 Mar 2019 08:11:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1h8KhT-0006lR-LU for pgsql-hackers@arkaria.postgresql.org; Mon, 25 Mar 2019 08:11:19 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1h8KhT-0006iK-Bx for pgsql-hackers@lists.postgresql.org; Mon, 25 Mar 2019 08:11:19 +0000 Received: from mail.thelabyrinth.net ([45.56.70.56]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1h8KhR-0000sE-By for pgsql-hackers@lists.postgresql.org; Mon, 25 Mar 2019 08:11:19 +0000 Received: from Davids-MacBook.local (unknown [197.226.239.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: dsteele) by mail.thelabyrinth.net (Postfix) with ESMTPSA id 16D225466D; Mon, 25 Mar 2019 08:11:12 +0000 (UTC) Subject: Re: Re: Tid scan improvements To: David Rowley , Edmund Horner , Andres Freund Cc: Tom Lane , Tomas Vondra , PostgreSQL Developers References: <20220.1545363076@sss.pgh.pa.us> <28822.1545411468@sss.pgh.pa.us> <24929.1547829356@sss.pgh.pa.us> From: David Steele Message-ID: Date: Mon, 25 Mar 2019 12:11:03 +0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On 3/18/19 1:35 PM, David Rowley wrote: > On Fri, 15 Mar 2019 at 18:42, Edmund Horner 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