~ubuntu-branches/ubuntu/oneiric/gconf/oneiric-proposed

« back to all changes in this revision

Viewing changes to backends/README.bdb

  • Committer: Bazaar Package Importer
  • Author(s): Takuo KITAME
  • Date: 2002-03-17 01:51:39 UTC
  • Revision ID: james.westby@ubuntu.com-20020317015139-z4f8fdg1hoe049g0
Tags: upstream-1.0.9
ImportĀ upstreamĀ versionĀ 1.0.9

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
A GConf backend is an adaptor to permit GConf to store configuration
 
2
information in some form of 'database'. The XML backend uses files
 
3
and a file-system directory structure to store key-value pairs,
 
4
schemas, and to represent the key hierarchy. The Berkeley DB
 
5
backend uses Sleepycat's distribution of the Berkeley DB
 
6
database toolkit to provide a relatively high performance GConf 
 
7
store.
 
8
 
 
9
If you decide not to build the Berkeley DB backend, simply remove
 
10
the reference to libgconfbackend-bdb.la in the definition of
 
11
backend_LTLIBRARIES in backends/Makefile.
 
12
 
 
13
See comments in bdb.h for an description of the databases and
 
14
their use.
 
15
 
 
16
Notes for this initial release:
 
17
 
 
18
- there are bound to be bugs, but the backend passes the GConf
 
19
  test suite (extended to include some schema-usage tests)
 
20
- some concurrency control has been built-in, but this has not
 
21
  been adequately tested
 
22
- by design there is no cache so that concurrent writers may
 
23
  be supported, but despite this performance is good and the
 
24
  testpersistence test (which synchronises each change individually
 
25
  to the GConfd database) is noticably faster than with the XML backend.
 
26
- Previous versions of Berkeley DB have altered the database structure in
 
27
  ways that are not backward compatible. If this occurs with future versions
 
28
  of Berkeley DB (after version 3.1.17), the major version number of the
 
29
  backend shared library will be incremented.
 
30
  
 
31
 
 
32
Known bugs:
 
33
 
 
34
- The backend uses a relatively new feature of Berkeley DB, the support
 
35
  for duplicate keys in a single database table. Currently Berkeley DB
 
36
  produces warning messages 'Duplicate data items are not supported with
 
37
  sorted data'. Sleepycat have said that this message is only to warn
 
38
  developers while the duplicate-support feature is new and will be removed
 
39
  in a future release.
 
40
 
 
41
- There is also an error that occasionally "corrupts" the key-hierarchy
 
42
  database which prevents the directory hierarchy from being traversed.
 
43
  Currently it is not clear if this is an error in the backend or in
 
44
  the database toolkit. This error can be seen in the testdirlist test
 
45
  program which initially works but after running all tests a few
 
46
  times, testdirlist produces an error message "*** FAILED: Did not get
 
47
  'testing' in listing of / after setting keys such as /testing/foo/bar/woo".
 
48
  This bug is under investigation, as it prevents serious use of
 
49
  the Berkeley DB backend, although applications which do not use the
 
50
  gconf_all_dirs() API should not encounter this problem.
 
51
 
 
52
You can obtain the source distribution for Berkeley DB from Sleepycat
 
53
Software at http://www.sleepycat.com/download.html.  The current
 
54
version is 3.1.17.
 
55
 
 
56
Colm Smyth (colm.smyth@sun.com)