Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-8633

information_schema.index_statistics doesn't delete item when drop table indexes or drop table;

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.5, 10.0
    • Fix Version/s: 10.0.26
    • Component/s: Plugins
    • Labels:
    • Environment:
      CentOS 6.2,
      Distrib 10.0.14-MariaDB ,
       x86_64
    • Sprint:
      10.0.25, 10.0.26

      Description

      set global userstat=1;
      create table just_a_test(id int,first_name varchar(10),last_name varchar(10),address varchar(100),phone bigint,email varchar(30)) engine =innodb;
      insert into just_a_test values(1,'fa','la','china_a',11111111,'fa_la@163.com'),
      (2,'fb','lb','china_b',22222222,'fb_lb@163.com'),
      (3,'fc','lc','china_c',33333333,'fc_lc@163.com'),
      (4,'fd','ld','china_d',44444444,'fd_ld@163.com'),
      (5,'fe','le','china_e',55555555,'fe_le@163.com');
      alter table just_a_test add primary key (id);
      alter table just_a_test add key IND_just_a_test_first_name_last_name(first_name,last_name);

      select * from information_schema.index_statistics;
      # Empty set (0.00 sec)
       
      select count(*) from just_a_test where first_name='fc' and last_name='lc';
      # +----------+
      # | count(*) |
      # +----------+
      # |        1 |
      # +----------+
      # 1 row in set (0.03 sec)
       
      select * from information_schema.index_statistics;
      # +--------------+-------------+--------------------------------------+-----------+
      # | TABLE_SCHEMA | TABLE_NAME  | INDEX_NAME                           | ROWS_READ |
      # +--------------+-------------+--------------------------------------+-----------+
      # | test         | just_a_test | IND_just_a_test_first_name_last_name |         1 |
      # +--------------+-------------+--------------------------------------+-----------+

      Step X

      alter table just_a_test drop key IND_just_a_test_first_name_last_name;
       
      select * from information_schema.index_statistics where table_schema='test' and table_name='just_a_test';
      # +--------------+-------------+--------------------------------------+-----------+
      # | TABLE_SCHEMA | TABLE_NAME  | INDEX_NAME                           | ROWS_READ |
      # +--------------+-------------+--------------------------------------+-----------+
      # | test         | just_a_test | IND_just_a_test_first_name_last_name |         1 |
      # +--------------+-------------+--------------------------------------+-----------+
      # 1 row in set (0.00 sec)

      Step Y

      drop table test.just_a_test;
       
      select * from information_schema.index_statistics where table_schema='test' and table_name='just_a_test';
      # +--------------+-------------+--------------------------------------+-----------+
      # | TABLE_SCHEMA | TABLE_NAME  | INDEX_NAME                           | ROWS_READ |
      # +--------------+-------------+--------------------------------------+-----------+
      # | test         | just_a_test | IND_just_a_test_first_name_last_name |         1 |
      # +--------------+-------------+--------------------------------------+-----------+
      # 1 row in set (0.00 sec)

      Why could step X show informations about index that couldn't existed?
      Why could step Y show informations about table that couldn't existed?

        Attachments

          Activity

            People

            • Assignee:
              jplindst Jan Lindström
              Reporter:
              QFY QFY
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: