We are using an ancient database engine called Btrieve. There used to be a
company called Btrieve after being sold by Novel, but later changed their
name to their current name, Pervasive.
The problem with the Btrieve 6.15 engine is its age and it's no long
sup****ted. So I'm looking for a replacement that sup****ts at least the
same
feature set as Btrieve and I'm wondering if Berkeley DB can do that job.
All our Btrieve calls are in one DLL, so my goal is to replace that DLL
code
in a way that doesn't affect the hundreds of applications that use that
DLL.
In order to do that, Berkeley must sup****t the same basic record and key
types that Btrieve does.
So can Berkeley do this?
For most of the databases, the record length is fixed. The record
consists
of bytes of binary data (0x00 - 0xff) that is unterminated.
The records can consist of multiple keys (indexes).
Some of the keys sup****t duplicates, some do not.
Keys must sup****t multiple segments. That is, key 0 (for example) might
be
the record bytes 0-12, 25-30, and 14-20 (in that order) concatenated to
form
a single key.
Most key segment types are binary bytes (i.e. compared with memcmp) but a
few are integer in type (little endian).
For some of our files, variable record length is required.
Can Berkeley do this?
Thanks very much for any help.
Bruce.


|