branches/innodb+: Merge revisions 4657:4660 from branches/zip:

------------------------------------------------------------------------
  r4660 | marko | 2009-04-06 16:17:30 +0300 (Mon, 06 Apr 2009) | 7 lines

  branches/zip: Initialize innodb_change_buffering from the configuration file.

  So far, the parameter innodb_change_buffering was only settable by the
  SET GLOBAL command. Any change specified in the configuration file or
  on the mysqld command line was ignored. This was reported as Issue #217.

  rb://109 approved by Heikki Tuuri.
  ------------------------------------------------------------------------
This commit is contained in:
marko 2009-04-06 12:19:18 +00:00
parent 1865d59b7a
commit c1c40710b1
2 changed files with 28 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2009-04-06 The InnoDB Team
* handler/ha_innodb.cc:
Make the parameter innodb_change_buffering settable by the
configuration file or mysqld command line options. Before this
fix, the initial value specified for this parameter was ignored.
2009-04-06 The InnoDB Team
* sync/sync0rw.c:

View file

@ -2063,6 +2063,27 @@ mem_free_and_error:
}
}
if (innobase_change_buffering) {
ulint use;
for (use = 0;
use < UT_ARR_SIZE(innobase_change_buffering_values);
use++) {
if (!innobase_strcasecmp(
innobase_change_buffering,
innobase_change_buffering_values[use])) {
ibuf_use = (ibuf_use_t) use;
goto innobase_change_buffering_inited_ok;
}
}
sql_print_error("InnoDB: invalid value "
"innodb_file_format_check=%s",
innobase_change_buffering);
goto mem_free_and_error;
}
innobase_change_buffering_inited_ok:
ut_a((ulint) ibuf_use < UT_ARR_SIZE(innobase_change_buffering_values));
innobase_change_buffering = (char*)
innobase_change_buffering_values[ibuf_use];