List:Internals« Previous MessageNext Message »
From:Lars Thalmann Date:June 7 2005 10:30am
Subject:bk commit into 5.0 tree (lars:1.1929)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of lars. When lars does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.1929 05/06/07 12:30:32 lars@stripped +7 -0
  Merge b6883-mysql-4.1 -> 5.0

  sql/sql_parse.cc
    1.449 05/06/07 12:30:26 lars@stripped +0 -0
    Manual merge

  mysql-test/r/innodb.result
    1.116 05/06/07 12:30:25 lars@stripped +3 -3
    Manual merge

  mysql-test/t/innodb.test
    1.92 05/06/07 12:24:42 lars@stripped +0 -0
    Auto merged

  mysql-test/r/ctype_utf8.result
    1.59 05/06/07 12:24:41 lars@stripped +0 -0
    Auto merged

  myisam/mi_key.c
    1.42 05/06/07 12:24:41 lars@stripped +0 -0
    Auto merged

  BitKeeper/etc/logging_ok
    1.322 05/06/07 12:24:09 lars@stripped +0 -0
    auto-union

  BitKeeper/etc/ignore
    1.201 05/06/07 12:24:09 lars@stripped +10 -10
    auto-union

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	lars
# Host:	dhcppc0.ver
# Root:	/home/bk/mysql-5.0/RESYNC

--- 1.41/myisam/mi_key.c	2005-05-14 17:19:30 +02:00
+++ 1.42/myisam/mi_key.c	2005-06-07 12:24:41 +02:00
@@ -107,7 +107,8 @@
     }
     if (keyseg->flag & HA_SPACE_PACK)
     {
-      end=pos+length;
+      FIX_LENGTH(cs, pos, length, char_length);
+      end= pos + char_length;
       if (type != HA_KEYTYPE_NUM)
       {
 	while (end > pos && end[-1] == ' ')
@@ -118,8 +119,7 @@
 	while (pos < end && pos[0] == ' ')
 	  pos++;
       }
-      length=(uint) (end-pos);
-      FIX_LENGTH(cs, pos, length, char_length);
+      char_length= (uint) (end - pos);
       store_key_length_inc(key,char_length);
       memcpy((byte*) key,(byte*) pos,(size_t) char_length);
       key+=char_length;

--- 1.448/sql/sql_parse.cc	2005-06-07 04:43:55 +02:00
+++ 1.449/sql/sql_parse.cc	2005-06-07 12:30:26 +02:00
@@ -2740,6 +2740,20 @@
 
   case SQLCOM_CREATE_TABLE:
   {
+    /* If CREATE TABLE of non-temporary table, do implicit commit */
+    if (!(lex->create_info.options & HA_LEX_CREATE_TMP_TABLE))
+    {
+      if (end_active_trans(thd))
+      {
+	res= -1;
+	break;
+      }
+    }
+    else 
+    {
+      /* So that CREATE TEMPORARY TABLE gets to binlog at commit/rollback */
+      thd->options|= OPTION_STATUS_NO_TRANS_UPDATE;
+    }
     DBUG_ASSERT(first_table == all_tables && first_table != 0);
     bool link_to_local;
     // Skip first table, which is the table we are creating
@@ -3232,6 +3246,11 @@
     break;
   }
   case SQLCOM_TRUNCATE:
+    if (end_active_trans(thd))
+    {
+      res= -1;
+      break;
+    }
     DBUG_ASSERT(first_table == all_tables && first_table != 0);
     if (check_one_table_access(thd, DELETE_ACL, all_tables))
       goto error;
@@ -3324,6 +3343,9 @@
       */
       if (thd->slave_thread)
 	lex->drop_if_exists= 1;
+
+      /* So that DROP TEMPORARY TABLE gets to binlog at commit/rollback */
+      thd->options|= OPTION_STATUS_NO_TRANS_UPDATE;
     }
     res= mysql_rm_table(thd, first_table, lex->drop_if_exists,
 			lex->drop_temporary);
