Hi,
We have released ODB 1.2.0. The NEWS file entries for this release are
as follows:
* New profile, boost, provides persistence support for the Boost libraries.
This version covers the most commonly used types from the smart_ptr,
unordered, and date_time libraries. For example, now you can write:
#pragma db object
class employee
{
...
boost::gregorian::date born_;
boost::unordered_set<std::string> emails_;
boost::shared_ptr<employer> employer_;
};
The boost profile implementation is provided by the libodb-boost library.
For more information refer to Chapter 11, "Profiles Introduction" and
Chapter 12, "Boost Profile" in the ODB manual as well as the 'boost'
example in the odb-examples package.
* Support for embedded database schemas. The new option, --schema-format,
allows the selection of the schema format. The valid values for this
option are 'sql' for a standalone SQL file and 'embedded' for a schema
embedded into the generated C++ code. The new odb::schema_catalog class
provides support for accessing embedded schemas from within the
application. For details refer to Section 3.3, "Database" in the ODB
manual as well as the 'schema/embedded' example in the odb-examples
package.
* New exceptions: odb::recoverable, odb::connection_lost, and odb::timeout.
The odb::recoverable exception is a common base class for all recoverable
ODB exceptions. The other two exceptions plus odb::deadlock now inherit
from this base. Refer to Section 3.5, "Error Handling and Recovery" for
details.
* Support for connection validation (ping) in MySQL connection_pool_factory.
This transparently deals with the MySQL server closing connections after
a certain period of inactivity.
* New namespace, odb::core, contains using-declarations for the core ODB
constructs, such as the database, transaction, etc. The primary use of
this namespace is in the using-directives:
using namespace odb::core;
The above form should be preferred over the old variant:
using namespace odb;
The new approach brings all the essential ODB names into the current
namespace without any of the auxiliary objects such as traits, etc., which
minimizes the likelihood of conflicts with other libraries. Note that you
should still use the odb namespace when qualifying individual names, for
example, odb::database.
* New option aliases: -q for --generate-query and -s for --generate-schema.
* Support for the default options file. Now, if configured, the ODB compiler
loads the default options file (by default ../etc/odb/default.options,
relative to the ODB compiler binary). This file can be used for
installation-wide customization, such as adding extra include search
paths.
Source code and pre-compiled binary packages for this release are available
from the ODB download page:
http://www.codesynthesis.com/products/odb/download.xhtml
SHA1 checksums for the files in this release are as follows:
366bb4fdd9c900a5b5cd47930ccab99d4f7120fa libodb-1.2.0.tar.bz2
7ae7d005f58696df8ed787d95c7fdfa4fbac3ede libodb-1.2.0.tar.gz
5a14afdacc489930dfbe2612c9c6f6f4e7a2d3c3 libodb-1.2.0.zip
e7b050ecf17a7b625b3356ca54c18122506c579a libodb-boost-1.2.0.tar.bz2
79e3b68fe6512d03a9cf8b91bfcfe6d11b68455e libodb-boost-1.2.0.tar.gz
bd1fee06f547a4b949e11dbf8904517ba7704d3c libodb-boost-1.2.0.zip
a925cb169a08de6b3dab45c32119e61d6f6da4ce libodb-mysql-1.2.0.tar.bz2
173c153065329425ed0c8ec8ab2b807ef1dbe271 libodb-mysql-1.2.0.tar.gz
486166a47d518324545bf2be3bb877db0a7d3a13 libodb-mysql-1.2.0.zip
ee5b18d06121d89463ab288c6a68bd95eae37491 libodb-tracer-1.2.0.tar.bz2
25131364958ce3197c7a62383e93564f7ee45fb2 libodb-tracer-1.2.0.tar.gz
c3b6f54cc205032ebfeeab25d9186b309c36d229 libodb-tracer-1.2.0.zip
a4ced7b0ed2dba6aca462022a59d2c2b16d15478 odb-1.2.0-i686-linux-gnu.tar.bz2
7ecc3ca9fcc9d3ae76c9f3cfa52839666af75ece odb-1.2.0-i686-macosx.tar.bz2
0f4cc2cd35d31e61a7b5086522de4586b70b274f odb-1.2.0-i686-solaris.tar.bz2
8883d7d72ca9233a74706c7da38f5c935d363b00 odb-1.2.0-i686-windows.zip
b6d3a92907bdc6895326a81209b8db83fb3d7ba8 odb-1.2.0-sparc-solaris.tar.bz2
b9b583f2c4aa0dc01110b184f4b481c17638aa41 odb-1.2.0.tar.bz2
2f3d83a44909d1efa7067db98acb7399e822e7b3 odb-1.2.0.tar.gz
88527ac892d56eac0593477b5c8718eeb3b89863 odb-1.2.0-x86_64-linux-gnu.tar.bz2
b0c28ef2f20fbcb00a7395432f9c71de84fbf681 odb-1.2.0.zip
8c709d0899bde23de6b106d13890e099791a0f71 odb-examples-1.2.0.tar.bz2
114241c511c180d9cafdb8e32fff2c5a2ef65475 odb-examples-1.2.0.tar.gz
b3e850d343274caaa25a5665314070b4243abcbb odb-examples-1.2.0.zip
43afba35440584ba27a53e550c82fa18023df39f odb-tests-1.2.0.tar.bz2
01b8357d750abc17cd3ed0a005f91dfd43f3b529 odb-tests-1.2.0.tar.gz
ce88fea1ed82417e949f4b7b7181eae4143d68f3 odb-tests-1.2.0.zip
Enjoy,
Boris