Comment 9 for bug 1314854

Revision history for this message
Przemek (pmalkowski) wrote :

This problem happens for a tables with single varchar PK or UK, or PK+UK, but does not happen when there is single int auto_increment PK. Happens again with auto_increment PK + UK on another varchar column, for example:

CREATE TABLE `tbl_0` (
  `reg_name` varchar(127) NOT NULL,
  `reg_key` varchar(64) NOT NULL DEFAULT '',
  `reg_secret` varchar(128) NOT NULL,
  `description` varchar(255) DEFAULT NULL,
  `reg_status` varchar(16) NOT NULL,
  `user_id` varchar(255) NOT NULL,
  `owner_id` varchar(64) DEFAULT NULL,
  `id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
-- no deadlocks

CREATE TABLE `tbl_0` (
  `reg_name` varchar(127) NOT NULL,
  `reg_key` varchar(64) NOT NULL DEFAULT '',
  `reg_secret` varchar(128) NOT NULL,
  `description` varchar(255) DEFAULT NULL,
  `reg_status` varchar(16) NOT NULL,
  `user_id` varchar(255) NOT NULL,
  `owner_id` varchar(64) DEFAULT NULL,
  `id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`),
  UNIQUE KEY `reg_key` (`reg_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
-- deadlocks