Merge hholzgraefe@bk-internal.mysql.com:/home/bk/mysql-5.1-new

into  mysql.com:/home/hartmut/projects/mysql/dev/5.1
This commit is contained in:
unknown 2005-12-14 12:12:26 +01:00
commit 9c03472596
8 changed files with 96 additions and 8 deletions

View file

@ -14,6 +14,12 @@ DOT_FRM_VERSION=6
# See the libtool docs for information on how to do shared lib versions.
SHARED_LIB_VERSION=15:0:0
# ndb version
NDB_VERSION_MAJOR=5
NDB_VERSION_MINOR=0
NDB_VERSION_BUILD=18
NDB_VERSION_STATUS=""
# Set all version vars based on $VERSION. How do we do this more elegant ?
# Remember that regexps needs to quote [ and ] since this is run through m4
MYSQL_NO_DASH_VERSION=`echo $VERSION | sed -e "s|[[a-z]]*-.*$||"`

View file

@ -677,3 +677,19 @@ select * from atablewithareallylongandirritatingname;
a
2
drop table atablewithareallylongandirritatingname;
create table t1 (f1 varchar(50), f2 text,f3 int, primary key(f1)) engine=NDB;
insert into t1 (f1,f2,f3)VALUES("111111","aaaaaa",1);
insert into t1 (f1,f2,f3)VALUES("222222","bbbbbb",2);
select * from t1 order by f1;
f1 f2 f3
111111 aaaaaa 1
222222 bbbbbb 2
select * from t1 order by f2;
f1 f2 f3
111111 aaaaaa 1
222222 bbbbbb 2
select * from t1 order by f3;
f1 f2 f3
111111 aaaaaa 1
222222 bbbbbb 2
drop table t1;

View file

@ -623,3 +623,14 @@ create table atablewithareallylongandirritatingname (a int);
insert into atablewithareallylongandirritatingname values (2);
select * from atablewithareallylongandirritatingname;
drop table atablewithareallylongandirritatingname;
#
# Bug#15682
#
create table t1 (f1 varchar(50), f2 text,f3 int, primary key(f1)) engine=NDB;
insert into t1 (f1,f2,f3)VALUES("111111","aaaaaa",1);
insert into t1 (f1,f2,f3)VALUES("222222","bbbbbb",2);
select * from t1 order by f1;
select * from t1 order by f2;
select * from t1 order by f3;
drop table t1;

View file

@ -3014,8 +3014,26 @@ void ha_ndbcluster::position(const byte *record)
}
*buff++= 0;
}
memcpy(buff, record + key_part->offset, key_part->length);
buff += key_part->length;
size_t len = key_part->length;
const byte * ptr = record + key_part->offset;
Field *field = key_part->field;
if ((field->type() == MYSQL_TYPE_VARCHAR) &&
((Field_varstring*)field)->length_bytes == 1)
{
/**
* Keys always use 2 bytes length
*/
buff[0] = ptr[0];
buff[1] = 0;
memcpy(buff+2, ptr + 1, len);
len += 2;
}
else
{
memcpy(buff, ptr, len);
}
buff += len;
}
}
else

View file

