Bug #47101 --skip-partition, --skip-event-scheduler options not documented
Submitted: 3 Sep 2009 14:42 Modified: 21 Sep 2009 12:12
Reporter: Jon Stephens Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S2 (Serious)
Version:all OS:Any (openSUSE11.1 / 64-bit)
Assigned to: Jon Stephens CPU Architecture:Any
Triage: Triaged: D4 (Minor)

[3 Sep 2009 14:42] Jon Stephens
Description:
Uncovered while documenting BUG#39893, which talks about --skip-partition option for the server. However, this option does not appear in output of mysqld --help [--verbose]. Also, does not appear in output of SHOW [GLOBAL] VARIABLES or SHOW GLOBAL STATUS.

Verified that option actually works by starting the server with it, then trying to create a partitioned table, as shown here:

mysql> create table t (c INT NOT NULL AUTO_INCREMENT PRIMARY KEY) PARTITION BY HASH(c) PARTITIONS 2;
ERROR 1290 (HY000): The MySQL server is running with the --skip-partition option so it cannot execute this statement

In addition, Docs was unaware of the existence of this option. Need to know when it was implemented.

How to repeat:
See Description.

Suggested fix:
Add option to mysqld --help [--verbose] output.

Add a skip_partition system variable and make it visible in SHOW VARIABLES output.
[3 Sep 2009 15:38] Valeriy Kravchuk
Verified just as described:

valeriy-kravchuks-macbook-pro:5.1 openxs$ libexec/mysqld --help --verbose | grep partition
090903 18:37:46 [Warning] Setting lower_case_table_names=2 because file system for /Users/openxs/dbs/5.1/var/ is case insensitive
090903 18:37:46 [Note] Plugin 'FEDERATED' is disabled.
090903 18:37:46 [Note] Plugin 'ndbcluster' is disabled.
090903 18:37:46 [Warning] Forcing shutdown of 2 plugins
[4 Sep 2009 13:59] Mattias Jonsson
As I can see there is no '--skip-innodb', '--skip-csv', '--skip-archive', '--skip-blackhole' etc. either in `mysqld --help [--verbose].

The skip prefix disables the engine (or generic partitioning engine in this case).

So it is consistent with how other engines work, even innodb.

But for innodb, this is documented in the manual:
http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_skip-innodb

I propose that the manual gets extended to say server-option 'skip-<engine>' disables the use of that engine (including the generic partitioning engine 'partition').
[8 Sep 2009 12:14] Jon Stephens
When was this implemented? 5.1.0?

NB Lead for Docs bugs is Stefan Hinz.
[11 Sep 2009 14:05] Jon Stephens
Discussed Mattias' comments with Docs Team:

[me]

Hi!

See http://bugs.mysql.com/bug.php?id=47101

I agree with Mattias' comment there that it would be nice if all of the --skip-<engine> options were noted in the list at http://dev.mysql.com/doc/refman/5.1/en/server-options.html

I can think of two solutions:

1. Replace the --skip-innodb entry with a '--skip-ENGINE' entry, and note the individual cases under this entry.

2. Add individual entries for all storage engines (and 'partition').

I tend to favour solution #1, but would like feedback before I start doing any monkeying around.

I'll be happy to modify the bug report accordingly, and to perform the grunt work.

Thanks for your input!

[paul]
>
> I tend to favour solution #1, but would like feedback before I start doing any monkeying around.

Agreed. 

[MC]
>>
>> I tend to favour solution #1, but would like feedback before I start doing any monkeying around.
>
> Agreed.

++1 too

[end]
[14 Sep 2009 16:15] Sergei Golubchik
But the manual already says, quite explicitly:
"
The --disable and --skip  prefixes and the =0 suffix all have the same effect: They turn the option off. 
"
http://dev.mysql.com/doc/refman/5.1/en/option-modifiers.html

What about documenting --disable-ENGINE too ?
And all --skip- and --disable variants for all boolean options ? :)
[14 Sep 2009 19:28] Jon Stephens
Yes, Sergei, of course we are aware of this.

Nevertheless, there is method to our madness.
[21 Sep 2009 12:12] Jon Stephens
Thank you for your bug report. This issue has been addressed in the documentation. The updated documentation will appear on our website shortly, and will be included in the next release of the relevant products.