
On 10/25/06, Beman Dawes <bdawes@acm.org> wrote:
Because my interest is high performance B-trees with binary data formats portable to any system (regardless of compiler, endianness, alignment, or other constraints), I was not trying to handle any random C++ object. I was, however, designing in the ability to handle variable length key and data fields.
I have the same interests/requirements. As for defining the classes, I like the approach followed by GigaBASE, where you use type descriptors for all classes used in the database (see example below or http://www.garret.ru/~knizhnik/gigabase/GigaBASE.htm ) class Contract { public: dbDateTime delivery; int4 quantity; int8 price; dbReference<Detail> detail; dbReference<Supplier> supplier; TYPE_DESCRIPTOR((KEY(delivery, INDEXED), KEY(quantity, INDEXED), KEY(price, INDEXED), RELATION(detail, contracts), RELATION(supplier, contracts))); }; If you have experience implementing C++ B-trees and are interested in
submitting something to Boost, I'd like to hear you ideas.
Although my experience is limited, I would be interested to contribute/test any new implementation you or others propose. I know of one good C++ implementation that requires XFS filesystem but I am looking for one implementation that works with any filesystem so that it is "portable to any system". Let me know if you plan to continue your work! regards jose