• Mattias Jonsson's avatar
    Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work · c6115db4
    Mattias Jonsson authored
    on non-partitioned table
    
    Problem was that partitioning specific commands was accepted
    for non partitioned tables and treated like
    ANALYZE/CHECK/OPTIMIZE/REPAIR TABLE, after bug-20129 was fixed,
    which changed the code path from mysql_alter_table to
    mysql_admin_table.
    
    Solution was to check if the table was partitioned before
    trying to execute the admin command
    
    mysql-test/r/partition_mgm_err.result:
      Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work
      on non-partitioned table
      
      Updated test result
    mysql-test/t/partition_mgm_err.test:
      Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work
      on non-partitioned table
      
      Updated test case
    sql/ha_partition.cc:
      Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work
      on non-partitioned table
      
      Simplified the code by using ALTER_ADMIN_PARTITION for all
      commands that go through mysql_admin_tables and is set
      for partitioning specific commands that.
    sql/ha_partition.h:
      Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work
      on non-partitioned table
      
      Simplified the code by using ALTER_ADMIN_PARTITION for all
      commands that go through mysql_admin_tables and is set
      for partitioning specific commands that.
    sql/sql_lex.h:
      Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work
      on non-partitioned table
      
      Simplified the code by using ALTER_ADMIN_PARTITION for all
      commands that go through mysql_admin_tables and is set
      for partitioning specific commands that.
      
      Removed ALTER_ANALYZE/CHECK/OPTIMIZE/REPAIR_PARTITION and
      added ALTER_ADMIN_PARTITION instead.
    sql/sql_partition.cc:
      Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work
      on non-partitioned table
      
      Simplified the code by using ALTER_ADMIN_PARTITION for all
      commands that go through mysql_admin_tables and is set
      for partitioning specific commands that.
      
      Removed ALTER_ANALYZE/CHECK/OPTIMIZE/REPAIR_PARTITION and
      added ALTER_ADMIN_PARTITION instead.
    sql/sql_table.cc:
      Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work
      on non-partitioned table
      
      Give error and return if trying partitioning admin command
      on non partitioned table.
      
      Simplified the code by using ALTER_ADMIN_PARTITION for all
      commands that go through mysql_admin_tables and is set
      for partitioning specific commands that.
      
      Removed ALTER_ANALYZE/CHECK/OPTIMIZE/REPAIR_PARTITION and
      added ALTER_ADMIN_PARTITION instead.
    sql/sql_yacc.yy:
      Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work
      on non-partitioned table
      
      Simplified the code by using ALTER_ADMIN_PARTITION for all
      commands that go through mysql_admin_tables and is set
      for partitioning specific commands that.
      
      Removed ALTER_ANALYZE/CHECK/OPTIMIZE/REPAIR_PARTITION and
      added ALTER_ADMIN_PARTITION instead.
    c6115db4
sql_yacc.yy 398 KB