Author Archive

Feeds: RSS | Atom

Abstract sets of items

July 22nd, 2005 at 9:00 am (2 years, 9 months ago) by Andi Vajda under chandlerdb

A new type of value was added to the data model that combines sets of items using set arithmetic. Abstract sets of items do not store any item references but evaluate their operator against the sets or collections they wrap to implement appartenance tests and iteration. In addition, abstract sets notify their owner item whenever an item is added or removed from a backing collection.

Read the rest of this entry »


Sets of literal values

July 11th, 2005 at 7:59 am (2 years, 10 months ago) by Andi Vajda under chandlerdb

Python 2.4 introduced a set type. The repository data model was enhanced to support attributes of cardinality ’set’ or values of type ‘//Schema/Core/Set’.

Read the rest of this entry »


Improved date and time support

July 10th, 2005 at 9:23 am (2 years, 10 months ago) by Andi Vajda under chandlerdb

Until recently, date and time value support was implemented in the data model with the help of Egenix’ mx extensions library. With the Python 2.3 release, new types for date and time values were introduced. The repository now makes use of them.

Read the rest of this entry »


Encrypting a repository

June 17th, 2005 at 5:33 pm (2 years, 11 months ago) by Andi Vajda under Chandler Product News

See this chandlerdb blog entry for more information.


Encrypting a repository

June 17th, 2005 at 5:19 pm (2 years, 11 months ago) by Andi Vajda under chandlerdb

Sleepycat’s Berkeley DB software, which provides the persistence underpinnings to Chandler’s repository, can be configured to use the AES (Rijndael) algorithm to encrypt its data files.

Read the rest of this entry »


Comparing items for sameness

May 27th, 2005 at 1:20 pm (2 years, 11 months ago) by Andi Vajda under chandlerdb

While an item’s UUID is normally used to compare items for sameness, there are times when it is useful to compare item instances with different UUIDs as, for example, while importing items from another repository. The Item class does not implement any Python comparison hook functions, comparing items is left to the implementors since meaningful item comparison depends on the items’ schema and on the knowledge of the implementor. For instance, not all attributes are equally relevant, some may even be completely irrelevant for comparison purposes. To help with this, a new API, hashItem(), was added to the Item class. Two items can be defined to be the ’same’ when their hash values are the same.

Read the rest of this entry »


Importing items

April 15th, 2005 at 4:04 pm (3 years, 1 month ago) by Andi Vajda under chandlerdb

Now that items can be created in a null repository view, how about persisting them ? By definition, a null repository view, is not capable of persisting items. In the context of Phillip Eby’s Schema API proposal, items are persisted in python code and instantiated into the null repository view upon python’s loading of the module.

Read the rest of this entry »


A null repository view

April 15th, 2005 at 3:39 pm (3 years, 1 month ago) by Andi Vajda under chandlerdb

In order to support Phillip Eby’s proposal for a python-based Schema API, I added support for a repository-less repository view.

Read the rest of this entry »


Macro and micro performance tuning

March 21st, 2005 at 8:32 am (3 years, 1 month ago) by Andi Vajda under chandlerdb

The focus of the repository work for Chandler’s 0.5 release was mostly about startup and commit performance. The approach taken was to run these operations in the hotshot profiler to find out more about the slow areas and rework them. This macro-performance effort can yield useful results. For instance, commit was made twice as fast by rewriting it to not use any XML.
For 0.6, I’d like to also look at performance at the micro-level.

Read the rest of this entry »


The demise of XML

February 2nd, 2005 at 1:24 pm (3 years, 3 months ago) by Andi Vajda under chandlerdb

One focus of development in the repository project for the Chandler 0.5 release has been performance. After removing dbxml from the persistence implementation stack, I continued by removing the use of XML for persistence altogether.

Read the rest of this entry »