diff --git a/db/column_family_test.cc b/db/column_family_test.cc index 938c4121a..a258b83df 100644 --- a/db/column_family_test.cc +++ b/db/column_family_test.cc @@ -23,6 +23,8 @@ #include "util/sync_point.h" #include "utilities/merge_operators.h" +#if !(defined NDEBUG) || !defined(OS_WIN) + namespace rocksdb { namespace { @@ -1260,8 +1262,13 @@ TEST_F(ColumnFamilyTest, FlushAndDropRaceCondition) { } } // namespace rocksdb +#endif int main(int argc, char** argv) { +#if !(defined NDEBUG) || !defined(OS_WIN) ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); +#else + return 0; +#endif } diff --git a/port/port_posix.h b/port/port_posix.h index bf3fd5b46..efb72ee10 100644 --- a/port/port_posix.h +++ b/port/port_posix.h @@ -82,6 +82,7 @@ namespace port { // For use at db/file_indexer.h kLevelMaxIndex const int kMaxInt32 = std::numeric_limits::max(); const uint64_t kMaxUint64 = std::numeric_limits::max(); +const size_t kMaxSizet = std::numeric_limits::max(); static const bool kLittleEndian = PLATFORM_IS_LITTLE_ENDIAN; #undef PLATFORM_IS_LITTLE_ENDIAN diff --git a/port/win/port_win.h b/port/win/port_win.h index c861c45af..1f517fb78 100644 --- a/port/win/port_win.h +++ b/port/win/port_win.h @@ -99,6 +99,13 @@ namespace port { // For use at db/file_indexer.h kLevelMaxIndex const int kMaxInt32 = INT32_MAX; const uint64_t kMaxUint64 = UINT64_MAX; +// std::numeric_limits::max() is not constexpr just yet +// therefore, use the same limits +#ifdef _WIN64 +const size_t kMaxSizet = UINT64_MAX; +#else +const size_t kMaxSizet = UINT_MAX; +#endif const bool kLittleEndian = true; diff --git a/utilities/write_batch_with_index/write_batch_with_index_internal.h b/utilities/write_batch_with_index/write_batch_with_index_internal.h index 3c894ebbb..b9d7e0fb7 100644 --- a/utilities/write_batch_with_index/write_batch_with_index_internal.h +++ b/utilities/write_batch_with_index/write_batch_with_index_internal.h @@ -15,6 +15,7 @@ #include "rocksdb/slice.h" #include "rocksdb/status.h" #include "rocksdb/utilities/write_batch_with_index.h" +#include "port/port.h" namespace rocksdb { @@ -30,7 +31,7 @@ struct WriteBatchIndexEntry { // If this flag appears in the offset, it indicates a key that is smaller // than any other entry for the same column family - static const size_t kFlagMin = std::numeric_limits::max(); + static const size_t kFlagMin = port::kMaxSizet; size_t offset; // offset of an entry in write batch's string buffer. uint32_t column_family; // column family of the entry