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

mariadb-check does not return warning for incorrect sequence with engine InnoDB

Details

    Description

      mariadb-check does not return warning for incorrect sequence (has two recods) with engine InnoDB

      Create table with engine InnoDB and convert it into sequence:

      CREATE TABLE `s1` (
        `next_not_cached_value` bigint(21) NOT NULL,
        `minimum_value` bigint(21) NOT NULL,
        `maximum_value` bigint(21) NOT NULL,
        `start_value` bigint(21) NOT NULL COMMENT 'start value when sequences is created or value if RESTART is used',
        `increment` bigint(21) NOT NULL COMMENT 'increment value',
        `cache_size` bigint(21) unsigned NOT NULL,
        `cycle_option` tinyint(1) unsigned NOT NULL COMMENT '0 if no cycles are allowed, 1 if the sequence should begin a new cycle when maximum_value is passed',
        `cycle_count` bigint(21) NOT NULL COMMENT 'How many cycles have been done'
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
       
      insert into s1 values (1,1,9223372036854775806,1,1,1000,0,0);
      insert into s1 values (2,1,9223372036854775806,1,1,1000,0,0);
       
      alter table s1 sequence=1;
      

      MariaDB [test]> select * from s1;
      +-----------------------+---------------+---------------------+-------------+-----------+------------+--------------+-------------+
      | next_not_cached_value | minimum_value | maximum_value       | start_value | increment | cache_size | cycle_option | cycle_count |
      +-----------------------+---------------+---------------------+-------------+-----------+------------+--------------+-------------+
      |                     1 |             1 | 9223372036854775806 |           1 |         1 |       1000 |            0 |           0 |
      +-----------------------+---------------+---------------------+-------------+-----------+------------+--------------+-------------+
      1 row in set (0,002 sec)
      

      mariadb-check does not show any warnings

      mariadb-check --databases test 
      test.s1                                            OK
      

      If you change the type from sequence to table, you can see that the table still has two records:

      MariaDB [test]> alter table s1 sequence=0;
      Query OK, 0 rows affected (0,003 sec)
      Records: 0  Duplicates: 0  Warnings: 0
       
      MariaDB [test]> select * from s1;
      +-----------------------+---------------+---------------------+-------------+-----------+------------+--------------+-------------+
      | next_not_cached_value | minimum_value | maximum_value       | start_value | increment | cache_size | cycle_option | cycle_count |
      +-----------------------+---------------+---------------------+-------------+-----------+------------+--------------+-------------+
      |                     1 |             1 | 9223372036854775806 |           1 |         1 |       1000 |            0 |           0 |
      |                     2 |             1 | 9223372036854775806 |           1 |         1 |       1000 |            0 |           0 |
      +-----------------------+---------------+---------------------+-------------+-----------+------------+--------------+-------------+
      2 rows in set (0,003 sec)
      

      In a similar situation for Aria and MyISAM warning is shown:

      MariaDB [test]> select TABLE_NAME, TABLE_TYPE , ENGINE  from information_schema.tables where table_schema='test';
      +------------+------------+--------+
      | TABLE_NAME | TABLE_TYPE | ENGINE |
      +------------+------------+--------+
      | s1         | SEQUENCE   | InnoDB |
      | s2         | SEQUENCE   | MyISAM |
      +------------+------------+--------+
      

      mariadb-check --databases test 
      test.s1                                            OK
      test.s2
      Warning  : More than one row in the table
      status   : OK
      

      Attachments

        Issue Links

          Activity

            People

              ycp Yuchen Pei
              lstartseva Lena Startseva
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.