2017-08-03 17:46:47 +02:00
|
|
|
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
|
|
|
|
// This source code is licensed under both the GPLv2 (found in the
|
|
|
|
// COPYING file in the root directory) and Apache 2.0 License
|
|
|
|
// (found in the LICENSE.Apache file in the root directory).
|
|
|
|
|
|
|
|
#ifndef ROCKSDB_LITE
|
|
|
|
|
2017-08-08 01:07:40 +02:00
|
|
|
#include "utilities/transactions/write_prepared_txn.h"
|
2017-08-03 17:46:47 +02:00
|
|
|
|
|
|
|
#include <map>
|
|
|
|
|
|
|
|
#include "db/column_family.h"
|
|
|
|
#include "db/db_impl.h"
|
|
|
|
#include "rocksdb/db.h"
|
|
|
|
#include "rocksdb/status.h"
|
|
|
|
#include "rocksdb/utilities/transaction_db.h"
|
2017-08-06 02:17:48 +02:00
|
|
|
#include "utilities/transactions/pessimistic_transaction_db.h"
|
2017-08-08 01:07:40 +02:00
|
|
|
#include "utilities/transactions/pessimistic_transaction.h"
|
2017-08-03 17:46:47 +02:00
|
|
|
|
|
|
|
namespace rocksdb {
|
|
|
|
|
|
|
|
struct WriteOptions;
|
|
|
|
|
2017-08-08 01:07:40 +02:00
|
|
|
WritePreparedTxn::WritePreparedTxn(
|
2017-08-03 17:46:47 +02:00
|
|
|
TransactionDB* txn_db, const WriteOptions& write_options,
|
|
|
|
const TransactionOptions& txn_options)
|
2017-08-08 01:07:40 +02:00
|
|
|
: PessimisticTransaction(txn_db, write_options, txn_options) {
|
|
|
|
PessimisticTransaction::Initialize(txn_options);
|
2017-08-03 17:46:47 +02:00
|
|
|
}
|
|
|
|
|
2017-08-08 01:07:40 +02:00
|
|
|
Status WritePreparedTxn::CommitBatch(WriteBatch* /* unused */) {
|
2017-08-03 17:46:47 +02:00
|
|
|
// TODO(myabandeh) Implement this
|
|
|
|
throw std::runtime_error("CommitBatch not Implemented");
|
|
|
|
return Status::OK();
|
|
|
|
}
|
|
|
|
|
2017-08-08 01:07:40 +02:00
|
|
|
Status WritePreparedTxn::PrepareInternal() {
|
2017-08-03 17:46:47 +02:00
|
|
|
// TODO(myabandeh) Implement this
|
|
|
|
throw std::runtime_error("Prepare not Implemented");
|
|
|
|
return Status::OK();
|
|
|
|
}
|
|
|
|
|
2017-08-08 01:07:40 +02:00
|
|
|
Status WritePreparedTxn::CommitWithoutPrepareInternal() {
|
2017-08-03 17:46:47 +02:00
|
|
|
// TODO(myabandeh) Implement this
|
|
|
|
throw std::runtime_error("Commit not Implemented");
|
|
|
|
return Status::OK();
|
|
|
|
}
|
|
|
|
|
2017-08-08 01:07:40 +02:00
|
|
|
Status WritePreparedTxn::CommitInternal() {
|
|
|
|
// TODO(myabandeh) Implement this
|
|
|
|
throw std::runtime_error("Commit not Implemented");
|
|
|
|
return Status::OK();
|
|
|
|
}
|
|
|
|
|
|
|
|
Status WritePreparedTxn::Rollback() {
|
2017-08-03 17:46:47 +02:00
|
|
|
// TODO(myabandeh) Implement this
|
|
|
|
throw std::runtime_error("Rollback not Implemented");
|
|
|
|
return Status::OK();
|
|
|
|
}
|
|
|
|
|
|
|
|
} // namespace rocksdb
|
|
|
|
|
|
|
|
#endif // ROCKSDB_LITE
|