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 Winstead | 13 May |