Bug #36716 optimizer_use_mrr: cannot set at server startup, does not appear in help message
Submitted: 14 May 2008 16:29 Modified: 7 Mar 2011 23:26
Reporter: Paul DuBois Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Optimizer Severity:S3 (Non-critical)
Version:6.0.x OS:Any
Assigned to: CPU Architecture:Any

[14 May 2008 16:29] Paul DuBois
Description:
The optimizer_use_mrr system variable (added in 5.2.4) is not listed in the server's my_long_options[] array, and thus cannot be set as a command option at server startup, and it does not appear in the server's help message.

How to repeat:
Add this to the server's option file:

[mysqld]
optimizer_use_mrr=force

Start the server. It will fail with this error message:

080514 11:22:31 [ERROR] /var/mysql/60006/libexec/mysqld: unknown variable 'optimizer_use_mrr=force'

Suggested fix:
Following the entry for optimizer_search_depth in my_long_options[], add an entry for optimizer_use_mrr.
[14 May 2008 17:07] Valeriy Kravchuk
Thank you for a bug report. Verified just as described with 6.0.4.

You can set it using "optimizer_use_mrr=force;" as a workaround.
[14 May 2008 17:18] Paul DuBois
Right, the variable can be set at runtime, for either the global or session values. The scope of this bug report is limited only to setting the variable at server startup.
[7 Mar 2011 23:26] Paul DuBois
This problem has been fixed in 6.0.14 by WL#5116 where the optimizer_use_mrr system 
variable has been replaced by the new members "mrr" and "mrr_cost_based" 
added to the optimizer_switch system variable.
[7 Mar 2011 23:28] Paul DuBois
In 5.6, the fix appears in 5.6.1.