| Bug #17455 | Partitions: OPTIMIZE/REPAIR TABLE,wrong message + warnings depending on engine | ||
|---|---|---|---|
| Submitted: | 16 Feb 2006 13:56 | Modified: | 31 May 2006 4:57 |
| Reporter: | Matthias Leich | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Partitions | Severity: | S3 (Non-critical) |
| Version: | 5.1 | OS: | |
| Assigned to: | Mikael Ronström | CPU Architecture: | Any |
[16 Feb 2006 13:57]
Matthias Leich
testcase
Attachment: ml102.test (application/test, text), 388 bytes.
[24 May 2006 11:52]
Mikael Ronström
Reviewed by Sergey Gluhov
[26 May 2006 17:21]
Mikael Ronström
Will appear in version 5.1.12
[30 May 2006 7:31]
Mikael Ronström
I think the behaviour now follows the normal reporting behaviour of non-partitioned tables although of course you can get reports on many partitions in one command and not on just one table.
[31 May 2006 4:57]
Jon Stephens
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.
If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information
about accessing the source trees is available at
http://www.mysql.com/doc/en/Installing_source_tree.html
Additional info:
Documented bugfix in 5.1.12 changelog. Closed.

Description: It looks like we get a wrong Msg_text and the unspecific warning Error 1030 Got error <number> from storage engine when executing OPTIMIZE or REPAIR TABLE <partitioned table> and the storage engine does not support the command. Example: SET SESSION storage_engine='BDB'; CREATE TABLE t_not_partitioned ( f_int1 BIGINT); CREATE TABLE t_partitioned ( f_int1 BIGINT) PARTITION BY HASH(f_int1) PARTITIONS 2; OPTIMIZE TABLE t_not_partitioned; Table Op Msg_type Msg_text test.t_not_partitioned optimize status OK OPTIMIZE TABLE t_partitioned; Table Op Msg_type Msg_text test.t_partitioned optimize status OK REPAIR TABLE t_not_partitioned EXTENDED; Table Op Msg_type Msg_text test.t_not_partitioned repair note The storage engine for the table doesn't support repair REPAIR TABLE t_partitioned EXTENDED; Table Op Msg_type Msg_text test.t_partitioned repair status Table is already up to date <----- The Msg_text is wrong, because the storage engine does not support the feature "REPAIR". Therefore the server cannot know, if the table is already up to date. Warnings: Error 1030 Got error -1 from storage engine <------ I guess the storage engine tells that it doe not know REPAIR. Other storage engines like MEMORY/InnoDB/.. show similar effects depending on their capabilities. My environment: - Intel PC with Linux(SuSE 9.3) - MySQL compiled from source Version 5.1 last ChangeSet@1.2117, 2006-02-16 How to repeat: Please execute the statements above or use my attached testscript ml102.test copy it to mysql-test/t echo "Dummy" > r/ml102.result # Produce a dummy file with # expected results ./mysql-test-run ml102 Suggested fix: Please implement a behaviour like on non partitioned tables or at least document the current behaviour within the manual.