Re: compress method for spgist - 2
Nikita Glukhov <n.gluhov@postgrespro.ru>
From: Nikita Glukhov <n.gluhov@postgrespro.ru>
To: Alexander Korotkov <a.korotkov@postgrespro.ru>
Cc: Darafei Praliaskouski <me@komzpa.net>,
pgsql-hackers <pgsql-hackers@postgresql.org>,
Heikki Linnakangas <hlinnaka@iki.fi>, Fedor Sigaev <teodor@sigaev.ru>
Date: 2017-12-07T00:17:58Z
Lists: pgsql-hackers
Attachments
- 0001-spgist-compress-method-11.patch (text/x-patch) patch 0001
On 06.12.2017 21:49, Alexander Korotkov wrote: > On Wed, Dec 6, 2017 at 6:08 PM, Nikita Glukhov > <n.gluhov@postgrespro.ru <mailto:n.gluhov@postgrespro.ru>> wrote: > > On 05.12.2017 23:59, Alexander Korotkov wrote: > >> On Tue, Dec 5, 2017 at 1:14 PM, Darafei Praliaskouski >> <me@komzpa.net <mailto:me@komzpa.net>> wrote: >> >> The following review has been posted through the commitfest >> application: >> make installcheck-world: not tested >> Implements feature: not tested >> Spec compliant: not tested >> Documentation: tested, passed >> >> I've read the updated patch and see my concerns addressed. >> >> I'm looking forward to SP-GiST compress method support, as it >> will allow usage of SP-GiST index infrastructure for PostGIS. >> >> The new status of this patch is: Ready for Committer >> >> >> I went trough this patch. I found documentation changes to be >> not sufficient. And I've made some improvements. >> >> In particular, I didn't understand why is reconstructedValue >> claimed to be of spgConfigOut.leafType while it should be of >> spgConfigIn.attType both from general logic and code. I've fixed >> that. Nikita, correct me if I'm wrong. > > I think we are reconstructing a leaf datum, so documentation was > correct but the code in spgWalk() and freeScanStackEntry() wrongly > used attType instead of attLeafType. Fixed patch is attached. > > > Reconstructed datum is used for index-only scan. Thus, it should be > original indexed datum of attType, unless we have decompress method > and pass reconstructed datum through it. But if we have compress method and do not have decompress method then index-only scan seems to be impossible. >> Also, I wonder should we check for existence of compress method >> when attType and leafType are not the same in spgvalidate() >> function? We don't do this for now. > I've added compress method existence check to spgvalidate(). > > It would be nice to evade double calling of config method. Possible > option could be to memorize difference between attribute type and leaf > type in high bit of functionset, which is guaranteed to be free. I decided to simply set compress method's bit in functionset when this method it is not required. -- Nikita Glukhov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
Commits
-
Doc: remove duplicate poly_ops row from SP-GiST opclass table.
- d3b851e9a3c9 11.0 landed
-
Add polygon opclass for SP-GiST
- ff963b393ca9 11.0 landed