diff options
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 45 |
1 files changed, 44 insertions, 1 deletions
@@ -7,6 +7,10 @@ Version 2.5.0 @@ Ref to the manual. + * Support for custom table definition options in addition to column + definition options. For details, refer to Section 14.1.16, "options" in + the ODB manual. + * Support for nested object ids. Now the 'id' pragma specifier can optionally include the data member path to the id inside a composite value. For example: @@ -33,11 +37,50 @@ Version 2.5.0 * The 'inverse' pragma now supports nested data members. * Helper header (<odb/nested-container.hxx>) for nested container emulation. - It is still fairly experimental and only supports vector<vector<T>>. + It is still fairly experimental and only supports vector<vector<T>>. For + example: + + #include <odb/nested-container.hxx> + + #pragma db object + class package + { + using licenses_type = std::vector<std::string> + using license_alternatives_type = std::vector<licenses_type> + + license_alternatives_type license_alternatives; + + // Database mapping. + // + using _license_key = odb::nested_key<licenses_type>; + using _licenses_type = std::map<_license_key, std::string>; + + #pragma db value(_license_key) + #pragma db member(_license_key::outer) column("alternative_index") + #pragma db member(_license_key::inner) column("index") + + #pragma db member(license_alternatives) id_column("") value_column("") + #pragma db member(licenses) \ + virtual(_licenses_type) \ + after(license_alternatives) \ + get(odb::nested_get (this.license_alternatives)) \ + set(odb::nested_set (this.license_alternatives, std::move (?))) \ + id_column("") key_column("") value_column("license") + }; * Database classes are now move-constructible. This means they can be returned by value from a function in C++11. + * Support for bulk operations in PostgreSQL 14 using the new pipeline mode. + For details on bulk operations see Section 15.3, "Bulk Database Operations" + in the ODB manual. Note that while this functionality requires libpq + version 14 or later, it should be usable with PostgreSQL servers version + 7.4 or later. The development of this support was sponsored by Qube + Research & Technologies Limited. + + * Support for SQLite ATTACH DATABASE. Attached databases are represented as + special odb::sqlite::database instances. @@ TODO: doc ref. + * Support for SQLite incremental BLOB/TEXT I/O (the sqlite3_blob_open() functionality). For details, refer to Section 18.1.3, "Incremental BLOB/TEXT I/O" in the ODB manual. |