[odb-announcements] ODB 1.1.0 released

Boris Kolpackov boris at codesynthesis.com
Wed Jan 26 04:37:28 EST 2011


Hi,

We have released ODB 1.1.0. The NEWS file entries for this release are
as follows:

  * Support for storing containers in the database. For example, now
    you can write:

    #pragma db object
    class person
    {
      ...

      std::set<std::string> emails_;
    };


    For more information refer to Chapter 5, "Containers" in the ODB manual
    as well as the 'container' example in the odb-examples package.

  * Support for unidirectional and bidirectional object relationships, 
    including lazy loading. For example:

    #pragma db object
    class employer
    {
      ...

      #pragma db inverse(employer_)
      std::vector<lazy_weak_ptr<employee> > employees_;
    };

    #pragma db object
    class employer
    {
      ...

      shared_ptr<employer> employer_;
    };
 
    For more information refer to Chapter 6, "Relationships" in the ODB
    manual as well as the 'relationship' and 'inverse' examples in the
    odb-examples package.

  * Support for composite value types. For example:

    #pragma db value
    class name
    {
      ...

      std::string first_;
      std::string last_;
    };

    #pragma db object
    class person
    {
      ...

      name name_;
    };

    For more information refer to Chapter 7, "Composite Value Types" in the
    ODB manual as well as the 'composite' example in the odb-examples package.

  * Support for sessions. A session is an application's unit of work that
    may encompass several database transactions. In this version of ODB a
    session is just an object cache. For more information refer to Chapter
    8, "Session" in the ODB manual.

  * Support for custom object pointers that allows you to use smart pointers
    to return, pass, and cache persistent objects. See Section 3.2, "Object
    Pointers" in the ODB manual for details.

  * Support for native SQL statement execution. See Section 3.9, "Executing
    Native SQL Statements" in the ODB manual for details.

  * New option, --profile/-p, instructs the ODB compiler to use the specified
    profile library. See the ODB compiler command line manual for details.

  * Support for literal names (template-id, derived type declarator such as
    pointers, etc) in data member declarations. Now, for example, you can use 
    std::vector<std::string> directly instead of having to create a typedef
    alias for it.

  * Support for inheritance from transient base types for object types and
    composite value types.

  * New example, 'schema', shows how to map persistent C++ classes to a custom
    database schema.

  * New options, --odb-prologue, --odb-epilogue, allow inclusion of extra code
    into the ODB compilation process. This can be useful for making additional
    traits specializations or ODB pragmas known to the ODB compiler.

  * Support for persistent classes without default constructors. For objects
    of such classes only the load() and find() database functions that
    populate an existing instance can be used. Similarly, only the load()
    query result iterator function which populates an existing instance can
    be used.

Source code and pre-compiled binary packages for this release are available
from the download page:

http://www.codesynthesis.com/products/odb/download.xhtml

SHA1 checksums for the files in this release are as follows:

770aeca0e626754906bb84ad8d3b1dc3a40cbe27  libodb-1.1.0.tar.bz2
4e931be19d1d5071510e3516b5719bbd81c60b14  libodb-1.1.0.tar.gz
6184ace925fa09755a9af0447a74cf16a4b2b96c  libodb-1.1.0.zip
89c07493e3355190cfd9e8756c42fa8dedcbafbb  libodb-mysql-1.1.0.tar.bz2
c5c5a6548805099e395a896eedc9bdb50f1d99c7  libodb-mysql-1.1.0.tar.gz
f611ab47135a1579471036f4557331028b2854e3  libodb-mysql-1.1.0.zip
3b334c933820977ca42dcdcb235e82dd913867e3  libodb-tracer-1.1.0.tar.bz2
29edfed7b29712d8ba920a8008f0cc2d077f1782  libodb-tracer-1.1.0.tar.gz
adec98afbb0099f2a5a5ee14cc4ace9aac640203  libodb-tracer-1.1.0.zip
7ba5e2ff86261960c312edcbe096ce7d4351f96b  odb-1.1.0-i686-linux-gnu.tar.bz2
c77d72678d6325f8c53c9cc2afc206f032872c8c  odb-1.1.0-i686-macosx.tar.bz2
2037bb3f324d763cd28b99a547ab68de81729ebf  odb-1.1.0-i686-solaris.tar.bz2
83ece19fe618b9f74ee3b50e00bf0dfce5e1c406  odb-1.1.0-i686-windows.zip
b8dc849093e65dd8501091e1837ad21dec008eee  odb-1.1.0-sparc-solaris.tar.bz2
1ec3c8368d6fff708e8ade250d4f08c54ee9cb98  odb-1.1.0.tar.bz2
ba92a4ebd60b600462644dc502f08124a25a6069  odb-1.1.0.tar.gz
cdaf55183708c049a8952cf3df21304a656ee5f6  odb-1.1.0-x86_64-linux-gnu.tar.bz2
284f9abbe988c10ea9bbfd8460ab31d1b7725f12  odb-1.1.0.zip
a0ba27b59c79671c7e481dc7c188a8202a3e0aa9  odb-examples-1.1.0.tar.bz2
3ab1eda2200955cba52e169a4bd23905c0d16d67  odb-examples-1.1.0.tar.gz
e66c017dcf1ed191506366d20014662f560453c9  odb-examples-1.1.0.zip
ef45ade0f0748c1803b8f22f6e790ddb74ff6c60  odb-tests-1.1.0.tar.bz2
14e80612e05e2e93b0b21e772f59c9719b4553d1  odb-tests-1.1.0.tar.gz
a5d1c3165d41abdeb20875be5668ef04acd7a1b0  odb-tests-1.1.0.zip

Enjoy,
	Boris



More information about the odb-announcements mailing list