@ -141,6 +141,8 @@
#define ZALREADYEXIST 630
#define ZINCONSISTENTHASHINDEX 892
#define ZNOTUNIQUE 893
#define ZINVALID_KEY 290
#endif
class Dbtc: public SimulatedBlock {

View file

@ -2314,7 +2314,10 @@ Dbtc::handle_special_hash(Uint32 dstHash[4], Uint32* src, Uint32 srcLen,
{
keyPartLenPtr = keyPartLen;
dstPos = xfrm_key(tabPtrI, src, dst, sizeof(Tmp) >> 2, keyPartLenPtr);
ndbrequire(dstPos);
if (unlikely(dstPos == 0))
{
goto error;
}
}
else
{
@ -2335,6 +2338,10 @@ Dbtc::handle_special_hash(Uint32 dstHash[4], Uint32* src, Uint32 srcLen,
dstHash[1] = tmp[1];
}
return true; // success
error:
terrorCode = ZINVALID_KEY;
return false;
}
/*
@ -2944,7 +2951,15 @@ void Dbtc::tckeyreq050Lab(Signal* signal)
UintR tnoOfStandby;
UintR tnodeinfo;
terrorCode = 0;
hash(signal); /* NOW IT IS TIME TO CALCULATE THE HASH VALUE*/
if (unlikely(terrorCode))
{
releaseAtErrorLab(signal);
return;
}
CacheRecord * const regCachePtr = cachePtr.p;
TcConnectRecord * const regTcPtr = tcConnectptr.p;

View file

@ -236,6 +236,7 @@ ErrorBundle ErrorCodes[] = {
{ 277, DMEC, IE, "277" },
{ 278, DMEC, IE, "278" },
{ 287, DMEC, IE, "Index corrupted" },
{ 290, DMEC, IE, "Corrupt key in TC, unable to xfrm" },
{ 631, DMEC, IE, "631" },
{ 632, DMEC, IE, "632" },
{ 702, DMEC, IE, "Request to non-master" },
@ -303,7 +304,6 @@ ErrorBundle ErrorCodes[] = {
{ 4608, DMEC, AE, "You can not takeOverScan unless you have used openScanExclusive"},
{ 4609, DMEC, AE, "You must call nextScanResult before trying to takeOverScan"},
{ 4232, DMEC, AE, "Parallelism can only be between 1 and 240" },
{ 290, DMEC, AE, "Scan not started or has been closed by kernel due to timeout" },
/**
* Event schema errors

View file

@ -35,7 +35,7 @@ Release: %{release}
License: %{license}
Source: http://www.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/mysql-%{mysql_version}.tar.gz
URL: http://www.mysql.com/
Packager: Lenz Grimmer <build@mysql.com>
Packager: MySQL Production Engineering Team <build@mysql.com>
Vendor: MySQL AB
Provides: msqlormysql MySQL-server mysql
BuildRequires: ncurses-devel
@ -325,7 +325,13 @@ fi
make test-force || true
# Save mysqld-max
mv sql/mysqld sql/mysqld-max
# check if mysqld was installed in .libs/
if test -f sql/.libs/mysqld
then
cp sql/.libs/mysqld sql/mysqld-max
else
cp sql/mysqld sql/mysqld-max
fi
nm --numeric-sort sql/mysqld-max > sql/mysqld-max.sym
# Save the perror binary so it supports the NDB error codes (BUG#13740)
mv extra/perror extra/perror.ndb
@ -363,14 +369,19 @@ BuildMySQL "--disable-shared \
--with-client-ldflags='-all-static' \
$USE_OTHER_LIBC_DIR \
%else
--with-zlib-dir=bundled \
%endif
--with-zlib-dir=bundled \
--with-comment=\"MySQL Community Edition - Standard (GPL)\" \
--with-server-suffix='%{server_suffix}' \
--with-archive-storage-engine \
--with-innodb \
--with-big-tables"
nm --numeric-sort sql/mysqld > sql/mysqld.sym
if test -f sql/.libs/mysqld
then
nm --numeric-sort sql/.libs/mysqld > sql/mysqld.sym
else
nm --numeric-sort sql/mysqld > sql/mysqld.sym
fi
# We might want to save the config log file
if test -n "$MYSQL_CONFLOG_DEST"
@ -678,6 +689,8 @@ fi
%{_libdir}/mysql/libndbclient.a
%{_libdir}/mysql/libndbclient.la
%{_libdir}/mysql/libvio.a
%{_libdir}/mysql/libz.a
%{_libdir}/mysql/libz.la
%files shared
%defattr(-, root, root, 0755)
@ -706,6 +719,13 @@ fi
# itself - note that they must be ordered by date (important when
# merging BK trees)
%changelog
* Fri Dec 12 2005 Rodrigo Novo <rodrigo@mysql.com>
- Added zlib to the list of (static) libraries installed
- Added check against libtool wierdness (WRT: sql/mysqld || sql/.libs/mysqld)
- Compile MySQL with bundled zlib
- Fixed %packager name to "MySQL Production Engineering Team"
* Mon Dec 05 2005 Joerg Bruehe <joerg@mysql.com>
- Avoid using the "bundled" zlib on "shared" builds: