[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