wiki:GoogleSummerCode2021

Version 1 (modified by robe, 3 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:

  1. git clone PostGIS code from one of PostGIS repos -
  2. 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> ).

Note: See TracWiki for help on using the wiki.