List:Commits« Previous MessageNext Message »
From:Guilhem Bichot Date:January 14 2011 1:42pm
Subject:bzr commit into mysql-trunk branch (guilhem.bichot:3509)
View as plain text  
#At file:///home/mysql_src/bzrrepos_new/trunk/ based on revid:georgi.kodinov@stripped

 3509 Guilhem Bichot	2011-01-14 [merge]
      merge from 5.5

    added:
      mysql-test/suite/sys_vars/r/autocommit_func4.result
      mysql-test/suite/sys_vars/r/autocommit_func5.result
      mysql-test/suite/sys_vars/t/autocommit_func4-master.opt
      mysql-test/suite/sys_vars/t/autocommit_func4.test
      mysql-test/suite/sys_vars/t/autocommit_func5-master.opt
      mysql-test/suite/sys_vars/t/autocommit_func5.test
    modified:
      mysql-test/r/mysqld--help-notwin.result
      mysql-test/r/mysqld--help-win.result
      sql/mysqld.cc
      sql/mysqld.h
=== modified file 'mysql-test/r/mysqld--help-notwin.result'
--- a/mysql-test/r/mysqld--help-notwin.result	2011-01-03 14:50:58 +0000
+++ b/mysql-test/r/mysqld--help-notwin.result	2011-01-14 13:42:41 +0000
@@ -20,6 +20,7 @@ The following options may be given as th
  Offset added to Auto-increment columns. Used when
  auto-increment-increment != 1
  --autocommit        Set default value for autocommit (0 or 1)
+ (Defaults to on; use --skip-autocommit to disable.)
  --automatic-sp-privileges 
  Creating and dropping stored procedures alters ACLs
  (Defaults to on; use --skip-automatic-sp-privileges to disable.)
@@ -749,6 +750,7 @@ abort-slave-event-count 0
 allow-suspicious-udfs FALSE
 auto-increment-increment 1
 auto-increment-offset 1
+autocommit TRUE
 automatic-sp-privileges TRUE
 back-log 50
 big-tables FALSE

=== modified file 'mysql-test/r/mysqld--help-win.result'
--- a/mysql-test/r/mysqld--help-win.result	2011-01-03 14:50:58 +0000
+++ b/mysql-test/r/mysqld--help-win.result	2011-01-14 13:42:41 +0000
@@ -20,6 +20,7 @@ The following options may be given as th
  Offset added to Auto-increment columns. Used when
  auto-increment-increment != 1
  --autocommit        Set default value for autocommit (0 or 1)
+ (Defaults to on; use --skip-autocommit to disable.)
  --automatic-sp-privileges 
  Creating and dropping stored procedures alters ACLs
  (Defaults to on; use --skip-automatic-sp-privileges to disable.)
@@ -753,6 +754,7 @@ abort-slave-event-count 0
 allow-suspicious-udfs FALSE
 auto-increment-increment 1
 auto-increment-offset 1
+autocommit TRUE
 automatic-sp-privileges TRUE
 back-log 50
 big-tables FALSE

=== added file 'mysql-test/suite/sys_vars/r/autocommit_func4.result'
--- a/mysql-test/suite/sys_vars/r/autocommit_func4.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/autocommit_func4.result	2011-01-14 13:21:46 +0000
@@ -0,0 +1,46 @@
+CREATE TABLE t1
+(
+id INT NOT NULL auto_increment,
+PRIMARY KEY (id),
+name varchar(30)
+) ENGINE = INNODB;
+SELECT @@global.autocommit;
+@@global.autocommit
+1
+SELECT @@autocommit;
+@@autocommit
+1
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+id	name
+1	Record_1
+2	Record_2
+ROLLBACK;
+SELECT * from t1;
+id	name
+1	Record_1
+2	Record_2
+set @@global.autocommit = 1-@@global.autocommit;
+set @@autocommit = 1-@@autocommit;
+SELECT @@global.autocommit;
+@@global.autocommit
+0
+SELECT @@autocommit;
+@@autocommit
+0
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+id	name
+1	Record_1
+2	Record_2
+3	Record_1
+4	Record_2
+ROLLBACK;
+SELECT * from t1;
+id	name
+1	Record_1
+2	Record_2
+DROP TABLE t1;
+set @@global.autocommit = 1-@@global.autocommit;

