Offsets incorrecty determined for COMPAT format
Bug #517063 reported by
Aleksandr Kuzminsky
This bug report is a duplicate of:
Bug #624460: the tool can't handle string types CHAR(X) encoded in UTF-8.
Edit
Remove
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Data Recovery Tool for InnoDB |
Confirmed
|
High
|
Aleksandr Kuzminsky |
Bug Description
Table
CREATE TABLE `log_system_system` (
`logid` int(11) NOT NULL AUTO_INCREMENT,
`logtype` varchar(20) DEFAULT NULL,
`logmodule` varchar(100) NOT NULL DEFAULT '',
`logseverity` char(1) NOT NULL DEFAULT '4',
`logsummary` varchar(250) NOT NULL,
`logmsg` text NOT NULL,
`logdate` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`logid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
TEXT field logmsg is longer than 255 bytes, thus needs 2 bytes offsets.
The rest of offsets are one byte:
Offset in HEX: 70 86 1F 01 00 03
The tool reports incorrect values: OFFSETS: 0 4 10 17 20 20 21 22 53
Changed in percona-innodb-recovery-tool: | |
importance: | Undecided → High |
milestone: | none → release-0.5 |
assignee: | nobody → Aleksandr Kuzminsky (akuzminsky) |
Changed in percona-innodb-recovery-tool: | |
status: | New → Confirmed |
To post a comment you must log in.
ibrec_init_ offsets_ new() ignores fact that offsets can be 2 bytes:
len = *lens--;
If max length of a fied is bigger > 255 bytes, offset is 2 bytes