Re: GiST support for UUIDs

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Chris Bandy <bandy.chris@gmail.com>
Cc: Adam Brusselback <adambrusselback@gmail.com>, Michael Paquier <michael.paquier@gmail.com>, Paul A Jungwirth <pj@illuminatedcomputing.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2016-11-29T17:58:42Z
Lists: pgsql-hackers
Chris Bandy <bandy.chris@gmail.com> writes:
> [ btree_gist_uuid_8.patch ]

Um ... is there a reason why the penalty logic in gbt_uuid_penalty()
is completely unlike that for any other btree_gist module?

As best I can tell from the (admittedly documentation-free) code
elsewhere, the penalty ought to be proportional to the fraction
by which the original range is expanded; that's not what this
code is doing.  It also seems to be missing the machinations related
to scaling per-column results in a multi-column index.

I'm kind of inclined to change uuid_parts_distance to just convert
a given pg_uuid_t to "double" and then apply penalty_num(), as is
done in gbt_macad_penalty.

			regards, tom lane


Commits

  1. Test all contrib-created operator classes with amvalidate.

  2. Add uuid to the set of types supported by contrib/btree_gist.

  3. Allow CREATE EXTENSION to follow extension update paths.