@@ -3462,6 +3484,11 @@
     break;
   case SQLCOM_CREATE_DB:
   {
+    if (end_active_trans(thd))
+    {
+      res= -1;
+      break;
+    }
     char *alias;
     if (!(alias=thd->strdup(lex->name)) || check_db_name(lex->name))
     {
@@ -3492,6 +3519,11 @@
   }
   case SQLCOM_DROP_DB:
   {
+    if (end_active_trans(thd))
+    {
+      res= -1;
+      break;
+    }
     if (check_db_name(lex->name))
     {
       my_error(ER_WRONG_DB_NAME, MYF(0), lex->name);

--- 1.58/mysql-test/r/ctype_utf8.result	2005-06-03 06:38:32 +02:00
+++ 1.59/mysql-test/r/ctype_utf8.result	2005-06-07 12:24:41 +02:00
@@ -891,3 +891,14 @@
 create table t1 (a varchar(255)) default character set utf8;
 insert into t1 values (1.0);
 drop table t1;
+create table t1 (
+id int not null,
+city varchar(20) not null,
+key (city(7),id)
+) character set=utf8;
+insert into t1 values (1,'Durban North');
+insert into t1 values (2,'Durban');
+select * from t1 where city = 'Durban';
+id	city
+2	Durban
+drop table t1;

--- 1.321/BitKeeper/etc/logging_ok	2005-06-06 20:20:47 +02:00
+++ 1.322/BitKeeper/etc/logging_ok	2005-06-07 12:24:09 +02:00
@@ -52,6 +52,7 @@
 dlenev@stripped
 dlenev@stripped
 ejonore@stripped
+elliot@stripped
 evgen@moonbone.(none)
 evgen@stripped
 gbichot@stripped

--- 1.115/mysql-test/r/innodb.result	2005-06-07 04:43:54 +02:00
+++ 1.116/mysql-test/r/innodb.result	2005-06-07 12:30:25 +02:00
@@ -909,7 +909,6 @@
 create table t1 (a int not null) engine= innodb;
 insert into t1 values(1),(2);
 truncate table t1;
-ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
 commit;
 truncate table t1;
 truncate table t1;
@@ -1638,14 +1637,16 @@
 drop table t2, t1;
 show status like "binlog_cache_use";
 Variable_name	Value
-Binlog_cache_use	153
+Binlog_cache_use	24
+Binlog_cache_use	25
 show status like "binlog_cache_disk_use";
 Variable_name	Value
 Binlog_cache_disk_use	0
 create table t1 (a int) engine=innodb;
 show status like "binlog_cache_use";
 Variable_name	Value
-Binlog_cache_use	154
+Binlog_cache_use	25
+Binlog_cache_use	26
 show status like "binlog_cache_disk_use";
 Variable_name	Value
 Binlog_cache_disk_use	1
@@ -1654,7 +1655,8 @@
 commit;
 show status like "binlog_cache_use";
 Variable_name	Value
-Binlog_cache_use	155
+Binlog_cache_use	26
+Binlog_cache_use	27
 show status like "binlog_cache_disk_use";
 Variable_name	Value
 Binlog_cache_disk_use	1

--- 1.91/mysql-test/t/innodb.test	2005-06-06 23:31:47 +02:00
+++ 1.92/mysql-test/t/innodb.test	2005-06-07 12:24:42 +02:00
@@ -596,7 +596,6 @@
 set autocommit=0;
 create table t1 (a int not null) engine= innodb;
 insert into t1 values(1),(2);
---error 1192
 truncate table t1;
 commit;
 truncate table t1;

--- 1.200/BitKeeper/etc/ignore	2005-05-18 13:23:14 +02:00
+++ 1.201/BitKeeper/etc/ignore	2005-06-07 12:24:09 +02:00
@@ -102,6 +102,7 @@
 Makefile.in'
 PENDING/*
 TAGS
+VC++Files/client/mysql_amd64.dsp
 ac_available_languages_fragment
 acinclude.m4
 aclocal.m4
@@ -274,6 +275,8 @@
 client/mysqlmanagerc
 client/mysqlshow
 client/mysqltest
+client/mysqltestmanager-pwgen
+client/mysqltestmanagerc
 client/mysys_priv.h
 client/select_test
 client/ssl_test
@@ -284,10 +287,12 @@
 cmd-line-utils/libedit/makelist
 comon.h
 config.cache
+config.guess
 config.h
 config.h.in
 config.log
 config.status
+config.sub
 configure
 configure.lineno
 core
@@ -355,6 +360,7 @@
 innobase/stamp-h1
 insert_test
 install
+install-sh
 isam/isamchk
 isam/isamlog
 isam/pack_isam
@@ -519,7 +525,9 @@
 linked_server_sources
 linked_tools_sources
 locked
+ltmain.sh
 man/*.1
+missing
 mit-pthreads/config.flags
 mit-pthreads/include/bits
 mit-pthreads/include/pthread/machdep.h
@@ -936,6 +944,7 @@
 scripts/mysqld_safe
 scripts/mysqldumpslow
 scripts/mysqlhotcopy
+scripts/mysqlhotcopy.sh.rej
 scripts/safe_mysqld
 select_test
 server-tools/instance-manager/client.c
@@ -1100,18 +1109,10 @@
 tools/my_vsnprintf.c
 tools/mysqlmanager
 tools/mysqlmngd
+tools/mysqltestmanager
 tools/mysys_priv.h
 vi.h
 vio/test-ssl
 vio/test-sslclient
 vio/test-sslserver
 vio/viotest-ssl
-VC++Files/client/mysql_amd64.dsp
-client/mysqltestmanager-pwgen
-client/mysqltestmanagerc
-tools/mysqltestmanager
-config.guess
-config.sub
-install-sh
-ltmain.sh
-missing
Thread
bk commit into 5.0 tree (lars:1.1929)Lars Thalmann7 Jun