Re: Allow GiST opcalsses without compress\decompres functions

x4mmm@yandex-team.ru

From: Andrey Borodin <x4mmm@yandex-team.ru>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Alexander Korotkov <a.korotkov@postgrespro.ru>, Dmitriy Sarafannikov <dsarafannikov@yandex.ru>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-10-23T08:13:56Z
Lists: pgsql-hackers
> 22 окт. 2017 г., в 21:21, Tom Lane <tgl@sss.pgh.pa.us> написал(а):
> 
> Andrey Borodin <x4mmm@yandex-team.ru> writes:
>> I was looking for a way to correctly drop compress\decompress functions from opclasses.
> 
> Making a new opclass seems like a pretty grotty answer; it won't
> help existing installations.

Unfortunately in cube's case that's the only option: cube allows 100-dimensional cubes, while 94-dimensional cubes could be toasted (according to code).

> I think what you need is to undo opclasscmds.c's decision that the
> dependencies should be INTERNAL.  I tried this:

Thanks Tom, that's exactly what I need. I'll push patches with this to November commitfest.

Best regards, Andrey Borodin.

Commits

  1. Allow no-op GiST support functions to be omitted.

  2. Remove no-op GiST support functions in the core GiST opclasses.