Hi, I am pleased to announce the release of ODB 1.6.0.
ODB is an open-source object-relational mapping (ORM) system for C++. It allows you to persist C++ objects to a relational database without having to deal with tables, columns, or SQL and without manually writing any of the mapping code. The major new feature in this release is the introduction of the view concept. A view is a light-weight, read-only projection of one or more persistent objects or database tables or the result of a native SQL query execution. Views can be used to load a subset of data members from objects or columns from database tables, execute and handle results of arbitrary SQL queries, including aggregate queries, as well as join multiple objects and/or database tables using object relationships or custom join conditions. For example, given this persistent class: #pragma db object class person { ... #pragma db id auto unsigned long id_; std::string first_, last_; unsigned short age_; }; We can define a view that returns the number of people stored in the database: #pragma db view object(person) struct person_count { #pragma db column("count(" + person::id_ + ")") std::size_t count; }; And then use this view to find out how many people are younger than 30: typedef odb::query<person_count> query; typedef odb::result<person_count> result; result r (db.query<person_count> (query::age < 30)); cout << r.begin ()->count << endl; Other important new features in this release are: * Support for the NULL semantics and the odb::nullable container. * Support for the boost::optional container (mapped to columns with NULL values). * Support for deleting persistent objects using query expressions. * Support for storing BLOB data as std::vector<char>. A more detailed discussion of these features can be found in the following blog post: http://www.codesynthesis.com/~boris/blog/2011/10/04/odb-1-6-0-released/ For the complete list of new features in this version see the official release announcement: http://www.codesynthesis.com/pipermail/odb-announcements/2011/000007.html ODB is written in portable C++ and you should be able to use it with any modern C++ compiler. In particular, we have tested this release on GNU/Linux (x86/x86-64), Windows (x86/x86-64), Mac OS X, and Solaris (x86/x86-64/SPARC) with GNU g++ 4.2.x-4.6.x, MS Visual C++ 2008 and 2010, and Sun Studio 12. The currently supported database systems are MySQL, SQLite, and PostgreSQL. This release has also been tested with the recently released PostgreSQL 9.1. More information, documentation, source code, and pre-compiled binaries are available from: http://www.codesynthesis.com/products/odb/ Enjoy, Boris _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users