Re: [PATCH] Add sortsupport for range types and btree_gist

Bernd Helmle <mailings@oopsware.de>

From: Bernd Helmle <mailings@oopsware.de>
To: "Andrey M. Borodin" <x4mmm@yandex-team.ru>
Cc: jian he <jian.universality@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-11-11T16:41:25Z
Lists: pgsql-hackers

Attachments

Am Samstag, dem 26.10.2024 um 11:40 +0300 schrieb Andrey M. Borodin:
> First patch:
> 0. We have PG_FREE_IF_COPY(), does it suits your needs?
> 1. Tests do not check what actual build method is used. You can add
> INJECTION_POINT("gist-sort-build") and expect a notice there or
> something like that.
> 2. "Per default" -> "By default", "indexe" -> "index", "index
> quality" -> NULL (in 14 quality was bad, since 15 same "quality")
> 

Updated and rebased patches attached. I used the injection point name
"btree-gist-sorted-build".

> Second patch:
> 0. PG_FREE_IF_COPY in range_gist_cmp? :)
> 1. Some test of this new functionality?

I added the same injection point here, too, since the functionalitly is
already employed in btree_gist regression tests "partition" and
"without_overlap".

Except the suggestions for PG_FREE_IF_COPY(), this updated patch set
reflects all the comments from Andrey above.

Playing with these suggested changes also revealed some bugs (i
confused some of the comparator functions for macaddr*), so thanks
again for the review!

Thanks,
	Bernd

Commits

  1. Add support for sorted gist index builds to btree_gist

  2. Add GiST and btree sortsupport routines for range types

  3. Change gist stratnum function to use CompareType

  4. Doc: improve documentation for jsonpath behavior.

  5. Add sortsupport for gist_btree opclasses, for faster index builds.