I'm thinking the deadlock test may not be a useful for mysql++. I've
altered xaction.cpp to test errnum(), which is much simpler. Here's the
patch.
Index: xaction.cpp
===================================================================
--- xaction.cpp (revision 1779)
+++ xaction.cpp (working copy)
@@ -86,6 +86,22 @@
cout << "\nNo, yuck! We don't like catsup. Rolling it
back:" <<
endl;
print_stock_table(query);
+
+ // Now let's test errnum on the exception being
+ // affected by rollback on the trans
+ try {
+ mysqlpp::Transaction trans(con);
+ cout << "\nNow testing exeption..." << endl;
+
+ query << "select syntax from error";
+ query.execute();
+ query.reset();
+ }
+ catch (const mysqlpp::BadQuery& er) {
+ // Handle any query errors
+ cerr << "Got an expected Query error: " <<
er.what() << endl << " er.what_errnum() = " << er.what_errnum()
<< "
con.errnum() = " << con.errnum() << endl;
+ }
+
}
catch (const mysqlpp::BadQuery& er) {