| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // 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 <string>
- #include <unordered_map>
- #include "rocksdb/rocksdb_namespace.h"
- #ifndef ROCKSDB_LITE
- namespace ROCKSDB_NAMESPACE {
- // This enum defines the RocksDB options sanity level.
- enum OptionsSanityCheckLevel : unsigned char {
- // Performs no sanity check at all.
- kSanityLevelNone = 0x00,
- // Performs minimum check to ensure the RocksDB instance can be
- // opened without corrupting / mis-interpreting the data.
- kSanityLevelLooselyCompatible = 0x01,
- // Perform exact match sanity check.
- kSanityLevelExactMatch = 0xFF,
- };
- // The sanity check level for DB options
- static const std::unordered_map<std::string, OptionsSanityCheckLevel>
- sanity_level_db_options {};
- // The sanity check level for column-family options
- static const std::unordered_map<std::string, OptionsSanityCheckLevel>
- sanity_level_cf_options = {
- {"comparator", kSanityLevelLooselyCompatible},
- {"table_factory", kSanityLevelLooselyCompatible},
- {"merge_operator", kSanityLevelLooselyCompatible}};
- // The sanity check level for block-based table options
- static const std::unordered_map<std::string, OptionsSanityCheckLevel>
- sanity_level_bbt_options {};
- OptionsSanityCheckLevel DBOptionSanityCheckLevel(
- const std::string& options_name);
- OptionsSanityCheckLevel CFOptionSanityCheckLevel(
- const std::string& options_name);
- OptionsSanityCheckLevel BBTOptionSanityCheckLevel(
- const std::string& options_name);
- } // namespace ROCKSDB_NAMESPACE
- #endif // !ROCKSDB_LITE
|