Re: btree_gin and btree_gist for enums
Andrew Dunstan <andrew@dunslane.net>
From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: emre@hasegeli.com, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2016-11-05T16:12:19Z
Lists: pgsql-hackers
Attachments
- enum-btree-gist-gin-3.patch (text/x-diff) patch
On 11/05/2016 11:46 AM, Tom Lane wrote: > Andrew Dunstan <andrew@dunslane.net> writes: >> The real problem here is that enum_cmp_internal assumes that >> fcinfo->flinfo has been set up, and DirectFunctionCallN doesn't, it sets >> it to NULL. >> The patch below cures the problem. I'm not sure if there is a better >> way. Thoughts? > That may be a good fix for robustness purposes, but it seems pretty horrid > from an efficiency standpoint. Where is this call, and should we be > modifying it to provide a flinfo? > > See attached updated patch that adds enum support to btree_gist and btree_gin I thought of providing an flinfo, but I couldn't see a simple way to do it that would provide something much longer lived than the function call, in which case it seemed a bit pointless. That's why I asked for assistance :-) cheers andrew
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