From boris at codesynthesis.com Tue Jan 15 10:20:34 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Tue Jan 15 09:28:36 2013 Subject: [odb-announcements] ODB 2.2.0.a3 available Message-ID: Hi, The third alpha version for the upcoming ODB 2.2.0 is now available. The NEWS file entries so far are listed below. It also includes a large number of other minor improvements and bug-fixes. * Multi-database support. It allows an application to simultaneously work with multiple database systems and comes in two flavors: static and dynamic. With static support the application uses the static database interfaces (that is, odb::::database instead of odb::database). With dynamic support the same application code can access multiple databases via a common interface. Dynamic multi-database supports also allows the application to dynamically load the database support code for individual databases if and when necessary. For more information, refer to Chapter 13, "Multi-Database Support" in the ODB manual. * Support for prepared queries. Prepared queries are a thin wrapper around the underlying database system's prepared statements functionality. They provide a way to perform potentially expensive query preparations tasks only once and then executing the query multiple time. For more information, refer to Section 4.5, "Prepared Queries" in the ODB manual as well as the 'prepared' example in the odb-examples package. * Support for automatically-derived SQL name (table, column, index, etc.) transformations. At the higher level, it is possible to assign prefixes and suffixes (--table-prefix, --{index,fkey,sequence}--suffix options) as well as to convert to upper or lower case (--sql-name-case option). At the lower level, it is possible to specify transformations as regular expressions (--{table,column,index,fkey,sequence,sql-name}-regex options). For more information, refer to the SQL NAME TRANSFORMATIONS section in the ODB compiler command line interface documentation (man pages). * New options, --export-symbol and --extern-symbol, allow DLL exporting of the generated database support code. * Support for early connection release. Now the database connection is released when commit()/rollback() is called rather than when the transaction instance goes out of scope. * Support for SQL Server ROWVERSION-based optimistic concurrency. For more information, refer to Section 18.1.1, "ROWVERSION Support" in the ODB manual. * Support for specifying SQL Server transaction isolation level. For more information, refer to Section 18.2, "SQL Server Database Class" in the ODB manual. This pre-release is available from: http://www.codesynthesis.com/download/odb/pre-release/ The SHA1 sums for all the files in this pre-release are provided at the end of the email. Testing and feedback are much appreciated. Enjoy, Boris e136caae8205db5249966338161ef52f468b07db libodb-2.2.0.a3.tar.bz2 cb3b6995ec6ba73e403bd44b2b5f0c2c8998b77d libodb-2.2.0.a3.tar.gz 4d8548ada1f60d3f77b847966ed99831f69df561 libodb-2.2.0.a3.zip 1d8a5f77a76bc636e6603424aa3f8882068c924b libodb-boost-2.2.0.a3.tar.bz2 aefc0bbf1dcc208bcc9ae949d6f0ff8378e1b636 libodb-boost-2.2.0.a3.tar.gz a940d645a774eb5492ff6950b56a8b2947ad4bfb libodb-boost-2.2.0.a3.zip a7a7981e19f94fce22db4da8a559e20e86a8d6af libodb-mssql-2.2.0.a3.tar.bz2 f3ac44230bd832194bd66703198e499c752f6418 libodb-mssql-2.2.0.a3.tar.gz 7402d0081bbf38f1f6945b9b7098a9e49f202269 libodb-mssql-2.2.0.a3.zip bf0a6ff40aff5328d8d32faef4e46b1bbc6301e2 libodb-mysql-2.2.0.a3.tar.bz2 41ec4445c94dcd483c384eff4825760866a0f252 libodb-mysql-2.2.0.a3.tar.gz 161617672f38314c7448085e4d3df73dee4f55b4 libodb-mysql-2.2.0.a3.zip 6ee2290388feb6901509bde8e9e669c18696a6fc libodb-oracle-2.2.0.a3.tar.bz2 b0f4a719d84e442748025f957a765ce1dff8f411 libodb-oracle-2.2.0.a3.tar.gz 35db639e616e4d7fa39f164dc96b5dcc155c9d3c libodb-oracle-2.2.0.a3.zip 0b940b64e27af520e8ee1ab3d4c5e59acb71c367 libodb-pgsql-2.2.0.a3.tar.bz2 3e4ffcb0438af6f1ab1756d7454f3ad1a09f8345 libodb-pgsql-2.2.0.a3.tar.gz 192afa44fa18e8ee5df6bf6757fd6fead5b4f07e libodb-pgsql-2.2.0.a3.zip d7ae5e961487751dec6ff7f74ba40f52b1b54618 libodb-qt-2.2.0.a3.tar.bz2 8ef9187229305c481663e61fba4d9bdd060805b8 libodb-qt-2.2.0.a3.tar.gz ff52a1d95d181197a90558ffde6e8b62636ededc libodb-qt-2.2.0.a3.zip e2b95e458292d9b54741730aa9ae11ffa4559f71 libodb-sqlite-2.2.0.a3.tar.bz2 7ad744f8b0996a43082d04050061e49fb5942332 libodb-sqlite-2.2.0.a3.tar.gz f9396540defee17ffe0cd1f642f23b5ecf0ddc05 libodb-sqlite-2.2.0.a3.zip f0ab2af1ef06031e2033f4333d4c30025847d14f odb-2.2.0.a3-i686-linux-gnu.tar.bz2 a955dba1d11a1c3963f59702b66b8b60640e27fb odb-2.2.0.a3-i686-windows.zip 23ccd1386fe84a89117a698da9607bb6596be4f5 odb-2.2.0.a3.tar.bz2 2faeb5ee17eedea99de1bb0f6938066235ddb884 odb-2.2.0.a3.tar.gz 3f382ae6ccc9a9726f60ca1d1b88bc9bd39a3932 odb-2.2.0.a3-x86_64-linux-gnu.tar.bz2 ac058c96f1fb3a1825d1cc884aac7898b7f3340c odb-2.2.0.a3.zip 1120cdbb697596da7f406b82c9a4f2bd55854a4a odb-examples-2.2.0.a3.tar.bz2 2937b3290ce21c56b10943d7a0c4b5043708d302 odb-examples-2.2.0.a3.tar.gz b59e6f7907e375d10f297d82288009a8b81f6a7a odb-examples-2.2.0.a3.zip 4fd0fc65aa953fbfb0f3c1287c0baa6d36b3015c odb-tests-2.2.0.a3.tar.bz2 81cb73d821d1eb8b20dcc67df6d1578af44a3327 odb-tests-2.2.0.a3.tar.gz d190220348b04937fc0a0b102c8b060fc0cc73a8 odb-tests-2.2.0.a3.zip From boris at codesynthesis.com Wed Feb 13 06:54:15 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Wed Feb 13 06:36:01 2013 Subject: [odb-announcements] ODB 2.2.0 released Message-ID: Hi, We have released ODB 2.2.0. The NEWS file entries for this release are as follows: * Multi-database support. This mechanism allows an application to simultaneously work with multiple database systems and comes in two flavors: static and dynamic. With static support the application uses the static database interfaces (that is, odb::::database instead of odb::database). With dynamic support the same application code can access multiple databases via a common interface. Dynamic multi-database supports also allows the application to dynamically load the database support code for individual database systems if and when necessary. For more information, refer to Chapter 14, "Multi-Database Support" in the ODB manual. * Support for prepared queries. Prepared queries are a thin wrapper around the underlying database system's prepared statements functionality. They provide a way to perform potentially expensive query preparation tasks only once and then execute the query multiple times. For more information, refer to Section 4.5, "Prepared Queries" in the ODB manual as well as the 'prepared' example in the odb-examples package. * Mapping for char[N] and std::array to database VARCHAR(N-1) (or similar) as well as for char to database CHAR(1) (or similar). For SQL Server and SQLite on Windows equivalent mappings for wchar_t are also provided. Also the query support for arrays has been improved to allow passing a value of the decayed type (pointer) as a query parameter. For more information, refer to the ODB manual "Type Mapping" sections for each database system. * Support for change-tracking std::vector and QList container equivalents. Change-tracking containers minimize the number of database operations necessary to synchronize the container state with the database. For more information, refer to Sections 5.4, "Change-Tracking Containers", 5.4.1 "Change-Tracking vector", and 22.3.1, "Change-Tracking QList" in the ODB manual. * Support for automatically-derived SQL name transformations (table, column, index, etc). At the higher level, it is possible to assign prefixes and suffixes (--table-prefix, --{index,fkey,sequence}--suffix options) as well as to convert to upper or lower case (--sql-name-case option). At the lower level, it is possible to specify transformations as regular expressions (--{table,column,index,fkey,sequence,sql-name}-regex options). For more information, refer to the SQL NAME TRANSFORMATIONS section in the ODB compiler command line interface documentation (man pages). * New options, --export-symbol and --extern-symbol, allow DLL-exporting of the generated database support code. * Support for transaction post- commit/rollback callbacks. For more information, refer to Section 13.1, "Transaction Callbacks" in the ODB manual. * Support for custom session implementations. For more information, refer to Section 10.2, "Custom Sessions" in the ODB manual. * Support for early connection release. Now the database connection is released when commit()/rollback() is called rather than when the transaction instance goes out of scope. * New odb::schema_catalog function, exists(), can be used to check whether a schema with the specified name exists in the catalog. * Support for SQL Server ROWVERSION-based optimistic concurrency. For more information, refer to Section 19.1.1, "ROWVERSION Support" in the ODB manual. * Support for specifying the SQL Server transaction isolation level. For more information, refer to Section 19.2, "SQL Server Database Class" in the ODB manual. * Support for "smart" containers. A smart container is provided with additional functions which allow it to insert, update, and delete individual elements in the database. Change-tracking containers are examples of smart containers that utilizes this new functionality. Currently only ordered smart containers are supported. Note also that with this addition the names of the database functions provided by the ODB compiler (see libodb/odb/container-traits.hxx) have changed. This will only affect you if you have added ODB persistence support for a custom container. This release also adds support for Qt5 in addition to Qt4, including VC++ project/solution files as well as the autotools build system update. We have also upgraded the private copy of GCC that is used by the ODB compiler binary packages to 4.7.2 (actually, 4.7.3 pre-release) on all the platforms. In particular, this should make a difference to projects wishing to use C++11 features. Another notable addition is support for mobile/embedded systems. With this release we have added Raspberry Pi ARM GNU/Linux computer as one of the test targets and written a guide on using ODB on Mobile and Embedded Systems: http://wiki.codesynthesis.com/Using_ODB_on_Mobile_and_Embedded_Systems A more detailed discussion of the major new features can be found in the following blog post: http://www.codesynthesis.com/~boris/blog/2013/02/13/odb-2-2-0-released/ This release has been tested with a large number of platform/compiler/ architecture/library combinations. Specifically: Platform Compiler Version C++ Std Arch Qt Boost Databases ------------------------------------------------------------------------- GNU/Linux GCC 4.4-4.8 C++98,11 x86 32/64 4,5 Y All GNU/Linux Clang 3.2 C++98,11 x86 64 4 Y All Raspberry Pi GCC 4.7 C++98 arm - - SQLite Solaris Sun CC 12u2 Cstd x86 32/64 - - All ex MS SQL Solaris Sun CC 12u2 STLPort x86 32/64 - - All ex MS SQL Solaris Sun CC 12u2 Cstd SPARC 32/64 - - All ex MS SQL Mac OS X GCC 4.2 C++98 x86 32 4 Y All ex MS SQL Windows VC++ 9.0 C++98 x86 32/64 4 Y All Windows VC++ 10.0 C++11 x86 32/64 4,5 Y All Windows VC++ 11.0 C++11 x86 32/64 4 Y All MinGW-W64 GCC 4.7 C++98 x86 32 5 Y All We would also like to thank everyone who reported bugs, suggested fixes or new features, as well as tested early versions of this release. In particular, big thanks goes to Hugo Mildenberger who is working on packaging ODB for Gentoo and Dave Johansen who is doing the same for RHEL/CentOS. Hugo Mildenberger has also tracked down a number of issues in ODB when using MariaDB in place of MySQL. Thanks to his efforts ODB tests now run cleanly against MariaDB. 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: c02bc276a48bd8afa3c38b54c1bae790eb061643 libodb-2.2.0.tar.bz2 84adcfdb7cd311ea5cd666a3945713a4ef1f69c5 libodb-2.2.0.tar.gz f799bb2a3dc4e1eb6c432d5be3fe45cbce56a46d libodb-2.2.0.zip 54bb977beb5bea52eac958eba7e7b1121d5a347a libodb-boost-2.2.0.tar.bz2 fdf57dba0618266e7b948c7e40e09ae2b128dbca libodb-boost-2.2.0.tar.gz 71d5f749264ef64ac2844b6a0f02063accc610ec libodb-boost-2.2.0.zip ef1fe4216f7756d101a82bc9b728dd4276ecbf73 libodb-mssql-2.2.0.tar.bz2 1daa0d6eda89477bc2a73be89dca4a55e720ddc7 libodb-mssql-2.2.0.tar.gz 620b801743c04b004c6f237f89e76954596c38cd libodb-mssql-2.2.0.zip acb7f12d58d264f2288285ddd6ed3f3df7c98e8c libodb-mysql-2.2.0.tar.bz2 39a1cdea0cb3e3b6f349c58ce03c4ca237a70e35 libodb-mysql-2.2.0.tar.gz 34cb972170e79fa5f3b3654f5c835dbc0a950097 libodb-mysql-2.2.0.zip 856920bcaf477881d590f4bd5391add18ac6e3e1 libodb-oracle-2.2.0.tar.bz2 916f268778baf5e068497fe5b6d5c50b4cd5e2da libodb-oracle-2.2.0.tar.gz 0639ae29941b72d091eede855523d13588ea2212 libodb-oracle-2.2.0.zip 0bf21dcc5b319e8c5932fb015340bfcbeff69d80 libodb-pgsql-2.2.0.tar.bz2 10eb2dfa5b9ff6c81fa03b00442661e3da7b664c libodb-pgsql-2.2.0.tar.gz 6b65f92137dd9f2f93af604ca08050cc51feded5 libodb-pgsql-2.2.0.zip d0a26521c1747458ca09e85b97fa7036506b54b5 libodb-qt-2.2.0.tar.bz2 c07a54d4cfa786c49acfe3e521877598ddc8a82c libodb-qt-2.2.0.tar.gz b78556dd925a1aebcfba3148b8811fe3b1beb228 libodb-qt-2.2.0.zip a05fee4a452fde7371a78d662e27dd97fbacc14b libodb-sqlite-2.2.0.tar.bz2 458a605ff5945484cd150d81f0b1a7ea16e3a10c libodb-sqlite-2.2.0.tar.gz 3bc453b745bc104a8fdbb7a6f054fa49bdc46e67 libodb-sqlite-2.2.0.zip c58e80e579c4c49fff19055ee2a47064b5fd0805 odb-2.2.0-i686-linux-gnu.tar.bz2 a8764c780244b137369e8a0382cf3025ae661f03 odb-2.2.0-i686-macosx.tar.bz2 2e62dc711c3108d8a35c7466f0eca8e191ed26ed odb-2.2.0-i686-solaris.tar.bz2 2df92be11f939962f227d8e57e68b7b2f2b64be9 odb-2.2.0-i686-windows.zip 205b40ddb1ba426a348e0007ba262c82a1a11fd1 odb-2.2.0-sparc-solaris.tar.bz2 61657833e119373b4d66f2ccbb1938d7cf57ab1d odb-2.2.0.tar.bz2 ba204e2f3201caac72ecfc6c1e5e3b68f64583fd odb-2.2.0.tar.gz bfaee59d843facc8ce641232b8b00f7ace7c7d22 odb-2.2.0-x86_64-linux-gnu.tar.bz2 560edb6af4798d6846f6182c22b30b2992af9571 odb-2.2.0.zip 8ba9d5303154a40adfb9db5d989cf56ca8c52b74 odb-examples-2.2.0.tar.bz2 d28a00e6580c3ce8d4bef64ad5836028c873f15e odb-examples-2.2.0.tar.gz 3bd6d2b727997873f326833152914ec8a027820b odb-examples-2.2.0.zip 3ea7fbd83c9c00806453a4b3fa5aefa3995f5c0a odb-tests-2.2.0.tar.bz2 4246bd448c1b149abc176375617326157ba48017 odb-tests-2.2.0.tar.gz 3d2fd3afdcbb212cd8419c4e6cf34ddba1836fe8 odb-tests-2.2.0.zip Enjoy, Boris From boris at codesynthesis.com Thu Feb 14 10:58:23 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Feb 14 10:40:01 2013 Subject: [odb-announcements] libodb 2.2.1 bugfix released Message-ID: Hi, New bugfix releases for the common ODB runtime library (libodb) is now available. It fixes an issue with a missing windows.hxx header file and only affects a very specific configuration: installed MinGW-W64 builds with the GCC compiler that uses the POSIX threading model (run gcc -v). Any other platform or configuration is not affected and no upgrade is necessary. For more details on this bug, see the following mailing list thread: http://www.codesynthesis.com/pipermail/odb-users/2013-February/001076.html You can download the new packages from the ODB download page: http://www.codesynthesis.com/products/odb/download.xhtml SHA1 checksums for the files in this release are as follows: c5b544b9e294e0a6b603d88aaef548ad167aec82 libodb-2.2.1.tar.bz2 8bb72efe12f74031a5590002e1b13930d0d061bb libodb-2.2.1.tar.gz 0bdd43614a7d8d47eb827711b65dba753a73efab libodb-2.2.1.zip Boris From boris at codesynthesis.com Tue Feb 19 03:00:15 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Tue Feb 19 03:00:21 2013 Subject: [odb-announcements] Gentoo packages for ODB 2.2.0 Message-ID: Hi, Hugo Mildenberger has packaged the complete ODB 2.2.0 system for Gentoo and submitted the request for inclusion into the official Gentoo repository: https://bugs.gentoo.org/show_bug.cgi?id=458152 If you are interested in using ODB on Gentoo, please consider voting for it (requires login, next to the "Importance" field) and/or report test results. For more information on how to get and use the new packages, refer to the following post on the odb-users mailing list: http://www.codesynthesis.com/pipermail/odb-users/2013-February/001092.html Boris From boris at codesynthesis.com Thu Feb 21 05:53:34 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Feb 21 05:53:41 2013 Subject: [odb-announcements] libodb 2.2.2 bugfix released Message-ID: Hi, New bugfix release for the common ODB runtime library (libodb) is now available. It fixes an issue in queries when used with dynamic multi-database support. You can download the new packages from the ODB download page: http://www.codesynthesis.com/products/odb/download.xhtml SHA1 checksums for the files in this release are as follows: a89ee9c56ab3b087925156ab778f42012938d1be libodb-2.2.2.tar.bz2 f53bcbaac2d2fd4eb305eaedff7da4045cd648fe libodb-2.2.2.tar.gz a06d1dcaa880a9f026186cc5d831f572cd33f46f libodb-2.2.2.zip Boris From boris at codesynthesis.com Thu Feb 21 06:00:35 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Feb 21 06:00:41 2013 Subject: [odb-announcements] ODB compiler source 2.2.1 bugfix released Message-ID: Hi, A new bugfix release for the ODB compiler source package is now available. It fixes an issue with the libintl.h header when used together with GCC that was configured with --disable-nls. You only need to upgrade if (1) you are trying to build the ODB compiler from source code yourself (as opposed to using a binary package) and (2) you are experiencing errors pointing to libintl.h. For more information on this issue, refer to the following mailing list thread: http://www.codesynthesis.com/pipermail/odb-users/2013-February/001082.html You can download the new packages from the ODB download page: http://www.codesynthesis.com/products/odb/download.xhtml SHA1 checksums for the files in this release are as follows: 20ca253b22159ec5597d74c85c9a0de7f7d15a73 odb-2.2.1.tar.bz2 1174c6e6d3c1b0cda257d42004d6efdaa671b166 odb-2.2.1.tar.gz 96202b9124feeb561b7fa8fbc607725de216090e odb-2.2.1.zip Boris From boris at codesynthesis.com Fri Feb 22 08:00:37 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Fri Feb 22 08:00:43 2013 Subject: [odb-announcements] ODB compiler .deb and .rpm packages available Message-ID: Hi, ODB compiler packages for Debian/Ubuntu and RedHat(Fedora, RHEL, CentOS) are now available. These are essentially the binary packages of the ODB compiler re- packaged as .deb and .rpm to ease installation and maintenance. Just like the binary packages, they also include a private copy of the GCC binaries that are used internally by the ODB compiler. Note that you still need to build the ODB runtime libraries from source. As a result, these new packages are not meant to be a "final" solution to ODB packaging for Debian/Ubuntu and RedHat, which would also include .deb/.rpm packages for all the runtimes and use the stock GCC instead of distributing a private copy. Rather, these packages can be used while the proper packages are not yet available. They can also be used for legacy distributions for which proper packaging is not planned. You can download the new packages from the ODB download page: http://www.codesynthesis.com/products/odb/download.xhtml SHA1 checksums for the files in this release are as follows: f92f94d81a2a094c4be2f38d1d2bf8dd860f4074 odb_2.2.0-1_i386.deb 742edcf4cc1bf054ec2bc8bfa586d667c7093941 odb_2.2.0-1_amd64.deb a22cc1e2169619d9f70f40e1f0448445ba0784e0 odb-2.2.0-1.i686.rpm fe78b03fcc6cddb79651304d0d9f4d11154663c5 odb-2.2.0-1.x86_64.rpm Enjoy, Boris From boris at codesynthesis.com Mon Mar 11 08:40:10 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Mon Mar 11 08:40:16 2013 Subject: [odb-announcements] ODB compiler Windows binary 2.2.1 bugfix released Message-ID: Hi, A new bugfix release for the ODB compiler Windows binary is now available. It fixes an issue with shell globbing (that is, the expansion of * and ? in file names) when invoked from the Windows command prompt. You only need to upgrade if you are using shell wildcards to specify input files to the ODB compiler. For more information on this issue, refer to the following mailing list thread: http://www.codesynthesis.com/pipermail/odb-users/2013-March/001147.html You can download the new package from the ODB download page: http://www.codesynthesis.com/products/odb/download.xhtml The SHA1 checksum for the file in this release is as follows: e9badc36fa553d3e5291d218d4e90c064c46c36a odb-2.2.1-i686-windows.zip Boris From boris at codesynthesis.com Tue Mar 19 09:37:57 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Tue Mar 19 09:38:04 2013 Subject: [odb-announcements] libodb-sqlite 2.2.1 bugfix released Message-ID: Hi, New bugfix release for the SQLite ODB runtime library (libodb-sqlite) is now available. It adds the odb::sqlite::forced_rollback recoverable exception which is thrown if SQLite forces a transaction to roll back. This behavior is new to SQLite 3.7.11. For more details on this issue, see the following mailing list thread: http://www.codesynthesis.com/pipermail/odb-users/2013-March/001168.html You can download the new packages from the ODB download page: http://www.codesynthesis.com/products/odb/download.xhtml SHA1 checksums for the files in this release are as follows: fa4fdc5993901cf5483031939917a4db3e2f7e36 libodb-sqlite-2.2.1.tar.bz2 e322a5d8335657d6fb12092943c5dfc87e087e31 libodb-sqlite-2.2.1.tar.gz 1b542b9f64d4fece943939919356b36ab511fcfb libodb-sqlite-2.2.1.zip Boris From boris at codesynthesis.com Tue Apr 16 07:56:54 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Tue Apr 16 07:57:03 2013 Subject: [odb-announcements] Using ODB on Android Message-ID: Hi, Peter Wu contributed instructions for using ODB on Android with Android NDK. We have published them as a guide on the Wiki: http://wiki.codesynthesis.com/Using_ODB_on_Android Enjoy, Boris From boris at codesynthesis.com Fri May 17 12:52:43 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Fri May 17 12:51:27 2013 Subject: [odb-announcements] libodb-sqlite 2.2.2 bugfix released Message-ID: Hi, New bugfix release for the SQLite ODB runtime library (libodb-sqlite) is now available. It fixes an incorrect export macro in the forced_rollback exception. This bug only affects Windows builds. You can download the new packages from the ODB download page: http://www.codesynthesis.com/products/odb/download.xhtml SHA1 checksums for the files in this release are as follows: bf47360c65cf79ff9104b26c8e93978950d4eb8b libodb-sqlite-2.2.2.tar.bz2 7fc195c9f7848c709a3179ecebfb08dffdd1c16d libodb-sqlite-2.2.2.tar.gz 1f627d4d5f8e3f10466396c60f004c11bc664708 libodb-sqlite-2.2.2.zip Boris From boris at codesynthesis.com Fri Jun 21 10:10:29 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Fri Jun 21 10:10:35 2013 Subject: [odb-announcements] Multiple ODB 2.2.0 bugfixes released Message-ID: Hi, New bugfix releases for various ODB 2.2.0 components are now available: odb-2.2.2 (source and binaries) Various bugfixes. For the complete list, refer to the source code repository log: http://scm.codesynthesis.com/?p=odb/odb.git;a=shortlog;h=refs/heads/2.2 libodb-2.2.3 Minor bugfixes. For the complete list, refer to the source code repository log: http://scm.codesynthesis.com/?p=odb/libodb.git;a=shortlog;h=refs/heads/2.2 libodb-mssql-2.2.1 Fix for a bug in the ROWVERSION type handling. libodb-qt-2.2.1 Fix for a bug that affects applications using ODB with Qt5 in the dynamic multi-database mode. libodb-boost-2.2.1 Work around for the ambiguous name resolution bug in VC++. You can download the new packages from the ODB download page: http://www.codesynthesis.com/products/odb/download.xhtml SHA1 checksums for the files in these releases are as follows: c61a2e276ffeb2967a5ecc0fadf63d7dda862658 libodb-2.2.3.tar.bz2 44652ac83e4ed377471ed11685d9fb7ee68a2704 libodb-2.2.3.tar.gz 446807ab6060ed98b94cc1640660f29053ab3bb3 libodb-2.2.3.zip ba3eabd6d626df475c4af99ff82848ab63eba85d libodb-mssql-2.2.1.tar.bz2 fa3dc0a8c9a4bc69ff36d0f3d3c698bfdbbc62e3 libodb-mssql-2.2.1.tar.gz d29b1aa170c0df07aac9da8b49cc2cd3232e2aa2 libodb-mssql-2.2.1.zip 56eda4472ce82ae946f4fb318c00e546270d6b17 libodb-boost-2.2.1.tar.bz2 107d75a6a872c0c4b5c2e7cb87ce006c14ee4be4 libodb-boost-2.2.1.tar.gz f6831364b5fcebf0b0b5d9fd7de904cf128f3911 libodb-boost-2.2.1.zip 42294514368be823f7831dfd4adff997e6fc13f8 libodb-qt-2.2.1.tar.bz2 0c0872a60a186c4212699aec02b60cf7525efdcb libodb-qt-2.2.1.tar.gz 15e6dc9bec6ba6afb31314a0218cf04063af9fe5 libodb-qt-2.2.1.zip 9be107f0230d0b5b899d8d84a81c7bf966cf20f2 odb_2.2.2-1_amd64.deb 66c651eee6697ba7d124155213e66fd708917cab odb_2.2.2-1_i386.deb b2689632785e61da9f9dcf1d1534f2a459240d79 odb-2.2.2-1.i686.rpm b1861b68e1c51e9ebede259cffc4f7cdc8b331a2 odb-2.2.2-1.x86_64.rpm fbda36df7438e5d4ee811c92e7abc6033063c14e odb-2.2.2-i686-linux-gnu.tar.bz2 fcf9c9de67f9ccfe308c16731fb0fb9f029a2a0a odb-2.2.2-i686-macosx.tar.bz2 33eaeff615576cfcae0a3343a4a1732ed869de28 odb-2.2.2-i686-solaris.tar.bz2 d4189181f15b768b4446ddce2d07cb3d531018d4 odb-2.2.2-i686-windows.zip c667f6081387a7f5d8d71783b36c3a92194369cc odb-2.2.2-sparc-solaris.tar.bz2 172a2376c4e048933f31eec9ee2f26cc39c6e80f odb-2.2.2-x86_64-linux-gnu.tar.bz2 c7a03600a4e4da4246705d1b78de6725179a0a4e odb-2.2.2.tar.bz2 f461e28658ed9546d95efaa8d25f92f59b895311 odb-2.2.2.tar.gz c0c4b5808cb631fd2ec44553a18a168886b00627 odb-2.2.2.zip Boris From boris at codesynthesis.com Sat Oct 5 05:32:50 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Sat Oct 5 05:35:14 2013 Subject: [odb-announcements] libodb-sqlite 2.2.3 bugfix released Message-ID: Hi, A new bugfix release for the SQLite ODB runtime library (libodb-sqlite) is now available. Strictly speaking, this is not a bigfix since it only adds support for lower versions of SQLite than was previously supported. Now ODB supports SQLite 3.3.6 (which is found in RHEL5) and later. You can download the new packages from the ODB download page: http://www.codesynthesis.com/products/odb/download.xhtml SHA1 checksums for the files in this release are as follows: e85307ae589d2daa241dd83404ecb10edb77eb62 libodb-sqlite-2.2.3.tar.bz2 5b404764cba0475703a969103ff97e633135eaf2 libodb-sqlite-2.2.3.tar.gz a1f8d925fab4450f802af13b88bdabeab259e75b libodb-sqlite-2.2.3.zip Boris From boris at codesynthesis.com Wed Oct 30 05:53:32 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Wed Oct 30 05:55:57 2013 Subject: [odb-announcements] ODB 2.3.0 released Message-ID: Hi, We have released ODB 2.3.0. The NEWS file entries for this release are as follows: * Support for database schema evolution, including schema migration, data migration, and soft model changes. For more information, refer to Chapter 13, "Database Schema Evolution" in the ODB manual. * Support for object sections. Sections are an optimization mechanism that allows the partitioning of data members of a persistent class into groups that can be loaded and/or updated separately. For more information, refer to Chapter 9, "Sections" in the ODB manual as well as the 'section' example in the odb-examples package. * Support for automatic mapping of C++11 enum classes in addition to "old" enums. For more information, refer to the ODB manual "Type Mapping" sections for each database system. * Support for defining composite value types inside persistent classes, views, and other composite values. For more information, refer to Section 7.2, "Composite Value Types" in the ODB manual. * Support for pattern matching (SQL LIKE operator) in the C++-integrated queries. For more information, refer to Section 4.1, "ODB Query Language" in the ODB manual. * The schema_catalog::create_schema() function now has a third argument which indicates whether to drop the schema prior to creating the new one. The default is true which is backwards-compatible. The schema_catalog class now also provides the drop_schema() function which allows you to drop the schema without creating the new one. Finally, the exists() function now has the schema name argument which by default is an empty string (the default schema name). For more information, refer to Section 3.4, "Database" in the ODB manual. * The transaction class now provides the default constructor that allows the creation of finalized transactions which can then be re-initialized with the reset() function. The finalized() accessor has also been added which allows querying of the finalization state. For more information, refer to Section 3.5, "Transactions" in the ODB manual. * New option, --fkeys-deferrable-mode, specifies the alternative deferrable mode for foreign keys. By default, the ODB compiler generates deferred foreign keys for databases that support them (SQLite, PostgreSQL, and Oracle) and comments the foreign keys out for databases that don't (MySQL and SQL Server). This option can be used to override this behavior. Refer to the ODB compiler command line interface documentation (man pages) for details. * Starting with MySQL version 5.6.4 it is possible to store fractional seconds up to microsecond precision in TIME, DATETIME, and TIMESTAMP columns. Both Boost and Qt profiles have been updated to support this new functionality. Note, however, that to enable sub-second precision, the corresponding type with the desired precision has to be specified explicitly. For details, refer to the "MySQL Database Type Mapping" sections in the Boost and Qt profile chapters. * New SQLite-specific exception, odb::sqlite::forced_rollback, which is thrown if SQLite forces a transaction to roll back. For more information, refer to Section 16.5.6, "Forced Rollback" in the ODB manual. * New options, --pgsql-server-version, can be used to specify the minimum PostgreSQL server version with which the generated C++ code and schema will be used. Right now this information is used to enable the use of the IF NOT EXISTS clause in the CREATE TABLE statement for the schema version table creation in PostgreSQL 9.1 and later. Refer to the ODB compiler command line interface documentation (man pages) for details. * The --output-name option has been renamed to --input-name, which is more semantically correct. * The generated database schema now explicitly specify NULL for nullable columns. * The generated separate C++ schema file (--schema-format separate) no longer includes the generated header file (-odb.hxx). As a result, it is now possible to use the --generate-schema-only and --at-once options to generate a combined C++ schema file for several headers. This release also adds support for Visual Studio 2005 (VC++ 8.0), including project/solution files for all the runtimes, tests, and examples. A more detailed discussion of the major new features can be found in the following blog post: http://www.codesynthesis.com/~boris/blog/2013/10/30/odb-2-3-0-released/ This release has been tested with a large number of platform/compiler/ architecture/library combinations. Specifically: Platform Compiler Version C++ Std Arch Qt Boost Databases ------------------------------------------------------------------------- GNU/Linux GCC 4.4-4.8 C++98,11 x86 32/64 4,5 Y All GNU/Linux Clang 3.3 C++98,11 x86 64 4 Y All Raspberry Pi GCC 4.7 C++98 arm - - SQLite Solaris Sun CC 12u2 Cstd x86 32/64 - - All ex MS SQL Solaris Sun CC 12u2 STLPort x86 32/64 - - All ex MS SQL Solaris Sun CC 12u2 Cstd SPARC 32/64 - - All ex MS SQL Mac OS X GCC 4.2 C++98 x86 32 4 Y All ex MS SQL Windows VC++ 8.0 C++98 x86 32/64 - Y All Windows VC++ 9.0 C++98 x86 32/64 4 Y All Windows VC++ 10.0 C++11 x86 32/64 4,5 Y All Windows VC++ 11.0 C++11 x86 32/64 4 Y All MinGW-W64 GCC 4.7 C++98 x86 32 5 Y All We would also like to thank everyone who reported bugs, suggested fixes or new features, as well as tested early versions of this release. 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: eebc7fa706bc598a80439d1d6a798430fcfde23b libodb-2.3.0.tar.bz2 8ac9a09a6a86e73951289ee79c022661caea7f96 libodb-2.3.0.tar.gz 4931b091e925b7f578fa2fdb82dcdc02e7bb5fa9 libodb-2.3.0.zip 0e6c8e256834b11a98e946cde23a01d9b8023c4b libodb-boost-2.3.0.tar.bz2 38c8552db872cc32144fb653c19277cfec1df2ec libodb-boost-2.3.0.tar.gz 33dcda84aeae00acc6fd1ac4d47bccfb1fc57838 libodb-boost-2.3.0.zip 29fe362fc0028022ff5c5e6a8b7e434626125916 libodb-mssql-2.3.0.tar.bz2 2cd48850870782c74fdc92c223877c0c05e72494 libodb-mssql-2.3.0.tar.gz 7fc50e8b1b5a392a16cbab3aedacf6f2b56cab68 libodb-mssql-2.3.0.zip 18adaa5535015e3471a5d205e44df42f0e3a3d37 libodb-mysql-2.3.0.tar.bz2 72f92fd60a58cc4b34a8fea23a262dfdaa6c776c libodb-mysql-2.3.0.tar.gz 8c35cb74ac11b81c49e854505577a0e603307b57 libodb-mysql-2.3.0.zip 365bc27ccf5855674b9dd3b976dba02ec59d15a0 libodb-oracle-2.3.0.tar.bz2 2138b5d7f3e27335f9d80e178e6baa8b7bd0c6ef libodb-oracle-2.3.0.tar.gz e20b369200e5bcc36e391cfd7117d20431369032 libodb-oracle-2.3.0.zip 0cc3597602550b7a98c0d532935fdefc51ad9cd7 libodb-pgsql-2.3.0.tar.bz2 2b4e82d4d15135959867158a8e6453e80a36e773 libodb-pgsql-2.3.0.tar.gz 8ac439ec78595ec9cf2d4c20359778bdd9572d91 libodb-pgsql-2.3.0.zip ade562088b28cfefd889649cdc44666a366147e4 libodb-qt-2.3.0.tar.bz2 ff543576ff7048a2b489ba550f3e569c3afc6534 libodb-qt-2.3.0.tar.gz 2c105ee34d3023b41bcc2615d015798873fcdd86 libodb-qt-2.3.0.zip 512a124e0b78ae36deee25d595e3e169bd24d216 libodb-sqlite-2.3.0.tar.bz2 2643d3c2c3f273f3fb223759e4ad10635cc91ce8 libodb-sqlite-2.3.0.tar.gz fb477d054e59a443d2d890b9ca65557293ecb4c3 libodb-sqlite-2.3.0.zip 31d45bd900de198fd136d671c9e2a2ffdb98cf01 odb_2.3.0-1_amd64.deb 1db91284de3965c352158419e5d8bfbae50ad6de odb_2.3.0-1_i386.deb 65c4bab0c453868debeabd609cc1e38198fe85d0 odb-2.3.0-1.i686.rpm 590e10d17dd8ab8b46c65fc1a577bd0d7d471f5a odb-2.3.0-1.x86_64.rpm 1db06f531400af2cf156fe38bcd691c81b4c4ce4 odb-2.3.0-i686-linux-gnu.tar.bz2 7bdde23582d8e6f57d5a2fffd9fa77ab35de5bcc odb-2.3.0-i686-macosx.tar.bz2 e9b4c688f52f1a9abea6c1f1b4adac648d193127 odb-2.3.0-i686-solaris.tar.bz2 0539193c614356fa120b2ebdb1d2e9c6fcdd7dcd odb-2.3.0-i686-windows.zip 7e802e0a8e92887827e3e19ec2c9d201091fa3dc odb-2.3.0-sparc-solaris.tar.bz2 fe18c7154085afec23c18aa940f168de7068f6f3 odb-2.3.0.tar.bz2 53c851e3f3724b72d7c7a74c497c50c195729ad1 odb-2.3.0.tar.gz 0a63f284263d68795359e6ce367a43476262d335 odb-2.3.0-x86_64-linux-gnu.tar.bz2 eabae10279c24bb5d3bdc740ba025766348cd916 odb-2.3.0.zip c044da7df142a0147550c659c282f7d63b9abf86 odb-examples-2.3.0.tar.bz2 e244836bb009317cdd1cb3cd16e8acf2b0d0fc0d odb-examples-2.3.0.tar.gz dc950e8f73bc978500386f414c490eb64daa121c odb-examples-2.3.0.zip d23966564030d899355231756e2b93ec76e300c1 odb-tests-2.3.0.tar.bz2 3f0b615da8f655d0aa58790078ec59ab0037a65e odb-tests-2.3.0.tar.gz 7a3a9dfa1da7da999c2865850f5f4df613d13e39 odb-tests-2.3.0.zip Enjoy, Boris From boris at codesynthesis.com Fri Dec 6 03:15:05 2013 From: boris at codesynthesis.com (Boris Kolpackov) Date: Fri Dec 6 03:17:29 2013 Subject: [odb-announcements] libodb-pgsql 2.3.1 bugfix released Message-ID: Hi, A new bugfix release for the PostgreSQL ODB runtime library (libodb-pgsql) is now available. It adds a missing include file that affected compilation of generated files that contain only views. For more details on this issue, see the following mailing list thread: http://www.codesynthesis.com/pipermail/odb-users/2013-December/001653.html You can download the new packages from the ODB download page: http://www.codesynthesis.com/products/odb/download.xhtml SHA1 checksums for the files in this release are as follows: 91f5688decb0269f630f7a88d16a5a73b9ebb284 libodb-pgsql-2.3.1.tar.bz2 8b1874747580ac840f4b22c4b7b13a1523a9f270 libodb-pgsql-2.3.1.tar.gz 985b191ff1c84fcf94400db70b219023bfdfffd3 libodb-pgsql-2.3.1.zip Boris