const int MLM_MYSQL_FETCH_SUCCESS = 0;
const int MLM_MYSQL_FETCH_FAILURE = 1;
+const int MYSQL_DEFAULT_CONNECTION_TIMEOUT = 5; // seconds
+ MySqlTransaction::MySqlTransaction(MySqlConnection& conn)
+ : conn_(conn), committed_(false) {
+ conn_.startTransaction();
+ }
+
+ MySqlTransaction::~MySqlTransaction() {
+ // Rollback if the MySqlTransaction::commit wasn't explicitly
+ // called.
+ if (!committed_) {
+ conn_.rollback();
+ }
+ }
+
+ void
+ MySqlTransaction::commit() {
+ conn_.commit();
+ committed_ = true;
+ }
+
+
// Open the database using the parameters passed to the constructor.
void