List:Internals« Previous MessageNext Message »
From:Jim Winstead Date:May 13 2005 7:19pm
Subject:bk commit into 5.0 tree (jimw:1.1947)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of jimw. When jimw 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.1947 05/05/13 10:19:42 jimw@stripped +13 -0
  Merge from 4.1 to 5.0.

  mysql-test/r/ps_grant.result
    1.4 05/05/13 10:19:38 jimw@stripped +4 -4
    Merge from 4.1.

  libmysql/libmysql.def
    1.37 05/05/13 10:19:38 jimw@stripped +1 -1
    Merge from 4.1.

  BitKeeper/deleted/.del-ctype-cp932.c
    1.3 05/05/13 10:07:16 jimw@stripped +0 -0
    Auto merged

  strings/ctype-ucs2.c
    1.46 05/05/13 10:07:16 jimw@stripped +0 -0
    Auto merged

  strings/ctype-big5.c
    1.77 05/05/13 10:07:16 jimw@stripped +0 -0
    Auto merged

  mysql-test/t/ps_grant.test
    1.4 05/05/13 10:07:16 jimw@stripped +0 -0
    Auto merged

  mysql-test/t/ctype_ucs.test
    1.29 05/05/13 10:07:16 jimw@stripped +0 -0
    Auto merged

  mysql-test/r/ctype_ucs.result
    1.34 05/05/13 10:07:16 jimw@stripped +0 -0
    Auto merged

  libmysqld/Makefile.am
    1.56 05/05/13 10:07:16 jimw@stripped +0 -0
    Auto merged

  libmysql/libmysql.c
    1.213 05/05/13 10:07:16 jimw@stripped +0 -0
    Auto merged

  innobase/row/row0mysql.c
    1.105 05/05/13 10:07:16 jimw@stripped +0 -0
    Auto merged

  include/mysql.h
    1.149 05/05/13 10:07:16 jimw@stripped +0 -0
    Auto merged

  configure.in
    1.310 05/05/13 10:07:16 jimw@stripped +0 -0
    Auto merged

  BitKeeper/deleted/.del-ctype-cp932.c
    1.1.1.2 05/05/13 10:07:16 jimw@stripped +0 -0
    Merge rename: strings/ctype-cp932.c -> BitKeeper/deleted/.del-ctype-cp932.c

# 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:	jimw
# Host:	rama.(none)
# Root:	/home/jimw/my/mysql-5.0-clean/RESYNC

--- 1.309/configure.in	2005-05-09 09:40:30 -07:00
+++ 1.310/configure.in	2005-05-13 10:07:16 -07:00
@@ -141,7 +141,10 @@
   export CC CXX LD AR RANLIB
   AC_SUBST(AR)
   AC_SUBST(RANLIB)
+  with_darwin_mwcc=yes
 ])
+
+AM_CONDITIONAL(DARWIN_MWCC, test x$with_darwin_mwcc = xyes)
 
 if test "x${CFLAGS-}" = x ; then
   cflags_is_set=no

--- 1.148/include/mysql.h	2005-04-13 03:22:15 -07:00
+++ 1.149/include/mysql.h	2005-05-13 10:07:16 -07:00
@@ -384,6 +384,7 @@
 const char * STDCALL mysql_info(MYSQL *mysql);
 unsigned long STDCALL mysql_thread_id(MYSQL *mysql);
 const char * STDCALL mysql_character_set_name(MYSQL *mysql);
+int          STDCALL mysql_set_character_set(MYSQL *mysql, char *csname);
 
 MYSQL *		STDCALL mysql_init(MYSQL *mysql);
 my_bool		STDCALL mysql_ssl_set(MYSQL *mysql, const char *key,

--- 1.212/libmysql/libmysql.c	2005-05-12 00:16:07 -07:00
+++ 1.213/libmysql/libmysql.c	2005-05-13 10:07:16 -07:00
@@ -1495,6 +1495,36 @@
   return mysql->charset->csname;
 }
 
