From 13c7839ba72d7b88767dbb016e8d60114e49c377 Mon Sep 17 00:00:00 2001 From: Sergei Petrunia Date: Tue, 24 Jan 2017 21:51:57 +0300 Subject: [PATCH] MariaRocks port: Fix for the previous cset (MariaRocks port: put back the assert) - Put back the assert on SQL layer at the right location - Adjust rdb_pack_with_make_sort_key to work around the assert (like it is done at other palaces): MyRocks may need to pack a column value even when the column is not in the read set. --- sql/field.cc | 2 +- storage/rocksdb/rdb_datadic.cc | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/sql/field.cc b/sql/field.cc index df058fa61a5..262252e9787 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -8721,13 +8721,13 @@ int Field_enum::store(longlong nr, bool unsigned_val) double Field_enum::val_real(void) { - ASSERT_COLUMN_MARKED_FOR_READ; return (double) Field_enum::val_int(); } longlong Field_enum::val_int(void) { + ASSERT_COLUMN_MARKED_FOR_READ; return read_lowendian(ptr, packlength); } diff --git a/storage/rocksdb/rdb_datadic.cc b/storage/rocksdb/rdb_datadic.cc index 22ad49898f3..9d917b8dd62 100644 --- a/storage/rocksdb/rdb_datadic.cc +++ b/storage/rocksdb/rdb_datadic.cc @@ -749,7 +749,12 @@ void rdb_pack_with_make_sort_key(Rdb_field_packing* const fpi, DBUG_ASSERT(*dst != nullptr); const int max_len= fpi->m_max_image_len; + my_bitmap_map *old_map; + + old_map= dbug_tmp_use_all_columns(field->table, + field->table->read_set); field->sort_string(*dst, max_len); + dbug_tmp_restore_column_map(field->table->read_set, old_map); *dst += max_len; }