Hi Ingo
OK to push.
Regards,
-- Marc
Ingo Struewing wrote:
> #At file:///home2/mydev/bzrroot/mysql-5.1-bug28234/
>
> 2751 Ingo Struewing 2008-11-20
> Bug#28234 - global/session scope - documentation vs implementation
>
> Several system variables did not behave like system variables should do.
> When trying to SET them or use them in SELECT, they were reported as
> "unknown system variable". But they appeared in SHOW VARIABLES.
>
> This has been fixed by removing the "fixed_vars" array of variables
> and integrating the variables into the normal system variables chain.
> All of these variables do now behave as read-only global-only
> variables. Trying to SET them tells they are read-only, trying to
> SELECT the session value tells they are global only. Selecting the
> global value works. It delivers the same value as SHOW VARIABLES.
> modified:
> mysql-test/r/variables-notembedded.result
> mysql-test/r/variables.result
> mysql-test/t/variables-notembedded.test
> mysql-test/t/variables.test
> sql/set_var.cc
> sql/set_var.h
> sql/slave.cc
> sql/slave.h
> sql/sql_repl.cc
>
> per-file messages:
> mysql-test/r/variables-notembedded.result
> Bug#28234 - global/session scope - documentation vs implementation
> New test result.
> mysql-test/r/variables.result
> Bug#28234 - global/session scope - documentation vs implementation
> New test result.
> mysql-test/t/variables-notembedded.test
> Bug#28234 - global/session scope - documentation vs implementation
> Added a test for each moved variable that is not present in an
> embedded server.
> mysql-test/t/variables.test
> Bug#28234 - global/session scope - documentation vs implementation
> Added a test for each moved variable that is also present in an
> embedded server.
> sql/set_var.cc
> Bug#28234 - global/session scope - documentation vs implementation
> Moved all variables from the "fixed_vars" array into the normal
> system variables chain by using the new variable class sys_var_const.
> Extended sys_var::item() by SHOW_BOOL.
> Removed the fixed_show_vars array and its initialization in
> enumerate_sys_vars().
> Removed mysql_append_static_vars(), which added fixed_vars arrays
> to the fixed_show_vars array.
> sql/set_var.h
> Bug#28234 - global/session scope - documentation vs implementation
> Added the new system variable class sys_var_const.
> Removed declaration of mysql_append_static_vars().
> sql/slave.cc
> Bug#28234 - global/session scope - documentation vs implementation
> Moved the definition of show_slave_skip_errors() from sql_repl.cc
> to here and renamed it to print_slave_skip_errors().
> Changed print_slave_skip_errors() to create a static buffer with
> a printable version of the error numbers set.
> Added a call of print_slave_skip_errors() to init_slave_skip_errors().
> sql/slave.h
> Bug#28234 - global/session scope - documentation vs implementation
> Added declaration of slave_skip_error_names.
> sql/sql_repl.cc
> Bug#28234 - global/session scope - documentation vs implementation
> Moved all variables from the "fixed_vars" array into the normal
> system variables chain by using the new variable class sys_var_const.
> Moved the definition of show_slave_skip_errors() to slave.cc and
> modified it to compute the string once at server initialization only.
> Removed the call to mysql_append_static_vars().