=== added file 'mysql-test/suite/sys_vars/r/autocommit_func5.result'
--- a/mysql-test/suite/sys_vars/r/autocommit_func5.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/autocommit_func5.result	2011-01-14 13:21:46 +0000
@@ -0,0 +1,42 @@
+CREATE TABLE t1
+(
+id INT NOT NULL auto_increment,
+PRIMARY KEY (id),
+name varchar(30)
+) ENGINE = INNODB;
+SELECT @@global.autocommit;
+@@global.autocommit
+0
+SELECT @@autocommit;
+@@autocommit
+0
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+id	name
+1	Record_1
+2	Record_2
+ROLLBACK;
+SELECT * from t1;
+id	name
+set @@global.autocommit = 1-@@global.autocommit;
+set @@autocommit = 1-@@autocommit;
+SELECT @@global.autocommit;
+@@global.autocommit
+1
+SELECT @@autocommit;
+@@autocommit
+1
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+id	name
+3	Record_1
+4	Record_2
+ROLLBACK;
+SELECT * from t1;
+id	name
+3	Record_1
+4	Record_2
+DROP TABLE t1;
+set @@global.autocommit = 1-@@global.autocommit;

=== added file 'mysql-test/suite/sys_vars/t/autocommit_func4-master.opt'
--- a/mysql-test/suite/sys_vars/t/autocommit_func4-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/autocommit_func4-master.opt	2011-01-14 13:21:46 +0000
@@ -0,0 +1 @@
+--autocommit=on

=== added file 'mysql-test/suite/sys_vars/t/autocommit_func4.test'
--- a/mysql-test/suite/sys_vars/t/autocommit_func4.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/autocommit_func4.test	2011-01-14 13:21:46 +0000
@@ -0,0 +1 @@
+--source suite/sys_vars/inc/autocommit_func2.inc

=== added file 'mysql-test/suite/sys_vars/t/autocommit_func5-master.opt'
--- a/mysql-test/suite/sys_vars/t/autocommit_func5-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/autocommit_func5-master.opt	2011-01-14 13:21:46 +0000
@@ -0,0 +1 @@
+--autocommit=off

=== added file 'mysql-test/suite/sys_vars/t/autocommit_func5.test'
--- a/mysql-test/suite/sys_vars/t/autocommit_func5.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/autocommit_func5.test	2011-01-14 13:21:46 +0000
@@ -0,0 +1 @@
+--source suite/sys_vars/inc/autocommit_func2.inc

=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc	2011-01-03 15:05:36 +0000
+++ b/sql/mysqld.cc	2011-01-14 13:42:41 +0000
@@ -282,6 +282,7 @@ const char *first_keyword= "first", *bin
 const char *my_localhost= "localhost", *delayed_user= "DELAYED";
 
 bool opt_large_files= sizeof(my_off_t) > 4;
+static my_bool opt_autocommit; ///< for --autocommit command-line option
 
 /*
   Used with --help for detailed option
@@ -5910,8 +5911,9 @@ struct my_option my_long_options[]=
     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},
+  {"autocommit", 0, "Set default value for autocommit (0 or 1)",
+   &opt_autocommit, &opt_autocommit, 0,
+   GET_BOOL, OPT_ARG, 1, 0, 0, 0, 0, NULL},
   {"binlog-do-db", OPT_BINLOG_DO_DB,
    "Tells the master it should log updates for the specified database, "
    "and exclude all others not explicitly mentioned.",
@@ -7347,13 +7349,6 @@ 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;
 }
@@ -7504,10 +7499,12 @@ static int get_options(int *argc_ptr, ch
   else
     global_system_variables.option_bits&= ~OPTION_BIG_SELECTS;
 
-  if (global_system_variables.option_bits & OPTION_AUTOCOMMIT)
-    global_system_variables.option_bits&= ~OPTION_NOT_AUTOCOMMIT;
-  else
-    global_system_variables.option_bits|= OPTION_NOT_AUTOCOMMIT;
+  // Synchronize @@global.autocommit on --autocommit
+  const ulonglong turn_bit_on= opt_autocommit ?
+    OPTION_AUTOCOMMIT : OPTION_NOT_AUTOCOMMIT;
+  global_system_variables.option_bits=
+    (global_system_variables.option_bits &
+     ~(OPTION_NOT_AUTOCOMMIT | OPTION_AUTOCOMMIT)) | turn_bit_on;
 
   global_system_variables.sql_mode=
     expand_sql_mode(global_system_variables.sql_mode);

=== modified file 'sql/mysqld.h'
--- a/sql/mysqld.h	2010-12-17 11:28:59 +0000
+++ b/sql/mysqld.h	2011-01-14 13:42:41 +0000
@@ -405,8 +405,7 @@ enum options_mysqld
   OPT_UPDATE_LOG,
   OPT_WANT_CORE,
   OPT_ENGINE_CONDITION_PUSHDOWN,
-  OPT_LOG_ERROR,
-  OPT_AUTOCOMMIT
+  OPT_LOG_ERROR
 };
 
 

No bundle (reason: revision is a merge (you can force generation of a bundle with env var BZR_FORCE_BUNDLE=1)).
Thread
bzr commit into mysql-trunk branch (guilhem.bichot:3509) Guilhem Bichot14 Jan