Re: pgsql: Allow opclasses to provide tri-valued GIN consistent functions.

From: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
To: Greg Stark <stark(at)mit(dot)edu>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Andres Freund <andres(at)2ndquadrant(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Allow opclasses to provide tri-valued GIN consistent functions.
Date: 2014-03-31 07:31:00
Message-ID: 533919B4.30507@vmware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On 03/23/2014 06:07 PM, Greg Stark wrote:
> On Sun, Mar 23, 2014 at 1:22 PM, Heikki Linnakangas <hlinnakangas(at)vmware(dot)com
>> wrote:
>
>> The reason for the typedef is precisely that an enum is not guaranteed to
>> be one byte. Tom suggested getting rid of the typedef, but it's needed to
>> make sure it's stored as one byte.
>>
>> I'll go add a comment to it, explaining why it's needed.
>
> If we're not using the enum type perhaps it would be better to make it a
> bunch of #defines? The main advantage of enum types is that the debugger
> knows what values are legal and can decode them for you.

Yeah, I think you're right. Changed it to use #defines, renamed the
typedef to GinTernaryValue as that's more descriptive, and added a brief
comment mentioning that a GinTernaryValue is compatible with a boolean.

- Heikki

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2014-03-31 09:25:35 Re: pgsql: Allow opclasses to provide tri-valued GIN consistent functions.
Previous Message Heikki Linnakangas 2014-03-31 07:29:36 pgsql: Rename GinLogicValue to GinTernaryValue.