aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS6
-rw-r--r--doc/manual.xhtml17
2 files changed, 20 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 9bb30a1..caa8f44 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,12 @@ Version 2.3.0
(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 a finalized transactions which can then be re-initialized
+ with the reset() function. The finalized() accessor has also been added
+ which allows querying of the finalized 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
diff --git a/doc/manual.xhtml b/doc/manual.xhtml
index dfdca31..75f9102 100644
--- a/doc/manual.xhtml
+++ b/doc/manual.xhtml
@@ -2973,8 +2973,11 @@ namespace odb
typedef odb::database database_type;
typedef odb::connection connection_type;
+ explicit
transaction (transaction_impl*, bool make_current = true);
+ transaction ();
+
void
reset (transaction_impl*, bool make_current = true);
@@ -2990,6 +2993,10 @@ namespace odb
connection_type&
connection ();
+ bool
+ finilized () const;
+
+ public:
static bool
has_current ();
@@ -3004,6 +3011,7 @@ namespace odb
// Callback API.
//
+ public:
...
};
}
@@ -3070,9 +3078,12 @@ t2.commit ();
<code>transaction</code> instance to complete several database
transactions. Similar to the destructor, <code>reset()</code>
will roll the current transaction back if it hasn't been finalized.
- Here is how we can use this function to commit the current transaction
- and start a new one every time a certain number of database operations
- has been performed:</p>
+ The default <code>transaction</code> constructor creates a finalized
+ transaction which can later be initialized using <code>reset()</code>.
+ The <code>finilized()</code> accessor can be used to check whether the
+ transaction has been finalized. Here is how we can use this functionality
+ to commit the current transaction and start a new one every time a
+ certain number of database operations has been performed:</p>
<pre class="cxx">
transaction t (db.begin ());