From 489a3e95d4a002bde63566778f248af320f28a92 Mon Sep 17 00:00:00 2001 From: Dmitri Smirnov Date: Tue, 22 Sep 2015 10:34:21 -0700 Subject: [PATCH] Re-work to support size_t max constant for 32/64-bit. --- port/port_posix.h | 1 + port/win/port_win.h | 7 +++++++ .../write_batch_with_index_internal.h | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) 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 f3ccf40ae..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 @@ -31,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 = port::kMaxUint64; + 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