Проблема с партицированием по ENUM

TerminusMKB

Новичок
Проблема с партицированием по ENUM

День добрый всем!

Не сталкивался ли кто с партицированием по ENUM полю?
Беда в том, что скуль при выполнении соответствующего ALTER запроса выкидывает ошибку: "The PARTITION function returns the wrong type"

Такая же проблема описана здесь: http://bugs.mysql.com/bug.php?id=39548
Однако в версии 5.1.43 указанный фикс не сработал :(

Исходные данные следующие:

PHP:
CREATE TABLE `accounts_index` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `type` enum('client','agent') NOT NULL DEFAULT 'client',
  PRIMARY KEY (`id`),
  KEY `type` (`type`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
Запрос на преобразование:

PHP:
ALTER TABLE `accounts_index` PARTITION BY LIST(`type`)
PARTITIONS 2
(
  PARTITION `p0` VALUES IN (1) ,
  PARTITION `p1` VALUES IN (2)
) ;
По инету старательно искал, решения не нашел :((
 

fixxxer

К.О.
Партнер клуба
ну поменяй на int, делов то. ;)

а в данном случае вообще не понимаю зачем партишенинг - проще две таблицы сделать самому
 

TerminusMKB

Новичок
ENUM нужен :)

Таблица приведена для теста, на самом деле там полтора десятка полей, разделение делается, чтобы при необходимости работать с обеими таблицами как с одной. В то же время, большую часть времени к таблицам целесообразно будет обнащаться отдельно. В общем, надо :)

Правда, я кажется нашел инфу, что разбиение по ENUM невозможно в принципе :(
 
Сверху