forked from facebook/mysql-5.6
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixing index_merge query returning wrong results (facebook#624) (face…
…book#626) [non-RocksDB part] Summary: This diff fixed MyRocks returning missing rows if index merge query plan was used. When index merge is selected, table->read_map is cleared at QUICK_RANGE_SELECT::init_ror_merged_scan(). Then ha_rocksdb::setup_read_decoders() wrongly decided not to decode all fields, which made MySQL layer decide that keys did not match. This diff changes ha_rocksdb::setup_read_decoders() to always decode if read_map is cleared. A side effect is decoding all fetched fields on index merge. There is a slight performance penalty but much better than returning wrong results. This diff reuses index_merge_ror.inc and index_merge_2sweeps.inc test cases for MyRocks. Since MyRocks query plan is less stable than InnoDB, it skips using explain and just verifies data correctness. Closes facebook#626 Differential Revision: D5088547 Pulled By: yoshinorim
- Loading branch information
1 parent
186aee6
commit af64320
Showing
2 changed files
with
62 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters