Boost logo

Boost :

From: Jose (jmalv04_at_[hidden])
Date: 2006-10-26 10:52:40


On 10/25/06, Beman Dawes <bdawes_at_[hidden]> 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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk