From 167bd8856d14ca0934ad9f1bf4c3c7b94db4b76a Mon Sep 17 00:00:00 2001 From: Andrew Kryczka Date: Mon, 25 Jan 2016 17:49:58 -0800 Subject: [PATCH] [directory includes cleanup] Finish removing util->db dependencies --- CMakeLists.txt | 9 +- Makefile | 2 +- {util => db}/auto_roll_logger.cc | 2 +- {util => db}/auto_roll_logger.h | 0 {util => db}/auto_roll_logger_test.cc | 2 +- db/db_impl.cc | 4 +- {util => db}/db_info_dumper.cc | 3 +- {util => db}/db_info_dumper.h | 0 db/db_test.cc | 100 +++++++++++++++++++++ {util => memtable}/skiplistrep.cc | 0 {util => memtable}/vectorrep.cc | 0 src.mk | 10 +-- util/file_util.cc | 1 - util/memenv_test.cc | 53 ----------- util/mock_env_test.cc | 47 ---------- util/options.cc | 1 - util/testutil.h | 1 - utilities/backupable/backupable_db_test.cc | 2 +- 18 files changed, 118 insertions(+), 119 deletions(-) rename {util => db}/auto_roll_logger.cc (99%) rename {util => db}/auto_roll_logger.h (100%) rename {util => db}/auto_roll_logger_test.cc (99%) rename {util => db}/db_info_dumper.cc (99%) rename {util => db}/db_info_dumper.h (100%) rename {util => memtable}/skiplistrep.cc (100%) rename {util => memtable}/vectorrep.cc (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7222807fb..7cfabcd86 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,6 +99,7 @@ add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest) # Main library source code set(SOURCES + db/auto_roll_logger.cc db/builder.cc db/c.cc db/column_family.cc @@ -114,6 +115,7 @@ set(SOURCES db/db_impl_debug.cc db/db_impl_experimental.cc db/db_impl_readonly.cc + db/db_info_dumper.cc db/db_iter.cc db/event_helpers.cc db/experimental.cc @@ -149,6 +151,8 @@ set(SOURCES memtable/hash_cuckoo_rep.cc memtable/hash_linklist_rep.cc memtable/hash_skiplist_rep.cc + memtable/skiplistrep.cc + memtable/vectorrep.cc port/stack_trace.cc port/win/env_win.cc port/win/port_win.cc @@ -194,7 +198,6 @@ set(SOURCES util/comparator.cc util/concurrent_arena.cc util/crc32c.cc - util/db_info_dumper.cc util/delete_scheduler_impl.cc util/dynamic_bloom.cc util/env.cc @@ -224,7 +227,6 @@ set(SOURCES util/perf_level.cc util/random.cc util/rate_limiter.cc - util/skiplistrep.cc util/slice.cc util/statistics.cc util/status.cc @@ -238,7 +240,6 @@ set(SOURCES util/thread_status_updater.cc util/thread_status_util.cc util/thread_status_util_debug.cc - util/vectorrep.cc util/xfunc.cc util/xxhash.cc utilities/backupable/backupable_db.cc @@ -304,6 +305,7 @@ set(APPS set(C_TESTS db/c_test.c) set(TESTS + db/auto_roll_logger_test.cc db/column_family_test.cc db/compact_files_test.cc db/compaction_iterator_test.cc @@ -365,7 +367,6 @@ set(TESTS tools/sst_dump_test.cc util/arena_test.cc util/autovector_test.cc - util/auto_roll_logger_test.cc util/bloom_test.cc util/cache_test.cc util/coding_test.cc diff --git a/Makefile b/Makefile index 2eeb2f1c5..d9c3374b3 100644 --- a/Makefile +++ b/Makefile @@ -1019,7 +1019,7 @@ manual_compaction_test: db/manual_compaction_test.o $(LIBOBJECTS) $(TESTHARNESS) filelock_test: util/filelock_test.o $(LIBOBJECTS) $(TESTHARNESS) $(AM_LINK) -auto_roll_logger_test: util/auto_roll_logger_test.o $(LIBOBJECTS) $(TESTHARNESS) +auto_roll_logger_test: db/auto_roll_logger_test.o $(LIBOBJECTS) $(TESTHARNESS) $(AM_LINK) memtable_list_test: db/memtable_list_test.o $(LIBOBJECTS) $(TESTHARNESS) diff --git a/util/auto_roll_logger.cc b/db/auto_roll_logger.cc similarity index 99% rename from util/auto_roll_logger.cc rename to db/auto_roll_logger.cc index e9b13d109..cf92f34c8 100644 --- a/util/auto_roll_logger.cc +++ b/db/auto_roll_logger.cc @@ -3,7 +3,7 @@ // LICENSE file in the root directory of this source tree. An additional grant // of patent rights can be found in the PATENTS file in the same directory. // -#include "util/auto_roll_logger.h" +#include "db/auto_roll_logger.h" #include "util/mutexlock.h" using namespace std; diff --git a/util/auto_roll_logger.h b/db/auto_roll_logger.h similarity index 100% rename from util/auto_roll_logger.h rename to db/auto_roll_logger.h diff --git a/util/auto_roll_logger_test.cc b/db/auto_roll_logger_test.cc similarity index 99% rename from util/auto_roll_logger_test.cc rename to db/auto_roll_logger_test.cc index c26be2bd2..e3e04c93f 100644 --- a/util/auto_roll_logger_test.cc +++ b/db/auto_roll_logger_test.cc @@ -10,8 +10,8 @@ #include #include #include +#include "db/auto_roll_logger.h" #include "util/testharness.h" -#include "util/auto_roll_logger.h" #include "rocksdb/db.h" #include #include diff --git a/db/db_impl.cc b/db/db_impl.cc index 2ddf26347..02060393f 100644 --- a/db/db_impl.cc +++ b/db/db_impl.cc @@ -31,8 +31,10 @@ #include #include +#include "db/auto_roll_logger.h" #include "db/builder.h" #include "db/compaction_job.h" +#include "db/db_info_dumper.h" #include "db/db_iter.h" #include "db/dbformat.h" #include "db/event_helpers.h" @@ -76,13 +78,11 @@ #include "table/merger.h" #include "table/table_builder.h" #include "table/two_level_iterator.h" -#include "util/auto_roll_logger.h" #include "util/autovector.h" #include "util/build_version.h" #include "util/coding.h" #include "util/compression.h" #include "util/crc32c.h" -#include "util/db_info_dumper.h" #include "util/file_reader_writer.h" #include "util/file_util.h" #include "util/iostats_context_imp.h" diff --git a/util/db_info_dumper.cc b/db/db_info_dumper.cc similarity index 99% rename from util/db_info_dumper.cc rename to db/db_info_dumper.cc index 6cb978fbb..de9b77b1b 100644 --- a/util/db_info_dumper.cc +++ b/db/db_info_dumper.cc @@ -7,6 +7,8 @@ #define __STDC_FORMAT_MACROS #endif +#include "db/db_info_dumper.h" + #include #include #include @@ -16,7 +18,6 @@ #include "db/filename.h" #include "rocksdb/options.h" #include "rocksdb/env.h" -#include "util/db_info_dumper.h" namespace rocksdb { diff --git a/util/db_info_dumper.h b/db/db_info_dumper.h similarity index 100% rename from util/db_info_dumper.h rename to db/db_info_dumper.h diff --git a/db/db_test.cc b/db/db_test.cc index 6b0f5b2d5..f2b6761c2 100644 --- a/db/db_test.cc +++ b/db/db_test.cc @@ -122,6 +122,106 @@ class DBTestWithParam bool exclusive_manual_compaction_; }; +TEST_F(DBTest, MockEnvTest) { + unique_ptr env{new MockEnv(Env::Default())}; + Options options; + options.create_if_missing = true; + options.env = env.get(); + DB* db; + + const Slice keys[] = {Slice("aaa"), Slice("bbb"), Slice("ccc")}; + const Slice vals[] = {Slice("foo"), Slice("bar"), Slice("baz")}; + + ASSERT_OK(DB::Open(options, "/dir/db", &db)); + for (size_t i = 0; i < 3; ++i) { + ASSERT_OK(db->Put(WriteOptions(), keys[i], vals[i])); + } + + for (size_t i = 0; i < 3; ++i) { + std::string res; + ASSERT_OK(db->Get(ReadOptions(), keys[i], &res)); + ASSERT_TRUE(res == vals[i]); + } + + Iterator* iterator = db->NewIterator(ReadOptions()); + iterator->SeekToFirst(); + for (size_t i = 0; i < 3; ++i) { + ASSERT_TRUE(iterator->Valid()); + ASSERT_TRUE(keys[i] == iterator->key()); + ASSERT_TRUE(vals[i] == iterator->value()); + iterator->Next(); + } + ASSERT_TRUE(!iterator->Valid()); + delete iterator; + + // TEST_FlushMemTable() is not supported in ROCKSDB_LITE + #ifndef ROCKSDB_LITE + DBImpl* dbi = reinterpret_cast(db); + ASSERT_OK(dbi->TEST_FlushMemTable()); + + for (size_t i = 0; i < 3; ++i) { + std::string res; + ASSERT_OK(db->Get(ReadOptions(), keys[i], &res)); + ASSERT_TRUE(res == vals[i]); + } + #endif // ROCKSDB_LITE + + delete db; +} + +TEST_F(DBTest, MemEnvTest) { + unique_ptr env{NewMemEnv(Env::Default())}; + Options options; + options.create_if_missing = true; + options.env = env.get(); + DB* db; + + const Slice keys[] = {Slice("aaa"), Slice("bbb"), Slice("ccc")}; + const Slice vals[] = {Slice("foo"), Slice("bar"), Slice("baz")}; + + ASSERT_OK(DB::Open(options, "/dir/db", &db)); + for (size_t i = 0; i < 3; ++i) { + ASSERT_OK(db->Put(WriteOptions(), keys[i], vals[i])); + } + + for (size_t i = 0; i < 3; ++i) { + std::string res; + ASSERT_OK(db->Get(ReadOptions(), keys[i], &res)); + ASSERT_TRUE(res == vals[i]); + } + + Iterator* iterator = db->NewIterator(ReadOptions()); + iterator->SeekToFirst(); + for (size_t i = 0; i < 3; ++i) { + ASSERT_TRUE(iterator->Valid()); + ASSERT_TRUE(keys[i] == iterator->key()); + ASSERT_TRUE(vals[i] == iterator->value()); + iterator->Next(); + } + ASSERT_TRUE(!iterator->Valid()); + delete iterator; + + DBImpl* dbi = reinterpret_cast(db); + ASSERT_OK(dbi->TEST_FlushMemTable()); + + for (size_t i = 0; i < 3; ++i) { + std::string res; + ASSERT_OK(db->Get(ReadOptions(), keys[i], &res)); + ASSERT_TRUE(res == vals[i]); + } + + delete db; + + options.create_if_missing = false; + ASSERT_OK(DB::Open(options, "/dir/db", &db)); + for (size_t i = 0; i < 3; ++i) { + std::string res; + ASSERT_OK(db->Get(ReadOptions(), keys[i], &res)); + ASSERT_TRUE(res == vals[i]); + } + delete db; +} + TEST_F(DBTest, WriteEmptyBatch) { Options options; options.env = env_; diff --git a/util/skiplistrep.cc b/memtable/skiplistrep.cc similarity index 100% rename from util/skiplistrep.cc rename to memtable/skiplistrep.cc diff --git a/util/vectorrep.cc b/memtable/vectorrep.cc similarity index 100% rename from util/vectorrep.cc rename to memtable/vectorrep.cc diff --git a/src.mk b/src.mk index 46949b611..4e95b1fc1 100644 --- a/src.mk +++ b/src.mk @@ -1,5 +1,6 @@ # These are the sources from which librocksdb.a is built: LIB_SOURCES = \ + db/auto_roll_logger.cc \ db/builder.cc \ db/c.cc \ db/column_family.cc \ @@ -15,6 +16,7 @@ LIB_SOURCES = \ db/db_impl_debug.cc \ db/db_impl_readonly.cc \ db/db_impl_experimental.cc \ + db/db_info_dumper.cc \ db/db_iter.cc \ db/experimental.cc \ db/event_helpers.cc \ @@ -50,6 +52,8 @@ LIB_SOURCES = \ memtable/hash_cuckoo_rep.cc \ memtable/hash_linklist_rep.cc \ memtable/hash_skiplist_rep.cc \ + memtable/skiplistrep.cc \ + memtable/vectorrep.cc \ port/stack_trace.cc \ port/port_posix.cc \ table/adaptive_table_factory.cc \ @@ -82,7 +86,6 @@ LIB_SOURCES = \ table/two_level_iterator.cc \ tools/dump/db_dump_tool.cc \ util/arena.cc \ - util/auto_roll_logger.cc \ util/bloom.cc \ util/build_version.cc \ util/cache.cc \ @@ -91,7 +94,6 @@ LIB_SOURCES = \ util/compaction_job_stats_impl.cc \ util/concurrent_arena.cc \ util/crc32c.cc \ - util/db_info_dumper.cc \ util/delete_scheduler_impl.cc \ util/dynamic_bloom.cc \ util/env.cc \ @@ -152,7 +154,6 @@ LIB_SOURCES = \ util/perf_level.cc \ util/random.cc \ util/rate_limiter.cc \ - util/skiplistrep.cc \ util/slice.cc \ util/statistics.cc \ util/status.cc \ @@ -165,7 +166,6 @@ LIB_SOURCES = \ util/thread_status_updater_debug.cc \ util/thread_status_util.cc \ util/thread_status_util_debug.cc \ - util/vectorrep.cc \ util/xfunc.cc \ util/xxhash.cc \ @@ -180,6 +180,7 @@ MOCK_SOURCES = \ TEST_BENCH_SOURCES = \ third-party/gtest-1.7.0/fused-src/gtest/gtest-all.cc \ + db/auto_roll_logger_test.cc \ db/column_family_test.cc \ db/compaction_job_test.cc \ db/compaction_job_stats_test.cc \ @@ -240,7 +241,6 @@ TEST_BENCH_SOURCES = \ tools/reduce_levels_test.cc \ tools/sst_dump_test.cc \ util/arena_test.cc \ - util/auto_roll_logger_test.cc \ util/autovector_test.cc \ util/benchharness.cc \ util/benchharness_test.cc \ diff --git a/util/file_util.cc b/util/file_util.cc index d4f7b4004..55eeab722 100644 --- a/util/file_util.cc +++ b/util/file_util.cc @@ -11,7 +11,6 @@ #include "rocksdb/delete_scheduler.h" #include "rocksdb/env.h" #include "rocksdb/options.h" -#include "db/filename.h" #include "util/file_reader_writer.h" namespace rocksdb { diff --git a/util/memenv_test.cc b/util/memenv_test.cc index 24190daba..2b872d266 100644 --- a/util/memenv_test.cc +++ b/util/memenv_test.cc @@ -4,7 +4,6 @@ #ifndef ROCKSDB_LITE -#include "db/db_impl.h" #include "rocksdb/db.h" #include "rocksdb/env.h" #include "util/testharness.h" @@ -183,58 +182,6 @@ TEST_F(MemEnvTest, LargeWrite) { delete [] scratch; } -TEST_F(MemEnvTest, DBTest) { - Options options; - options.create_if_missing = true; - options.env = env_; - DB* db; - - const Slice keys[] = {Slice("aaa"), Slice("bbb"), Slice("ccc")}; - const Slice vals[] = {Slice("foo"), Slice("bar"), Slice("baz")}; - - ASSERT_OK(DB::Open(options, "/dir/db", &db)); - for (size_t i = 0; i < 3; ++i) { - ASSERT_OK(db->Put(WriteOptions(), keys[i], vals[i])); - } - - for (size_t i = 0; i < 3; ++i) { - std::string res; - ASSERT_OK(db->Get(ReadOptions(), keys[i], &res)); - ASSERT_TRUE(res == vals[i]); - } - - Iterator* iterator = db->NewIterator(ReadOptions()); - iterator->SeekToFirst(); - for (size_t i = 0; i < 3; ++i) { - ASSERT_TRUE(iterator->Valid()); - ASSERT_TRUE(keys[i] == iterator->key()); - ASSERT_TRUE(vals[i] == iterator->value()); - iterator->Next(); - } - ASSERT_TRUE(!iterator->Valid()); - delete iterator; - - DBImpl* dbi = reinterpret_cast(db); - ASSERT_OK(dbi->TEST_FlushMemTable()); - - for (size_t i = 0; i < 3; ++i) { - std::string res; - ASSERT_OK(db->Get(ReadOptions(), keys[i], &res)); - ASSERT_TRUE(res == vals[i]); - } - - delete db; - - options.create_if_missing = false; - ASSERT_OK(DB::Open(options, "/dir/db", &db)); - for (size_t i = 0; i < 3; ++i) { - std::string res; - ASSERT_OK(db->Get(ReadOptions(), keys[i], &res)); - ASSERT_TRUE(res == vals[i]); - } - delete db; -} - } // namespace rocksdb int main(int argc, char** argv) { diff --git a/util/mock_env_test.cc b/util/mock_env_test.cc index 2f50c2a82..710881b55 100644 --- a/util/mock_env_test.cc +++ b/util/mock_env_test.cc @@ -6,7 +6,6 @@ #include #include #include "util/mock_env.h" -#include "db/db_impl.h" #include "rocksdb/db.h" #include "rocksdb/env.h" #include "util/testharness.h" @@ -221,52 +220,6 @@ TEST_F(MockEnvTest, Corrupt) { ASSERT_NE(result.compare(kCorrupted), 0); } -TEST_F(MockEnvTest, DBTest) { - Options options; - options.create_if_missing = true; - options.env = env_; - DB* db; - - const Slice keys[] = {Slice("aaa"), Slice("bbb"), Slice("ccc")}; - const Slice vals[] = {Slice("foo"), Slice("bar"), Slice("baz")}; - - ASSERT_OK(DB::Open(options, "/dir/db", &db)); - for (size_t i = 0; i < 3; ++i) { - ASSERT_OK(db->Put(WriteOptions(), keys[i], vals[i])); - } - - for (size_t i = 0; i < 3; ++i) { - std::string res; - ASSERT_OK(db->Get(ReadOptions(), keys[i], &res)); - ASSERT_TRUE(res == vals[i]); - } - - Iterator* iterator = db->NewIterator(ReadOptions()); - iterator->SeekToFirst(); - for (size_t i = 0; i < 3; ++i) { - ASSERT_TRUE(iterator->Valid()); - ASSERT_TRUE(keys[i] == iterator->key()); - ASSERT_TRUE(vals[i] == iterator->value()); - iterator->Next(); - } - ASSERT_TRUE(!iterator->Valid()); - delete iterator; - - // TEST_FlushMemTable() is not supported in ROCKSDB_LITE - #ifndef ROCKSDB_LITE - DBImpl* dbi = reinterpret_cast(db); - ASSERT_OK(dbi->TEST_FlushMemTable()); - - for (size_t i = 0; i < 3; ++i) { - std::string res; - ASSERT_OK(db->Get(ReadOptions(), keys[i], &res)); - ASSERT_TRUE(res == vals[i]); - } - #endif // ROCKSDB_LITE - - delete db; -} - TEST_F(MockEnvTest, FakeSleeping) { int64_t now = 0; auto s = env_->GetCurrentTime(&now); diff --git a/util/options.cc b/util/options.cc index c925153fd..13fee9051 100644 --- a/util/options.cc +++ b/util/options.cc @@ -17,7 +17,6 @@ #include #include -#include "db/writebuffer.h" #include "rocksdb/cache.h" #include "rocksdb/compaction_filter.h" #include "rocksdb/comparator.h" diff --git a/util/testutil.h b/util/testutil.h index d8b4f0ca2..02e786b47 100644 --- a/util/testutil.h +++ b/util/testutil.h @@ -13,7 +13,6 @@ #include #include -#include "db/dbformat.h" #include "rocksdb/compaction_filter.h" #include "rocksdb/env.h" #include "rocksdb/iterator.h" diff --git a/utilities/backupable/backupable_db_test.cc b/utilities/backupable/backupable_db_test.cc index a41b4094f..a3d32090c 100644 --- a/utilities/backupable/backupable_db_test.cc +++ b/utilities/backupable/backupable_db_test.cc @@ -13,6 +13,7 @@ #include #include +#include "db/filename.h" #include "port/port.h" #include "port/stack_trace.h" #include "rocksdb/types.h" @@ -24,7 +25,6 @@ #include "util/mutexlock.h" #include "util/string_util.h" #include "util/testutil.h" -#include "util/auto_roll_logger.h" #include "util/mock_env.h" #include "utilities/backupable/backupable_db_testutil.h"