<pre style='margin:0'>
Andrew Stromnov (stromnov) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/be4f437ea98605d6d311a45b6c72dadbeca60578">https://github.com/macports/macports-ports/commit/be4f437ea98605d6d311a45b6c72dadbeca60578</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit be4f437ea98605d6d311a45b6c72dadbeca60578
</span>Author: Andrey Stromnov <stromnov@macports.org>
AuthorDate: Fri Oct 9 11:55:25 2020 +0300
<span style='display:block; white-space:pre;color:#404040;'> rocksdb: update to 6.11.4
</span>---
databases/rocksdb/Portfile | 19 ++-
databases/rocksdb/files/patch-9cc25190e.diff | 214 +++++++++++++++++++++++++++
2 files changed, 226 insertions(+), 7 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/rocksdb/Portfile b/databases/rocksdb/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6f99dd194a2..d2e3f3287aa 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/rocksdb/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/rocksdb/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,7 +3,7 @@
</span> PortSystem 1.0
PortGroup github 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup facebook rocksdb 5.14.3 rocksdb-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup facebook rocksdb 6.11.4 v
</span>
revision 0
categories databases devel
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -17,21 +17,26 @@ long_description {*}${description}
</span>
homepage http://rocksdb.org/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 c13201c5cbbab777f365eeeee4e862ebcf95eb14 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 8ec6d1d1c268a73ae9a276c88fb638a6b4d02126ec280b73d45393723457e049 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 4688041
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 839746d82c8222b3fdc11002595463805744705a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 491ade5445faace9368f3690568b43ca6c7f26f0687aa53b09d1eb38a193fa62 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 6211022
</span>
depends_lib-append port:gflags \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:snappy \
</span> port:zlib \
port:bzip2 \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:zstd \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:snappy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:lz4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:zstd
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-Makefile.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-Makefile.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-9cc25190e.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2011
</span>
use_configure no
variant universal {}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> build.env CC=${configure.cc} \
CXX=${configure.cxx} \
CFLAGS=[get_canonical_archflags cc] \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/rocksdb/files/patch-9cc25190e.diff b/databases/rocksdb/files/patch-9cc25190e.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..13e3c65ae23
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/rocksdb/files/patch-9cc25190e.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,214 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 9cc25190e1ba6fc66bbd0d47caaf043d75839b6f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: sdong <siying.d@fb.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 24 Jun 2020 16:20:55 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Test CircleCI with CLANG-10 (#7025)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Summary:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It's useful to build RocksDB using a more recent clang version in CI. Add a CircleCI build and fix some issues with it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Pull Request resolved: https://github.com/facebook/rocksdb/pull/7025
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Test Plan: See all tests pass.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Reviewed By: pdillinger
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Differential Revision: D22215700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fbshipit-source-id: 914a729c2cd3f3ac4a627cc0ac58d4691dca2168
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .circleci/config.yml | 15 +++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ db/db_iter_stress_test.cc | 11 +++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ db/db_options_test.cc | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ env/env_test.cc | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ options/options_helper.cc | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ table/table_test.cc | 10 +++++-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tools/ldb_cmd_test.cc | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 7 files changed, 33 insertions(+), 15 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/.circleci/config.yml b/.circleci/config.yml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a6a7f879d3..a2408facd2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- .circleci/config.yml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ .circleci/config.yml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -57,6 +57,18 @@ jobs:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - run: sudo apt-get install -y clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - run: CC=clang CXX=clang++ USE_CLANG=1 PORTABLE=1 make all -j32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ build-linux-clang10-no-test:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ machine:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ image: ubuntu-1604:201903-01
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ resource_class: 2xlarge
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ steps:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ - checkout # check out the code in the project directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ - run: sudo sh -c 'echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" >> /etc/apt/sources.list'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ - run: sudo sh -c 'echo "deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" >> /etc/apt/sources.list'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ - run: sudo apt-get update -y
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ - run: sudo apt-get install -y clang-10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ - run: CC=clang-10 CXX=clang++-10 ROCKSDB_DISABLE_ALIGNED_NEW=1 USE_CLANG=1 make all -j32 # aligned new doesn't work for reason we haven't figured out
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build-linux-cmake:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ machine:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ image: ubuntu-1604:201903-01
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -125,6 +137,9 @@ workflows:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build-linux-clang-no-test:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ jobs:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - build-linux-clang-no-test
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ build-linux-clang10-no-test:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ jobs:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ - build-linux-clang10-no-test
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build-linux-cmake:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ jobs:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - build-linux-cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/db/db_iter_stress_test.cc b/db/db_iter_stress_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 57cd9866e4..484bb0b45a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- db/db_iter_stress_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ db/db_iter_stress_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -97,7 +97,8 @@ struct StressTestIterator : public InternalIterator {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool MaybeFail() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (rnd->Next() >=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- std::numeric_limits<uint64_t>::max() * error_probability) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ static_cast<double>(std::numeric_limits<uint64_t>::max()) *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ error_probability) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (rnd->Next() % 2) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -114,7 +115,8 @@ struct StressTestIterator : public InternalIterator {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void MaybeMutate() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (rnd->Next() >=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- std::numeric_limits<uint64_t>::max() * mutation_probability) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ static_cast<double>(std::numeric_limits<uint64_t>::max()) *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mutation_probability) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ do {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -126,8 +128,9 @@ struct StressTestIterator : public InternalIterator {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (data->hidden.empty()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hide_probability = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool do_hide =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- rnd->Next() < std::numeric_limits<uint64_t>::max() * hide_probability;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool do_hide = rnd->Next() <
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ static_cast<double>(std::numeric_limits<uint64_t>::max()) *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ hide_probability;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (do_hide) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Hide a random entry.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t idx = rnd->Next() % data->entries.size();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/db/db_options_test.cc b/db/db_options_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cc91824611..8cc09ec546 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- db/db_options_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ db/db_options_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -39,7 +39,7 @@ class DBOptionsTest : public DBTestBase {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::unordered_map<std::string, std::string> options_map;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ StringToMap(options_str, &options_map);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::unordered_map<std::string, std::string> mutable_map;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for (const auto opt : db_options_type_info) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (const auto& opt : db_options_type_info) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (opt.second.IsMutable() && opt.second.ShouldSerialize()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mutable_map[opt.first] = options_map[opt.first];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -57,7 +57,7 @@ class DBOptionsTest : public DBTestBase {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::unordered_map<std::string, std::string> options_map;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ StringToMap(options_str, &options_map);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::unordered_map<std::string, std::string> mutable_map;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for (const auto opt : cf_options_type_info) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (const auto& opt : cf_options_type_info) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (opt.second.IsMutable() && opt.second.ShouldSerialize()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mutable_map[opt.first] = options_map[opt.first];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/env/env_test.cc b/env/env_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d62f69192e..e3bc7141b6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- env/env_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ env/env_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1120,7 +1120,7 @@ TEST_P(EnvPosixTestWithParam, RandomAccessUniqueIDConcurrent) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Collect and check whether the IDs are unique.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::unordered_set<std::string> ids;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for (const std::string fname : fnames) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (const std::string& fname : fnames) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::unique_ptr<RandomAccessFile> file;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::string unique_id;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASSERT_OK(env_->NewRandomAccessFile(fname, &file, soptions));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1134,7 +1134,7 @@ TEST_P(EnvPosixTestWithParam, RandomAccessUniqueIDConcurrent) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Delete the files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for (const std::string fname : fnames) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (const std::string& fname : fnames) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASSERT_OK(env_->DeleteFile(fname));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/options/options_helper.cc b/options/options_helper.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b01d389a40..396a829789 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- options/options_helper.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ options/options_helper.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -656,7 +656,7 @@ Status GetStringFromStruct(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::string* opt_string) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ assert(opt_string);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ opt_string->clear();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for (const auto iter : type_info) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (const auto& iter : type_info) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const auto& opt_info = iter.second;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // If the option is no longer used in rocksdb and marked as deprecated,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // we skip it in the serialization.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/table/table_test.cc b/table/table_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 589b48788f..5899ae945c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- table/table_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ table/table_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -228,7 +228,7 @@ class BlockConstructor: public Constructor {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ block_ = nullptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BlockBuilder builder(table_options.block_restart_interval);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for (const auto kv : kv_map) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (const auto& kv : kv_map) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ builder.Add(kv.first, kv.second);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Open the block
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -352,7 +352,7 @@ class TableConstructor: public Constructor {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ TablePropertiesCollectorFactory::Context::kUnknownColumnFamily,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file_writer_.get()));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for (const auto kv : kv_map) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (const auto& kv : kv_map) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (convert_to_internal_key_) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ParsedInternalKey ikey(kv.first, kMaxSequenceNumber, kTypeValue);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::string encoded;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -487,7 +487,7 @@ class MemTableConstructor: public Constructor {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ kMaxSequenceNumber, 0 /* column_family_id */);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ memtable_->Ref();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int seq = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for (const auto kv : kv_map) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (const auto& kv : kv_map) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ memtable_->Add(seq, kTypeValue, kv.first, kv.second);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ seq++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -548,7 +548,7 @@ class DBConstructor: public Constructor {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete db_;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ db_ = nullptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NewDB();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for (const auto kv : kv_map) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (const auto& kv : kv_map) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ WriteBatch batch;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ batch.Put(kv.first, kv.second);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EXPECT_TRUE(db_->Write(WriteOptions(), &batch).ok());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1226,7 +1226,7 @@ class FileChecksumTestHelper {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Status WriteKVAndFlushTable() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for (const auto kv : kv_map_) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (const auto& kv : kv_map_) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (convert_to_internal_key_) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ParsedInternalKey ikey(kv.first, kMaxSequenceNumber, kTypeValue);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::string encoded;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/tools/ldb_cmd_test.cc b/tools/ldb_cmd_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e485ab551c..69f7f82739 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/ldb_cmd_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/ldb_cmd_test.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -76,7 +76,7 @@ TEST_F(LdbCmdTest, HexToStringBadInputs) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const vector<string> badInputs = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "0xZZ", "123", "0xx5", "0x111G", "0x123", "Ox12", "0xT", "0x1Q1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for (const auto badInput : badInputs) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (const auto& badInput : badInputs) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ try {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ROCKSDB_NAMESPACE::LDBCommand::HexToString(badInput);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::cerr << "Should fail on bad hex value: " << badInput << "\n";
</span></pre><pre style='margin:0'>
</pre>