[Chandler-dev] a new kind of enumeration type

Grant Baillie grant at osafoundation.org
Wed Aug 30 15:34:09 PDT 2006


On 30 Aug, 2006, at 15:22, Andi Vajda wrote:

>
> On Wed, 30 Aug 2006, Phillip J. Eby wrote:
>
>> We could do that, after we got rid of any existing code that  
>> depends on the old semantics of enumerations.
>
> I could rename the old enumeration to StringEnumeration and  
> introduce a new enum that behaves like what Grant is suggesting.
>
>> However, it should be noted that this may lead to interesting  
>> problems in schema upgrades.  My understanding is that the reason  
>> for wanting explicit values (as opposed to simple sequence) is  
>> that it allows constant values to be preserved across releases,  
>> even if things are added or removed.  Second, it allows the use of  
>> enumerations as constants for interacting with external systems,  
>> like socket mode flags and such.
>
> I should dispell any rumors of constant-ness across schema changes.  
> The value that gets persisted for a new type of enum value is the  
> position of the constant in the sorted-by-constant-name constant  
> list. If someone renames a constant or inserts one alphabetically,  
> that's a schema change.

I think PJE was talking about the dump-and-reload schema upgrade  
strategy: Presumably, we would store the .value for that.

--Grant




More information about the chandler-dev mailing list