Alex,

This may be overkill, but the metaclass system and related support code would 
probably benefit from a clean, rethought architecture and possible rewrite of 
the indexing + schemas + database evolution code.  Features were added 
incrementally over the years in response to specific needs and problems and 
older code was not always fully integrated with newer features (like schemas, 
which should have come first but actually were the last major feature added).  
Moreover, there are a few contracts that are implicit in the code that really 
should be explicit (e.g. the state of a serialized 'chunk' on disk relative to 
the current schema, what the 'current' schema is and how it is established, the 
evolution of the state of an index, etc).

Up to you, but I can probably take some time out to review any proposals in 
early-to-mid June and again in late July.

Ian

On May 9, 2011, at 11:57 AM, Alex Mizrahi wrote:

> 
>> I would recommend a complete code review of the schema implementation as a 
>> good first step;
>> that's one area that often causes problems when making changes to different 
>> slot types.
> 
> Yep, I've just noticed this: I've started investigating why derived 
> indices just stop working from time to time. It turns out that they 
> depend on ensure-schemas being called. But now I have no idea when 
> ensure-schemas is called and what it does.
> So probably it is easier to start with review of the whole thing...
> 
>> I'm sure you'll catch design or implementation issues that I missed 
> at the time.
> 
> I hope so :)
> 
> 
> _______________________________________________
> elephant-devel site list
> elephant-devel@common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel


_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to