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

Always print "Engine-independent statistic" warnings and might be filtering columns unintentionally from engines

    XMLWordPrintable

    Details

    • Sprint:
      10.1.13

      Description

      Warnings like "Engine-independent statistics are not collected for column 'test'" are always printed even the the Engine-independent statistics are not to be updated.

      Demonstration

      (root@localhost) [(none)]> create database testdatabase;
      Query OK, 1 row affected (0.01 sec)
       
      (root@localhost) [(none)]> use testdatabase;
      Database changed
       
      (root@localhost) [testdatabase]> create table simple (test blob);     
      Query OK, 0 rows affected (0.02 sec)
       
      (root@localhost) [testdatabase]> show variables like 'use_stat_tables';
      +-----------------+-------+
      | Variable_name   | Value |
      +-----------------+-------+
      | use_stat_tables | NEVER |
      +-----------------+-------+
      1 row in set (0.00 sec)
       
      (root@localhost) [testdatabase]> analyze table simple; 
      +---------------------+---------+----------+-------------------------------------------------------------------+
      | Table               | Op      | Msg_type | Msg_text                                                          |
      +---------------------+---------+----------+-------------------------------------------------------------------+
      | testdatabase.simple | analyze | Warning  | Engine-independent statistics are not collected for column 'test' |
      | testdatabase.simple | analyze | status   | OK                                                                |
      +---------------------+---------+----------+-------------------------------------------------------------------+
      2 rows in set (0.00 sec)

      The warning should not occur when neither PERSISTENT-clause nor use_stat_tables is set.

      I think this recent patch created this problem:
      https://github.com/MariaDB/server/commit/825f51d1aab51d363dc07ec9fe0829af33063883

      Later in the same function the clause of:

      (get_use_stat_tables_mode(thd) > NEVER || 
               lex->with_persistent_for_clause)

      is used.

      I would suggest this should be wrapped around the patch as well so the warning does not appear.

      Also - is the patch actually also filtering columns for the engines themselves? — if so I guess it shouldn't do that either?!

      While at it — maybe the should string "Engine-independent statistics collected" should also be internationalized?

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              sanja Oleksandr Byelkin
              Reporter:
              jkkn Kristian Kræmmer Nielsen
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration