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
*Pentium*III*CPU*)
cpu_flag="pentium3";
;;
*Pentium*M*pro*)
cpu_flag="pentium-m";
cpu_flag_old="pentium";
;;
*Athlon*64*)
cpu_flag="athlon64";
cpu_flag_old="athlon";
......
......@@ -75,6 +75,7 @@ hf@bisonxp.(none)
hf@deer.(none)
hf@deer.mysql.r18.ru
hf@genie.(none)
holyfoot@mysql.com
igor@hundin.mysql.fi
igor@linux.local
igor@rurik.mysql.com
......
......@@ -145,8 +145,11 @@ AC_ARG_WITH(darwin-mwcc,
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
else
......
......@@ -83,6 +83,9 @@ INC_LIB= $(top_builddir)/regex/libregex.a \
# 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) ; \
......@@ -104,7 +107,7 @@ libmysqld.a: libmysqld_int.a $(INC_LIB)
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
......
......@@ -598,6 +598,24 @@ ucs2_bin 00610009
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');
......
......@@ -374,6 +374,16 @@ SET NAMES latin1;
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
......
......@@ -450,6 +450,7 @@ explain select * from t1 where a='aaa' collate latin1_german1_ci;
drop table t1;
# 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 (
`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 '',
......@@ -458,6 +459,7 @@ CREATE TABLE t1 (
`FUNCTINT` int(11) NOT NULL default '0',
KEY `VERI_CLNT~2` (`ARG1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--enable_warnings
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),
......
......@@ -18,7 +18,6 @@
/* This file defines all string functions */
#ifdef USE_PRAGMA_INTERFACE
#error PRAGMA
#pragma interface /* gcc class implementation */
#endif
......
......@@ -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 */
*error= 0;
while (pos && b < e)
while (pos-- && b < e)
{
if ((uchar) b[0] < 128)
{
......
......@@ -5417,7 +5417,7 @@ uint my_well_formed_len_cp932(CHARSET_INFO *cs __attribute__((unused)),
{
const char *b0= b;
*error= 0;
while (pos && b < e)
while (pos-- && b < e)
{
/*
Cast to int8 for extra safety.
......
......@@ -4576,7 +4576,7 @@ uint my_well_formed_len_sjis(CHARSET_INFO *cs __attribute__((unused)),
{
const char *b0= b;
*error= 0;
while (pos && b < e)
while (pos-- && b < e)
{
if ((uchar) b[0] < 128)
{
......
......@@ -1261,7 +1261,7 @@ uint my_charpos_ucs2(CHARSET_INFO *cs __attribute__((unused)),
const char *e __attribute__((unused)),
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