| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | // 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).#include "db/snapshot_checker.h"#ifdef ROCKSDB_LITE#include <assert.h>#endif  // ROCKSDB_LITE#include "utilities/transactions/write_prepared_txn_db.h"namespace ROCKSDB_NAMESPACE {#ifdef ROCKSDB_LITEWritePreparedSnapshotChecker::WritePreparedSnapshotChecker(    WritePreparedTxnDB* /*txn_db*/) {}SnapshotCheckerResult WritePreparedSnapshotChecker::CheckInSnapshot(    SequenceNumber /*sequence*/, SequenceNumber /*snapshot_sequence*/) const {  // Should never be called in LITE mode.  assert(false);  return SnapshotCheckerResult::kInSnapshot;}#elseWritePreparedSnapshotChecker::WritePreparedSnapshotChecker(    WritePreparedTxnDB* txn_db)    : txn_db_(txn_db){};SnapshotCheckerResult WritePreparedSnapshotChecker::CheckInSnapshot(    SequenceNumber sequence, SequenceNumber snapshot_sequence) const {  bool snapshot_released = false;  // TODO(myabandeh): set min_uncommitted  bool in_snapshot = txn_db_->IsInSnapshot(      sequence, snapshot_sequence, kMinUnCommittedSeq, &snapshot_released);  if (snapshot_released) {    return SnapshotCheckerResult::kSnapshotReleased;  }  return in_snapshot ? SnapshotCheckerResult::kInSnapshot                     : SnapshotCheckerResult::kNotInSnapshot;}#endif  // ROCKSDB_LITEDisableGCSnapshotChecker DisableGCSnapshotChecker::instance_;}  // namespace ROCKSDB_NAMESPACE
 |