Commit 04e72bad authored by joreland@mysql.com's avatar joreland@mysql.com

Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1

into mysql.com:/home/jonas/src/mysql-4.1
parents 2043252d c82c07dc
...@@ -55,6 +55,10 @@ case "$cpu_family--$model_name" in ...@@ -55,6 +55,10 @@ case "$cpu_family--$model_name" in
*Pentium*III*CPU*) *Pentium*III*CPU*)
cpu_flag="pentium3"; cpu_flag="pentium3";
;; ;;
*Pentium*M*pro*)
cpu_flag="pentium-m";
cpu_flag_old="pentium";
;;
*Athlon*64*) *Athlon*64*)
cpu_flag="athlon64"; cpu_flag="athlon64";
cpu_flag_old="athlon"; cpu_flag_old="athlon";
......
...@@ -75,6 +75,7 @@ hf@bisonxp.(none) ...@@ -75,6 +75,7 @@ hf@bisonxp.(none)
hf@deer.(none) hf@deer.(none)
hf@deer.mysql.r18.ru hf@deer.mysql.r18.ru
hf@genie.(none) hf@genie.(none)
holyfoot@mysql.com
igor@hundin.mysql.fi igor@hundin.mysql.fi
igor@linux.local igor@linux.local
igor@rurik.mysql.com igor@rurik.mysql.com
......
...@@ -145,8 +145,11 @@ AC_ARG_WITH(darwin-mwcc, ...@@ -145,8 +145,11 @@ AC_ARG_WITH(darwin-mwcc,
export CC CXX LD AR RANLIB export CC CXX LD AR RANLIB
AC_SUBST(AR) AC_SUBST(AR)
AC_SUBST(RANLIB) AC_SUBST(RANLIB)
with_darwin_mwcc=yes
]) ])
AM_CONDITIONAL(DARWIN_MWCC, test x$with_darwin_mwcc = xyes)
if test "x${CFLAGS-}" = x ; then if test "x${CFLAGS-}" = x ; then
cflags_is_set=no cflags_is_set=no
else else
......
...@@ -83,6 +83,9 @@ INC_LIB= $(top_builddir)/regex/libregex.a \ ...@@ -83,6 +83,9 @@ INC_LIB= $(top_builddir)/regex/libregex.a \
# generate a total libmysqld.a from all library files, # generate a total libmysqld.a from all library files,
libmysqld.a: libmysqld_int.a $(INC_LIB) 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" ; \ if test "$(host_os)" = "netware" ; \
then \ then \
$(libmysqld_a_AR) libmysqld.a libmysqld_int.a $(INC_LIB) ; \ $(libmysqld_a_AR) libmysqld.a libmysqld_int.a $(INC_LIB) ; \
...@@ -104,7 +107,7 @@ libmysqld.a: libmysqld_int.a $(INC_LIB) ...@@ -104,7 +107,7 @@ libmysqld.a: libmysqld_int.a $(INC_LIB)
rm -f tmp/* ; \ rm -f tmp/* ; \
$(RANLIB) libmysqld.a ; \ $(RANLIB) libmysqld.a ; \
fi fi
endif
## XXX: any time the client interface changes, we'll need to bump ## XXX: any time the client interface changes, we'll need to bump
## the version info for libmysqld; however, it's possible for the ## the version info for libmysqld; however, it's possible for the
......
...@@ -598,6 +598,24 @@ ucs2_bin 00610009 ...@@ -598,6 +598,24 @@ ucs2_bin 00610009
ucs2_bin 0061 ucs2_bin 0061
ucs2_bin 00610020 ucs2_bin 00610020
drop table t1; 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 NAMES latin1;
SET collation_connection='ucs2_swedish_ci'; SET collation_connection='ucs2_swedish_ci';
CREATE TABLE t1 (Field1 int(10) default '0'); CREATE TABLE t1 (Field1 int(10) default '0');
......
...@@ -374,6 +374,16 @@ SET NAMES latin1; ...@@ -374,6 +374,16 @@ SET NAMES latin1;
SET collation_connection='ucs2_bin'; SET collation_connection='ucs2_bin';
-- source include/ctype_filesort.inc -- 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; SET NAMES latin1;
# #
# Bug#8235 # Bug#8235
......
...@@ -450,6 +450,7 @@ explain select * from t1 where a='aaa' collate latin1_german1_ci; ...@@ -450,6 +450,7 @@ explain select * from t1 where a='aaa' collate latin1_german1_ci;
drop table t1; drop table t1;
# Test for BUG#9348 "result for WHERE A AND (B OR C) differs from WHERE a AND (C OR B)" # Test for BUG#9348 "result for WHERE A AND (B OR C) differs from WHERE a AND (C OR B)"
--disable_warnings
CREATE TABLE t1 ( CREATE TABLE t1 (
`CLIENT` char(3) character set latin1 collate latin1_bin NOT NULL default '000', `CLIENT` char(3) character set latin1 collate latin1_bin NOT NULL default '000',
`ARG1` char(3) character set latin1 collate latin1_bin NOT NULL default '', `ARG1` char(3) character set latin1 collate latin1_bin NOT NULL default '',
...@@ -458,6 +459,7 @@ CREATE TABLE t1 ( ...@@ -458,6 +459,7 @@ CREATE TABLE t1 (
`FUNCTINT` int(11) NOT NULL default '0', `FUNCTINT` int(11) NOT NULL default '0',
KEY `VERI_CLNT~2` (`ARG1`) KEY `VERI_CLNT~2` (`ARG1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--enable_warnings
INSERT INTO t1 VALUES ('000',' 0',' 0','Text 001',0), ('000',' 0',' 1','Text 002',0), INSERT INTO t1 VALUES ('000',' 0',' 0','Text 001',0), ('000',' 0',' 1','Text 002',0),
('000',' 1',' 2','Text 003',0), ('000',' 2',' 3','Text 004',0), ('000',' 1',' 2','Text 003',0), ('000',' 2',' 3','Text 004',0),
......
...@@ -18,7 +18,6 @@ ...@@ -18,7 +18,6 @@
/* This file defines all string functions */ /* This file defines all string functions */
#ifdef USE_PRAGMA_INTERFACE #ifdef USE_PRAGMA_INTERFACE
#error PRAGMA
#pragma interface /* gcc class implementation */ #pragma interface /* gcc class implementation */
#endif #endif
......
...@@ -6285,7 +6285,7 @@ uint my_well_formed_len_big5(CHARSET_INFO *cs __attribute__((unused)), ...@@ -6285,7 +6285,7 @@ uint my_well_formed_len_big5(CHARSET_INFO *cs __attribute__((unused)),
const char *emb= e - 1; /* Last possible end of an MB character */ const char *emb= e - 1; /* Last possible end of an MB character */
*error= 0; *error= 0;
while (pos && b < e) while (pos-- && b < e)
{ {
if ((uchar) b[0] < 128) if ((uchar) b[0] < 128)
{ {
......
...@@ -5417,7 +5417,7 @@ uint my_well_formed_len_cp932(CHARSET_INFO *cs __attribute__((unused)), ...@@ -5417,7 +5417,7 @@ uint my_well_formed_len_cp932(CHARSET_INFO *cs __attribute__((unused)),
{ {
const char *b0= b; const char *b0= b;
*error= 0; *error= 0;
while (pos && b < e) while (pos-- && b < e)
{ {
/* /*
Cast to int8 for extra safety. Cast to int8 for extra safety.
......
...@@ -4576,7 +4576,7 @@ uint my_well_formed_len_sjis(CHARSET_INFO *cs __attribute__((unused)), ...@@ -4576,7 +4576,7 @@ uint my_well_formed_len_sjis(CHARSET_INFO *cs __attribute__((unused)),
{ {
const char *b0= b; const char *b0= b;
*error= 0; *error= 0;
while (pos && b < e) while (pos-- && b < e)
{ {
if ((uchar) b[0] < 128) if ((uchar) b[0] < 128)
{ {
......
...@@ -1261,7 +1261,7 @@ uint my_charpos_ucs2(CHARSET_INFO *cs __attribute__((unused)), ...@@ -1261,7 +1261,7 @@ uint my_charpos_ucs2(CHARSET_INFO *cs __attribute__((unused)),
const char *e __attribute__((unused)), const char *e __attribute__((unused)),
uint pos) uint pos)
{ {
return pos*2; return pos > e - b ? e - b + 2 : pos * 2;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment