Nigel Metheringham wrote:
On Mon, 2006-04-17 at 11:54 +0100, Peter Bowyer wrote:
On 17/04/06, David Saez Padros <[EMAIL PROTECTED]> wrote:
the best option is just open a pipe to cdbmake and pass the ascii data
to it ( see http://cr.yp.to/cdb/cdbmake.html ), you will have to
recreate the whole table every time. As far as i know is not
a good idea to modify the structure of an already created cdb database
as (your have the specs at http://cr.yp.to/cdb/cdb.txt )
Indeed it's not - if you need to update, use some form of dbm instead.
cdb is optimised for write-once, lookup-many - and cdbmake provides
atomic rebuilds.
Long ago, the Freeserve system used to use a daily build of a cdb file
for authentication because it was blindingly fast. However we needed to
be able to add/change users etc so there was a second level dbm lookup
used if the cdb lookup failed (the gdbm file, with locking, was roughly
a factor of 10 slower than CDB)
I'll take a swag and guess that PostgreSQL would be yet-another
full order of magnitude slower... maybe two..
> - this was updated on the fly from the
main database (I was, and still am, keen on semi-autonomous systems
where service can continue even in the face of a major failure of the
central database).
ACK. Applause from the back row here..
> Of course user updates gave us a little bit of a
problem... easily fixed by nulling out changed users from the cdb
tables.
Hmm... WORM approach?
And so I claim the prize for strangest abuse of cdb files :-)
Nigel.
Dunno, 'Strange abuse' might surely include my 1970's use of
'words' added to the Forth 'dictionary' that were merely the SKU
number of a product, and defined only the screen-number of the
first 1024-byte map in VM that held a BOM record for it.
Blitzen fast, even on 2 or 4 MHz Z-80 and 8" FDD.
Still have Pick's book around that inspired the approach...
Bill
--
## List details at http://www.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/