Bug #19495 default-storeage-engine=ndb causes tables by other engines to be partitioned
Submitted: 2 May 2006 21:39 Modified: 10 May 2006 14:44
Reporter: Jonathan Miller Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Partitions Severity:S2 (Serious)
Version:5.1.10 OS:Linux (Linux 32 Bit OS)
Assigned to: Assigned Account CPU Architecture:Any

[2 May 2006 21:39] Jonathan Miller
Description:
When running tests that contain engine=memory or engine=myisam and the default engine is set to be ndb, the tables created are PARTITION BY KEY () even if no partitoning was specified.

*** r/rpl_multi_engine.result   2006-05-01 20:45:39.000000000 +0300
--- r/rpl_multi_engine.reject   2006-05-02 15:58:15.000000000 +0300
***************
*** 25,31 ****
    `y` year(4) DEFAULT NULL,
    `t` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)
! ) ENGINE=MyISAM DEFAULT CHARSET=latin1
 -- 25,31 ----
 CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)
! ) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY KEY ()
 
  PRIMARY KEY (`id`)
! ) ENGINE=InnoDB DEFAULT CHARSET=latin1
 -- 74,80 ----
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY KEY ()

! ) ENGINE=MEMORY DEFAULT CHARSET=latin1
 --- 108,114 ----
  ) ENGINE=MEMORY DEFAULT CHARSET=latin1 PARTITION BY KEY ()

How to repeat:
./mysql-test-run.pl --do-test=rpl_multi_engine --force --mysqld=--default-storage-engine=ndb --with-ndbcluster-all

Suggested fix:
tables should not be partitioned when partition is not part of the create statement
[10 May 2006 14:44] Mikael Ronström
This behaviour is fixed by the fix for BUG #19010
If a table is auto-partitioned then the table will be partitioned, but the state that the
table is auto-partitioned is remembered. However add/drop/coalesce/reorganize of
partitions will drop the auto partition state.