BerkeleyDB backend requirements



Hi Havoc,

I have almost completed implementing the functionality of the
BerkeleyDB (or "bdb") backend. The main omissions are
transactions and locking; some additional error-checking
is required to bring it up to "production code standards".

For rapid access, I store locale values with a modified key, e.g. the
Spanish locale data for a key /gnome/desktop/logo is 
/gnome/desktop/%locale%es/logo. This is transparent to
client code as the gconf_all_dirs() API does not return
the %locale%es directory in /gnome/desktop and the
backend API's query_value and all_entries will check the
relevant %locale% sub-directories for each locale passed.

My concern is that a schema may specify a locale. If it does,
I would like to store the applyto-key with the locale
name-mangling; to do this, I need to be sure that the
schema has been stored before the schema is associated
with a key; if it is, then I can get the locale from
the schema and mangle the key appropriately.

By the way, I have an uncertain feeling about the fact
that the backend interface accesses schema information
directly. This means that the schema has to duplicated
over each backend database.

Colm.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]