[umshastr@hod03]/export/umesh/server/source/bugs/82968: md5sum mysql-boost-5.7.15.tar.gz 21112d90f83987e731cb0ea02cd5f517 mysql-boost-5.7.15.tar.gz [umshastr@hod03]/export/umesh/server/source/bugs/82968: tar -zxvf mysql-boost-5.7.15.tar.gz # Appied patch mdev10790-mysql-5.7.diff [umshastr@hod03]/export/umesh/server/source/bugs/82968/mysql-5.7.15/575_82969: cmake . -DWITH_DEBUG=ON -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost -DCMAKE_INSTALL_PREFIX=/export/umesh/server/source/bugs/82968/mysql-5.7.15/575_82969/575_82969 [umshastr@hod03]/export/umesh/server/source/bugs/82968/mysql-5.7.15/575_82969: make -j32 [umshastr@hod03]/export/umesh/server/source/bugs/82968/mysql-5.7.15/575_82969: make install [umshastr@hod03]/export/umesh/server/source/bugs/82968/mysql-5.7.15/575_82969: cd 575_82969/ rm -rf 82953 bin/mysqld --initialize-insecure --basedir=/export/umesh/server/source/bugs/82968/mysql-5.7.15/575_82969 --datadir=/export/umesh/server/source/bugs/82968/mysql-5.7.15/575_82969/82953 -v bin/mysqld --basedir=/export/umesh/server/source/bugs/82968/mysql-5.7.15/575_82969 --datadir=/export/umesh/server/source/bugs/82968/mysql-5.7.15/575_82969/82953 --core-file --socket=/tmp/mysql_ushastry.sock --port=3306 --log-error=/export/umesh/server/source/bugs/82968/mysql-5.7.15/575_82969/82953/log.err 2>&1 & -- [umshastr@hod03]/export/umesh/server/source/bugs/82968/mysql-5.7.15/575_82969: bin/mysql -uroot -S /tmp/mysql_ushastry.sock Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.15-debug Source distribution Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database test; Query OK, 1 row affected (0.00 sec) mysql> use test; Database changed mysql> create table ten(a int) engine=myisam; Query OK, 0 rows affected (0.00 sec) mysql> insert into ten values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); Query OK, 10 rows affected (0.00 sec) Records: 10 Duplicates: 0 Warnings: 0 mysql> create table one_k(a int) engine=myisam; Query OK, 0 rows affected (0.00 sec) mysql> insert into one_k select A.a + B.a* 10 + C.a * 100 from ten A, ten B, ten C; Query OK, 1000 rows affected (0.01 sec) Records: 1000 Duplicates: 0 Warnings: 0 mysql> create table t0 (a int) engine=myisam; Query OK, 0 rows affected (0.00 sec) mysql> insert into t0 values (1),(2),(3); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> create table t1 ( -> pk int primary key, -> col1 int not null, -> col2 int not null, -> key(col1) -> ) engine= innodb; Query OK, 0 rows affected (0.01 sec) mysql> insert into t1 select a,a,a from one_k; Query OK, 1000 rows affected (0.13 sec) Records: 1000 Duplicates: 0 Warnings: 0 mysql> analyze table t1; +---------+---------+----------+----------+ | Table | Op | Msg_type | Msg_text | +---------+---------+----------+----------+ | test.t1 | analyze | status | OK | +---------+---------+----------+----------+ 1 row in set (0.01 sec) mysql> explain select * from t0, t1 where t1.col1=t0.a; +----+-------------+-------+------------+------+---------------+------+---------+-----------+------+----------+-------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+-------+------------+------+---------------+------+---------+-----------+------+----------+-------------+ | 1 | SIMPLE | t0 | NULL | ALL | NULL | NULL | NULL | NULL | 3 | 100.00 | Using where | | 1 | SIMPLE | t1 | NULL | ref | col1 | col1 | 4 | test.t0.a | 1 | 100.00 | NULL | +----+-------------+-------+------------+------+---------------+------+---------+-----------+------+----------+-------------+ 2 rows in set, 1 warning (0.00 sec) mysql> show warnings; +-------+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Level | Code | Message | +-------+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Note | 1003 | /* select#1 */ select `test`.`t0`.`a` AS `a`,`test`.`t1`.`pk` AS `pk`,`test`.`t1`.`col1` AS `col1`,`test`.`t1`.`col2` AS `col2` from `test`.`t0` join `test`.`t1` where (`test`.`t1`.`col1` = `test`.`t0`.`a`) | +-------+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> system touch /tmp/dict_stats_analyze_index_must_stop mysql> mysql> insert into t1 select 5000+pk,5000+col1, 5000+col2 from t1 limit 2000; Query OK, 1000 rows affected (0.18 sec) Records: 1000 Duplicates: 0 Warnings: 0 mysql> flush tables; Query OK, 0 rows affected (0.00 sec) mysql> explain select * from t0, t1 where t1.col1=t0.a; +----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+----------------------------------------------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+----------------------------------------------------+ | 1 | SIMPLE | t0 | NULL | ALL | NULL | NULL | NULL | NULL | 3 | 100.00 | NULL | | 1 | SIMPLE | t1 | NULL | ALL | col1 | NULL | NULL | NULL | 2000 | 100.00 | Using where; Using join buffer (Block Nested Loop) | +----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+----------------------------------------------------+ 2 rows in set, 1 warning (0.01 sec) mysql> system rm /tmp/dict_stats_analyze_index_must_stop mysql> flush tables; Query OK, 0 rows affected (0.00 sec) mysql> explain select * from t0, t1 where t1.col1=t0.a; +----+-------------+-------+------------+------+---------------+------+---------+-----------+------+----------+-------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+-------+------------+------+---------------+------+---------+-----------+------+----------+-------------+ | 1 | SIMPLE | t0 | NULL | ALL | NULL | NULL | NULL | NULL | 3 | 100.00 | Using where | | 1 | SIMPLE | t1 | NULL | ref | col1 | col1 | 4 | test.t0.a | 1 | 100.00 | NULL | +----+-------------+-------+------------+------+---------------+------+---------+-----------+------+----------+-------------+ 2 rows in set, 1 warning (0.01 sec) mysql> -- excerpts from error log [umshastr@hod03]/export/umesh/server/source/bugs/82968/mysql-5.7.15/575_82969: tail -f 82953/log.err 2016-09-14T04:49:40.729634Z 0 [Note] bin/mysqld: ready for connections. Version: '5.7.15-debug' socket: '/tmp/mysql_ushastry.sock' port: 3306 Source distribution AAA: ha_innobase::info_low recalculates rec_per_key AAA: dict_stats_analyze_index: continuing for col1 AAA: dict_stats_analyze_index: continuing for col1 AAA: dict_stats_analyze_index: continuing for col1 AAA: ha_innobase::info_low recalculates rec_per_key AAA: ha_innobase::info_low recalculates rec_per_key AAA: ha_innobase::info_low recalculates rec_per_key AAA: dict_stats_analyze_index called dict_stats_empty_index for col1 AAA: ha_innobase::info_low recalculates rec_per_key AAA: dict_stats_analyze_index: continuing for col1 AAA: dict_stats_analyze_index: continuing for col1 AAA: ha_innobase::info_low recalculates rec_per_key