• unknown's avatar
    Bug#31931 Partitions: unjustified 'mix of handlers' error message · d84a0e5c
    unknown authored
    Problem was that the mix of handlers was not consistent between
    CREATE and ALTER
    
    changed so that it works like:
        - All partitions must use the same engine
          AND it must be the same as the table.
        - if one does NOT specify an engine on the table level
          then one must either NOT specify any engine on any
          partition/subpartition OR for ALL partitions/subpartitions
    
    Note: that after a table have been created, the storage engine
    is specified for all parts of the table (table/partition/subpartition)
    and so when using alter, one does not need to specify it (unless one
    wants to change the storage engine, then one have to specify it on the
    table level)
    
    
    mysql-test/r/partition.result:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      test result updated
    mysql-test/r/partition_innodb.result:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      test result updated
    mysql-test/suite/ndb/r/ndb_partition_key.result:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      test result updated
    mysql-test/suite/ndb/t/ndb_partition_key.test:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      test case update
    mysql-test/suite/parts/inc/partition_engine.inc:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      test case updated
    mysql-test/suite/parts/r/ndb_partition_key.result:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      test result updated
    mysql-test/suite/parts/r/partition_engine_innodb.result:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      test result updated
    mysql-test/suite/parts/r/partition_engine_myisam.result:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      test result updated
    mysql-test/suite/parts/t/ndb_partition_key.test:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      test case updated
    mysql-test/t/partition.test:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      test case updated
    mysql-test/t/partition_innodb.test:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      test case updated
    sql/partition_info.cc:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      moved the check_engine_condition here from sql_partition.cc
      created a new check_engine_mix from check_native_partitioned in
      sql_partition.cc
    sql/partition_info.h:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      non static function check_engine_mix (now used in sql_partition.cc)
    sql/sql_partition.cc:
      Bug#31931 Partitions: unjustified 'mix of handlers' error message
      moved check_engine_condition to partition_info.cc and moved out some
      common code in check_native_partitioned to check_engine_mix in
      partition_info.cc
    d84a0e5c
sql_partition.cc 236 KB