Re: Allow GiST opcalsses without compress\decompres functions
Andrew Borodin <borodin@octonica.com>
From: Andrew Borodin <borodin@octonica.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andrew Borodin <amborodin@acm.org>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-05-28T18:51:16Z
Lists: pgsql-hackers
28 мая 2017 г. 11:15 PM пользователь "Tom Lane" <tgl@sss.pgh.pa.us> написал:
Andrew Borodin <borodin@octonica.com> writes:
> 2017-05-28 22:22 GMT+05:00 Tom Lane <tgl@sss.pgh.pa.us>:
>> 2. If compress/decompress are omitted, then we could support index-only
>> scans all the time, that is a no-op fetch function would work. The
>> patch should cover that interaction too.
> I do not think so. Decompress have to get att to the state where
> consistency function can understand it. In theory. I've checked like a
> dozen of types and have not found places where fetch should differ
> from decompress.
But if compress is omitted, then we know the in-index representation
is the same as the original. Therefore the fetch function would always
be a no-op and we can implement IOS whether or not the opclass designer
bothered to supply one.
regards, tom lane
True. If there is no code to "hash" original value, it is not hashed, it's
whole...
I'm not expert in toasting, cube's compress does nothing while cube
decomress does detoasting. Is this for reason?
Best regards, Andrey Borodin.
Commits
-
Allow no-op GiST support functions to be omitted.
- d3a4f89d8a3e 11.0 landed
-
Remove no-op GiST support functions in the core GiST opclasses.
- 2d484f9b0580 11.0 landed