[odb-users] ODB 1.6.0.a1 available
Boris Kolpackov
boris at codesynthesis.com
Mon Aug 22 10:46:05 EDT 2011
Hi,
The first alpha version for the upcoming ODB 1.6.0 is now available. The
NEWS file entries so far are:
* SQLite ODB runtime now enabled foreign key constraints checking by
default. While this should not affect correct applications, due to
bugs in SQLite DDL foreign keys support, you may need to temporarily
disable foreign key constraints checking when re-creating the database
schema (the sign that you may need to do so is the "foreign key
constraint failed" exception thrown by the commit() function after the
call to schema_catalog::create_schema()). For more information, refer
to Section 12.5.3, "Foreign Key Constraints" in the ODB manual.
* New function, database::erase_query(), allows the deletion of the
database state of multiple objects matching certain criteria. It uses
the same query expression as the database::query() function. For more
information, refer to Section 3.10, "Deleting Persistent Objects" in
the ODB manual.
* Support for value wrappers. An ODB value wrapper is a class template
that wraps a value type. Common examples of wrappers are smart pointers,
holders, and "optional value" containers such as boost::optional. A
wrapper can be transparent or it can handle the NULL semantics. To
allow the easy conversion of value types that do not support the NULL
semantics into the ones that do, the odb::nullable class template has
been added. ODB also now includes built-in support for std::auto_ptr
and std::tr1::shared_ptr smart pointers as value wrappers as well as
for boost::shared_ptr and QSharedPointer via the Boost and Qt profiles.
For more information, refer to Section 7.3, "NULL Value Semantics" in
the ODB manual.
* Support for the boost::optional container in the Boost profile. A data
member of the boost::optional type is mapped to a column that can have
a NULL value. For more information, refer to Section 15.3 "Optional
Library" in the ODB manual.
* Support for mapping std::vector<char> to the BLOB (or equivalent) types.
For more information, refer to chapters 11 (for MySQL), 12 (for SQLite)
and 13 (for PostgreSQL) in the ODB manual.
* New option, --table-prefix, allows the specification of a prefix that
is added to table and index names. For more information, refer to the
ODB compiler command line interface documentation (man pages).
* New ODB runtime interface, odb::connection, represents a connection
to the database. The primary use case for a connection is to execute
native statements outside of a transaction. For more information, refer
to Section 3.5, "Connections" in the ODB manual.
This pre-release (as well as all the future pre-releases) is available
from:
http://www.codesynthesis.com/download/odb/pre-release/
The ODB compiler binaries are only available for Windows and GNU/Linux
(x86 and x86_64).
Testing and feedback are appreciated.
Enjoys,
Boris
More information about the odb-users
mailing list