diff options
author | Guilhem Bichot <guilhem@mysql.com> | 2010-11-05 14:16:27 +0100 |
---|---|---|
committer | Guilhem Bichot <guilhem@mysql.com> | 2010-11-05 14:16:27 +0100 |
commit | f80d13e5303c80e149d82701d97bb5f57a18c4f2 (patch) | |
tree | f404754be54b6d7ec395be8cade2484f79a24e02 /sql/mysqld.cc | |
parent | 373be0d5fae0aa9a68a15d4c7237868f79917843 (diff) | |
download | mariadb-git-f80d13e5303c80e149d82701d97bb5f57a18c4f2.tar.gz |
Fix for BUG#57316 "It is not clear how to disable autocommit"
add boolean command-line option --autocommit.
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r-- | sql/mysqld.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc index df4f0f95b8c..21754b23940 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -5662,6 +5662,12 @@ struct my_option my_long_options[]= {"ansi", 'a', "Use ANSI SQL syntax instead of MySQL syntax. This mode " "will also set transaction isolation level 'serializable'.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, + /* + Because Sys_var_bit does not support command-line options, we need to + explicitely add one for --autocommit + */ + {"autocommit", OPT_AUTOCOMMIT, "Set default value for autocommit (0 or 1)", + NULL, NULL, 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, NULL}, {"bind-address", OPT_BIND_ADDRESS, "IP address to bind to.", &my_bind_addr_str, &my_bind_addr_str, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, @@ -7114,6 +7120,13 @@ mysqld_get_one_option(int optid, if (argument == NULL) /* no argument */ log_error_file_ptr= const_cast<char*>(""); break; + case OPT_AUTOCOMMIT: + const ulonglong turn_bit_on= (argument && (atoi(argument) == 0)) ? + OPTION_NOT_AUTOCOMMIT : OPTION_AUTOCOMMIT; + global_system_variables.option_bits= + (global_system_variables.option_bits & + ~(OPTION_NOT_AUTOCOMMIT | OPTION_AUTOCOMMIT)) | turn_bit_on; + break; } return 0; } |