Re: Yet another fast GiST build
x4mmm@yandex-team.ru
From: "Andrey M. Borodin" <x4mmm@yandex-team.ru>
To: Darafei Komяpa Praliaskouski <me@komzpa.net>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>,
Pavel Borisov <pashkin.elfe@gmail.com>,
Thomas Munro <thomas.munro@gmail.com>,
Michael Paquier <michael@paquier.xyz>,
Alexander Korotkov <a.korotkov@postgrespro.ru>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-09-09T10:28:43Z
Lists: pgsql-hackers
Thanks Darafei! > 9 сент. 2020 г., в 12:05, Darafei Komяpa Praliaskouski <me@komzpa.net> написал(а): > > > How does the 'sortsupport' routine interact with 'compress'/'decompress'? Which representation is passed to the comparator routine: the original value from the table, the compressed representation, or the decompressed representation? Do the comparetup_index_btree() and readtup_index() routines agree with that? > > Currently we pass compressed values, which seems not very good. > But there was a request from PostGIS maintainers to pass values before decompression. > Darafei, please, correct me if I'm wrong. Also can you please provide link on PostGIS B-tree sorting functions? > > We were expecting to reuse btree opclass for this thing. This way btree_gist extension will become a lot thinner. :) I think if we aim at reusing B-tree sort support functions we have to pass uncompressed values. They can be a lot bigger and slower in case of PostGIS. We will be sorting actual geometries instead of MBRs. In my view it's better to implement GiST-specific sort support in btree_gist, rather than trying to reuse existing sort supports. Best regards, Andrey Borodin.
Commits
-
Add sortsupport for gist_btree opclasses, for faster index builds.
- 9f984ba6d23d 14.0 landed
-
pageinspect: Fix relcache leak in gist_page_items().
- 04eb75e783ba 14.0 landed
-
Fix test failure with wal_level=minimal.
- 5abca4b1cd71 14.0 landed
-
Enhance nbtree index tuple deletion.
- d168b666823b 14.0 cited
-
Fix portability issues in the new gist pageinspect test.
- 6ecaaf810b8b 14.0 landed
-
Add functions to 'pageinspect' to inspect GiST indexes.
- 756ab29124d7 14.0 landed
-
Fix missing validation for the new GiST sortsupport functions.
- 6f0bc5e1daf0 14.0 landed
-
Fix compilation warning in xlog.c
- 0a3c864c3275 14.0 cited
-
Set right-links during sorted GiST index build.
- 265ea567852a 14.0 landed
-
Fix checksum calculation in the new sorting GiST build.
- c47a240fe6db 14.0 landed
-
Add support for building GiST index by sorting.
- 16fa9b2b30a3 14.0 landed