[postgis-devel] GiST Sorting

Paul Ramsey pramsey at cleverelephant.ca
Thu Dec 2 12:57:34 PST 2021


Ding ding!
I can strip the sort support function out of the default opclass, but
we don't have any way to add it back in, except with a direct
alteration of the system tables. If we're OK with that, I will figure
out the magic SQL incantation so we can document it, and strip the
sort support function from the opclass.

P

On Wed, Dec 1, 2021 at 1:10 PM Paul Ramsey <pramsey at cleverelephant.ca> wrote:
>
> So about this plan, I don't see the ALTER OPERATOR CLASS recipe that can do the thing we want.
>
> https://www.postgresql.org/docs/14/sql-alteropclass.html
>
> What's the magic incantation?
>
> > On Dec 1, 2021, at 8:30 AM, Regina Obe <lr at pcorp.us> wrote:
> >
> >> Initially there was a patch in patchset making user specify sorting function
> >> during CREATE INDEX ON table USING gist(column) WITH
> >> (sortfunction=zcurve). But everyone said that it's unnessecary complication and
> >> we just made the function part of the opclass.
> >> But sorting build was not meant to be default!
> >>
> >> I'm going to work on this in December, so let's figure out what exactly do we
> >> want from PostgreSQL 15?
> >>
> >> I'm planning to work on:
> >> 1. Fix the concurrency problem in IndexOnlyScan that Peter G. pointed out [0]
> >> This will further slow down GiST queries a little, sorry.
> >> 2. Sorting items within leaf page in tid order, not provided sorting function.
> >> 3. Make better splits of leaf pages. Currently we choose how to split leaf pages
> >> solely by sorting function. I want to use split function too. This will consume
> >> slightly more memory, but will build better index.
> >>
> >> Do we need some functionality to easily enable\disable sorting build? I think
> >> chances are very high that we can make it better. But it still will be neither
> >> perfect, nor better than buffered build.
> >>
> >> Thanks!
> >>
> >> Best regards, Andrey Borodin.
> > [Regina Obe]
> > I don't think I was in this discussion about CREATE INDEX ON table USING gist(column) WITH
> >> (sortfunction=zcurve).
> >
> > What was the unnecessary complication?  Was it deemed "user-facing" too complicated
> > or "under the hood" too complicated.
> >
> > For user-facing I don't see it as too complicated.  Granted it is a bit extra.
> > But if it is deemed always not the absolute best, I feel a configure option is fine.
> > It's only giving users redundant equally good options that I would consider too complicated.
> >
> >
> > _______________________________________________
> > postgis-devel mailing list
> > postgis-devel at lists.osgeo.org
> > https://lists.osgeo.org/mailman/listinfo/postgis-devel
>


More information about the postgis-devel mailing list