Version 1 (modified by 4 years ago) ( diff ) | ,
---|
Google Summer of Code 2021 ¶
Augment PostGIS 3.2 with GIST support added to PG14
Expected outcome: Speed up GiST index building in PostGIS Skills required: C or willing to learn, ability to compile PostgreSQL code, ability to compile PostGIS code Mentors: Giuseppe Broccolo https://github.com/glukhovn
Difficulty: Medium
Student Test:
- git clone PostGIS code from one of PostGIS repos -
- git clone code from PostgreSQL git repo (master branch) -
Compile both.
Additional detail:
Recently this patch <https://commitfest.postgresql.org/29/2276/> which adds more infrastructure to the GiST has been included in PG14. It should speed up the build of a GiST index after some (fast) pre-sorting of the data which needs to be indexed. Some tests for the PG's internal type point (that uses Zsort as fast pre-sorting of the data) showed that the build is up to 5 times faster.
I'd like to study a possible implementation for PostGIS data types. Basically, it would require to add this support function <https://github.com/glukhovn/postgres/blob/225a49161fae9388651373d4beb8dcba99059339/src/include/access/gist.h#L37> and this other one <https://github.com/glukhovn/postgres/blob/225a49161fae9388651373d4beb8dcba99059339/src/include/access/gist.h#L38> in the operator classes which use the GiST infrastructure (e.g. this one <https://github.com/postgis/postgis/blob/8b13c3e2f8366d902dbf516ec17de09ae84361f4/postgis/postgis.sql.in#L781> ).