Re: btree_gin and btree_gist for enums
Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
From: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2017-02-25T16:51:48Z
Lists: pgsql-hackers
Attachments
- callfinfofunctioncall.patch (text/x-diff) patch
On 02/24/2017 05:34 PM, Andrew Dunstan wrote:
>
> On 02/24/2017 02:55 PM, Andrew Dunstan wrote:
>> On 02/24/2017 11:02 AM, Tom Lane wrote:
>>>> I don't know what to call it either. In my test I used
>>>> CallerContextFunctionCall2 - not sure if that's quite right, but should
>>>> be close.
>>> CallerInfo? CallerFInfo? Or we could spell out CallerFmgrInfo but
>>> that seems a bit verbose.
>>>
>>>
>> I'll go with CallerFInfoFunctionCall2 etc.
>>
>> In the btree_gist system the calls to the routines like enum_cmp are
>> buried about three levels deep. I'm thinking I'll just pass the flinfo
>> down the stack and just call these routines at the bottom level.
>>
>>
>>
>
> It's occurred to me that we could reduce the code clutter in fmgr.c a
> bit by turning the DirectFunctionCall{n]Coll functions into macros
> calling these functions and passing NULL as the flinfo param.
>
here's a patch along those lines. If there's agreement on this I can
finish up the work on btree_gist and btree_gin supoport for enums.
cheers
andrew
--
Andrew Dunstan https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Add btree_gin support for enum types
- 4ad0f88c443c 10.0 landed
-
Add btree_gist support for enum types.
- f7946a92b689 10.0 landed
-
Use CallerFInfoFunctionCall with btree_gist for numeric types
- 4b1c68d63e86 10.0 landed
-
Add a direct function call mechanism using the caller's context.
- 29bf5016835a 10.0 landed
-
Add support for EUI-64 MAC addresses as macaddr8
- c7a9fa399d55 10.0 cited
-
Add an Assert that enum_cmp_internal() gets passed an FmgrInfo pointer.
- 6d493e1a0135 10.0 landed