1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "sql/transaction.h"
7 #include "base/logging.h"
8 #include "sql/connection.h"
12 Transaction::Transaction(Connection
* connection
)
13 : connection_(connection
),
17 Transaction::~Transaction() {
19 connection_
->RollbackTransaction();
22 bool Transaction::Begin() {
24 NOTREACHED() << "Beginning a transaction twice!";
27 is_open_
= connection_
->BeginTransaction();
31 void Transaction::Rollback() {
33 NOTREACHED() << "Attempting to roll back a nonexistent transaction. "
34 << "Did you remember to call Begin() and check its return?";
38 connection_
->RollbackTransaction();
41 bool Transaction::Commit() {
43 NOTREACHED() << "Attempting to commit a nonexistent transaction. "
44 << "Did you remember to call Begin() and check its return?";
48 return connection_
->CommitTransaction();