
On Sat, 16 Oct 2004 13:33:11 -0400, Arkadiy Vertleyb wrote
RTL wasn't initialy, or ever, targeted at interfacing to databases. What we tried to achieve was to add relational tables to C++, in the same fashion STL adds vectors, sets, or maps. Adding relational tables assumes defining operations on them, which is relational algebra. So we do not provide the interface to real databases, but OTOH, I don't know any other library around that would allow you to perform join on an std::pair, functor, or a [smart] pointer. RTL does.
Agree.
Futhermore, this approach dictates compile-time record type generation. This follows more from the type-safety rather than from the performance perspective.
No question. But since RTL doesn't provide an interface to a db currently...
Because we never meant to do this. For better or for worse.
Sorry to be confused about the target -- I thought there was some discussion of eventual rdb interfaces. Still, even without the db I think it is very interesting and useful work. Combined with serialization it seems clear that you can clearly create some elegant solutions to tricky problems without the weight of a full database system. That said, the level of interest is not as high as the interface to actual RDB's -- because once you start using an actual RDB you want to defer the join logic etc into the database engine itself and are mostly concerned with the resulting data and mapping it to C++ types, etc... Jeff