fork of https://github.com/rust-rocksdb/rust-rocksdb for nextgraph
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.1 KiB
94 lines
2.1 KiB
// 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).
|
|
|
|
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "rocksdb/slice.h"
|
|
|
|
namespace ROCKSDB_NAMESPACE {
|
|
|
|
// Define all public custom types here.
|
|
|
|
using ColumnFamilyId = uint32_t;
|
|
|
|
// Represents a sequence number in a WAL file.
|
|
using SequenceNumber = uint64_t;
|
|
|
|
const SequenceNumber kMinUnCommittedSeq = 1; // 0 is always committed
|
|
|
|
enum class TableFileCreationReason {
|
|
kFlush,
|
|
kCompaction,
|
|
kRecovery,
|
|
kMisc,
|
|
};
|
|
|
|
enum class BlobFileCreationReason {
|
|
kFlush,
|
|
kCompaction,
|
|
kRecovery,
|
|
};
|
|
|
|
// The types of files RocksDB uses in a DB directory. (Available for
|
|
// advanced options.)
|
|
enum FileType {
|
|
kWalFile,
|
|
kDBLockFile,
|
|
kTableFile,
|
|
kDescriptorFile,
|
|
kCurrentFile,
|
|
kTempFile,
|
|
kInfoLogFile, // Either the current one, or an old one
|
|
kMetaDatabase,
|
|
kIdentityFile,
|
|
kOptionsFile,
|
|
kBlobFile
|
|
};
|
|
|
|
// User-oriented representation of internal key types.
|
|
// Ordering of this enum entries should not change.
|
|
enum EntryType {
|
|
kEntryPut,
|
|
kEntryDelete,
|
|
kEntrySingleDelete,
|
|
kEntryMerge,
|
|
kEntryRangeDeletion,
|
|
kEntryBlobIndex,
|
|
kEntryDeleteWithTimestamp,
|
|
kEntryWideColumnEntity,
|
|
kEntryOther,
|
|
};
|
|
|
|
enum class WriteStallCause {
|
|
// Beginning of CF-scope write stall causes
|
|
//
|
|
// Always keep `kMemtableLimit` as the first stat in this section
|
|
kMemtableLimit,
|
|
kL0FileCountLimit,
|
|
kPendingCompactionBytes,
|
|
kCFScopeWriteStallCauseEnumMax,
|
|
// End of CF-scope write stall causes
|
|
|
|
// Beginning of DB-scope write stall causes
|
|
//
|
|
// Always keep `kWriteBufferManagerLimit` as the first stat in this section
|
|
kWriteBufferManagerLimit,
|
|
kDBScopeWriteStallCauseEnumMax,
|
|
// End of DB-scope write stall causes
|
|
|
|
// Always add new WriteStallCause before `kNone`
|
|
kNone,
|
|
};
|
|
|
|
enum class WriteStallCondition {
|
|
kDelayed,
|
|
kStopped,
|
|
// Always add new WriteStallCondition before `kNormal`
|
|
kNormal,
|
|
};
|
|
|
|
} // namespace ROCKSDB_NAMESPACE
|
|
|