+int STDCALL mysql_set_character_set(MYSQL *mysql, char *cs_name)
+{
+  struct charset_info_st *cs;
+  const char *save_csdir = charsets_dir;
+
+  if (mysql->options.charset_dir)
+    charsets_dir = mysql->options.charset_dir; 
+
+  if ( (cs = get_charset_by_csname(cs_name, MY_CS_PRIMARY, MYF(0))) )
+  {
+    char buff[MY_CS_NAME_SIZE + 10];
+    charsets_dir = save_csdir;
+    sprintf(buff, "SET NAMES %s", cs_name);
+    if (!mysql_query(mysql, buff)) {
+      mysql->charset = cs;
+    } 
+  } else {
+    char cs_dir_name[FN_REFLEN];
+    get_charsets_dir(cs_dir_name);
+    mysql->net.last_errno=CR_CANT_READ_CHARSET;
+    strmov(mysql->net.sqlstate, unknown_sqlstate);
+    my_snprintf(mysql->net.last_error, sizeof(mysql->net.last_error)-1,
+                ER(mysql->net.last_errno),
+                cs_name,
+                cs_dir_name);
+
+  }
+  charsets_dir = save_csdir;
+  return mysql->net.last_errno;
+}
 
 uint STDCALL mysql_thread_safe(void)
 {

--- 1.76/strings/ctype-big5.c	2005-05-05 09:13:08 -07:00
+++ 1.77/strings/ctype-big5.c	2005-05-13 10:07:16 -07:00
@@ -6301,7 +6301,7 @@
   const char *emb= e - 1; /* Last possible end of an MB character */
 
   *error= 0;
-  while (pos && b < e)
+  while (pos-- && b < e)
   {
     if ((uchar) b[0] < 128)
     {

--- 1.33/mysql-test/r/ctype_ucs.result	2005-04-01 19:17:13 -08:00
+++ 1.34/mysql-test/r/ctype_ucs.result	2005-05-13 10:07:16 -07:00
@@ -606,6 +606,24 @@
 ucs2_bin	0061
 ucs2_bin	00610020
 drop table t1;
+select hex(substr(_ucs2 0x00e400e50068,1));
+hex(substr(_ucs2 0x00e400e50068,1))
+00E400E50068
+select hex(substr(_ucs2 0x00e400e50068,2));
+hex(substr(_ucs2 0x00e400e50068,2))
+00E50068
+select hex(substr(_ucs2 0x00e400e50068,3));
+hex(substr(_ucs2 0x00e400e50068,3))
+0068
+select hex(substr(_ucs2 0x00e400e50068,-1));
+hex(substr(_ucs2 0x00e400e50068,-1))
+0068
+select hex(substr(_ucs2 0x00e400e50068,-2));
+hex(substr(_ucs2 0x00e400e50068,-2))
+00E50068
+select hex(substr(_ucs2 0x00e400e50068,-3));
+hex(substr(_ucs2 0x00e400e50068,-3))
+00E400E50068
 SET NAMES latin1;
 SET collation_connection='ucs2_swedish_ci';
 CREATE TABLE t1 (Field1 int(10) default '0');

--- 1.28/mysql-test/t/ctype_ucs.test	2005-04-01 19:17:13 -08:00
+++ 1.29/mysql-test/t/ctype_ucs.test	2005-05-13 10:07:16 -07:00
@@ -376,6 +376,16 @@
 SET collation_connection='ucs2_bin';
 -- source include/ctype_filesort.inc
 
+#
+# Bug#10344 Some string functions fail for UCS2
+#
+select hex(substr(_ucs2 0x00e400e50068,1));
+select hex(substr(_ucs2 0x00e400e50068,2));
+select hex(substr(_ucs2 0x00e400e50068,3));
+select hex(substr(_ucs2 0x00e400e50068,-1));
+select hex(substr(_ucs2 0x00e400e50068,-2));
+select hex(substr(_ucs2 0x00e400e50068,-3));
+
 SET NAMES latin1;
 #
 # Bug#8235

--- 1.45/strings/ctype-ucs2.c	2005-05-05 09:13:09 -07:00
+++ 1.46/strings/ctype-ucs2.c	2005-05-13 10:07:16 -07:00
@@ -1267,7 +1267,7 @@
 		     const char *e  __attribute__((unused)),
 		     uint pos)
 {
-  return pos*2;
+  return pos > e - b ? e - b + 2 : pos * 2;
 }
 
 

--- 1.3/mysql-test/r/ps_grant.result	2005-04-04 12:43:54 -07:00
+++ 1.4/mysql-test/r/ps_grant.result	2005-05-13 10:19:38 -07:00
@@ -1,7 +1,3 @@
-prepare stmt4 from ' show full processlist ';
-execute stmt4;
-Id	User	Host	db	Command	Time	State	Info
-number	root	localhost	test	Query	time	NULL	show full processlist
 test_sequence
 ------ grant/revoke/drop affects a parallel session test ------
 show grants for second_user@localhost ;
@@ -91,3 +87,7 @@
 prepare stmt3 from ' drop user drop_user@localhost ';
 ERROR HY000: This command is not supported in the prepared statement protocol yet
 drop user drop_user@localhost;
+prepare stmt4 from ' show full processlist ';
+execute stmt4;
+Id	User	Host	db	Command	Time	State	Info
+number	root	localhost	test	Query	time	NULL	show full processlist

--- 1.3/mysql-test/t/ps_grant.test	2005-04-04 12:43:55 -07:00
+++ 1.4/mysql-test/t/ps_grant.test	2005-05-13 10:07:16 -07:00
@@ -1,10 +1,6 @@
 # Can't test grants with embedded server
 -- source include/not_embedded.inc
 
-# Tested here simply so it is not tested with embedded server
-prepare stmt4 from ' show full processlist ';
---replace_column 1 number 6 time 3 localhost
-execute stmt4;
 
 let $type= 'MYISAM' ;
 
@@ -115,6 +111,11 @@
 show grants for second_user@localhost ;
 
 drop database mysqltest;
+
+# Tested here simply so it is not tested with embedded server
+prepare stmt4 from ' show full processlist ';
+--replace_column 1 number 6 time 3 localhost
+execute stmt4;
 
 ## grant/revoke + drop user
 --error 1295

--- 1.36/libmysql/libmysql.def	2005-05-08 01:23:55 -07:00
+++ 1.37/libmysql/libmysql.def	2005-05-13 10:19:38 -07:00
@@ -148,6 +148,7 @@
 	mysql_embedded
 	mysql_server_init
 	mysql_server_end
+	mysql_set_character_set
 	get_defaults_files
 	get_charset_by_csname
 	get_charsets_dir

--- 1.104/innobase/row/row0mysql.c	2005-04-13 07:06:28 -07:00
+++ 1.105/innobase/row/row0mysql.c	2005-05-13 10:07:16 -07:00
@@ -1885,10 +1885,18 @@
 		trx_general_rollback_for_mysql(trx, FALSE, NULL);
 
 		if (err == DB_OUT_OF_FILE_SPACE) {
-			fputs("InnoDB: Warning: cannot create table ", stderr);
+	    		ut_print_timestamp(stderr);
+
+			fputs("  InnoDB: Warning: cannot create table ", 
+								stderr);
 			ut_print_name(stderr, trx, table->name);
 			fputs(" because tablespace full\n", stderr);
-		     	row_drop_table_for_mysql(table->name, trx, FALSE);
+
+			if (dict_table_get_low(table->name)) {
+
+		     		row_drop_table_for_mysql(table->name, trx,
+								FALSE);
+			}
 
 		} else if (err == DB_DUPLICATE_KEY) {
 	    		ut_print_timestamp(stderr);

--- 1.55/libmysqld/Makefile.am	2005-03-25 14:12:43 -08:00
+++ 1.56/libmysqld/Makefile.am	2005-05-13 10:07:16 -07:00
@@ -87,6 +87,9 @@
 # generate a total libmysqld.a from all library files,
 
 libmysqld.a:	libmysqld_int.a $(INC_LIB)
+if DARWIN_MWCC
+	mwld -lib -o $@ libmysqld_int.a `ls -1 $(INC_LIB) | sort -u`
+else
 		if test "$(host_os)" = "netware" ; \
 		then \
 		  $(libmysqld_a_AR) libmysqld.a libmysqld_int.a $(INC_LIB) ; \
@@ -108,7 +111,7 @@
 		  rm -f tmp/* ; \
 		  $(RANLIB) libmysqld.a	; \
 		fi
-
+endif
 
 ## XXX: any time the client interface changes, we'll need to bump
 ## the version info for libmysqld; however, it's possible for the
Thread
bk commit into 5.0 tree (jimw:1.1947)Jim Winstead13 May