mirror of
https://github.com/MariaDB/server.git
synced 2025-01-23 15:24:16 +01:00
Merge mysql.com:/home/jonas/src/mysql-5.0
into mysql.com:/home/jonas/src/mysql-5.0-ndb
This commit is contained in:
commit
532b97c9f3
4 changed files with 38 additions and 8 deletions
|
@ -4,6 +4,7 @@ dnl Process this file with autoconf to produce a configure script.
|
||||||
AC_INIT(sql/mysqld.cc)
|
AC_INIT(sql/mysqld.cc)
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
# The Docs Makefile.am parses this line!
|
# The Docs Makefile.am parses this line!
|
||||||
|
# remember to also change ndb version below and update version.c in ndb
|
||||||
AM_INIT_AUTOMAKE(mysql, 5.0.2-alpha)
|
AM_INIT_AUTOMAKE(mysql, 5.0.2-alpha)
|
||||||
AM_CONFIG_HEADER(config.h)
|
AM_CONFIG_HEADER(config.h)
|
||||||
|
|
||||||
|
@ -13,10 +14,10 @@ DOT_FRM_VERSION=6
|
||||||
SHARED_LIB_VERSION=14:0:0
|
SHARED_LIB_VERSION=14:0:0
|
||||||
|
|
||||||
# ndb version
|
# ndb version
|
||||||
NDB_VERSION_MAJOR=3
|
NDB_VERSION_MAJOR=5
|
||||||
NDB_VERSION_MINOR=5
|
NDB_VERSION_MINOR=0
|
||||||
NDB_VERSION_BUILD=3
|
NDB_VERSION_BUILD=2
|
||||||
NDB_VERSION_STATUS=""
|
NDB_VERSION_STATUS="alpha"
|
||||||
|
|
||||||
# Set all version vars based on $VERSION. How do we do this more elegant ?
|
# 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
|
# Remember that regexps needs to quote [ and ] since this is run through m4
|
||||||
|
|
|
@ -30,7 +30,7 @@ noinst_HEADERS = config-win.h config-os2.h config-netware.h \
|
||||||
my_nosys.h my_alarm.h queues.h rijndael.h sha1.h \
|
my_nosys.h my_alarm.h queues.h rijndael.h sha1.h \
|
||||||
my_aes.h my_tree.h hash.h thr_alarm.h \
|
my_aes.h my_tree.h hash.h thr_alarm.h \
|
||||||
thr_lock.h t_ctype.h violite.h md5.h \
|
thr_lock.h t_ctype.h violite.h md5.h \
|
||||||
mysql_version.h.in my_handler.h my_time.h
|
mysql_version.h.in my_handler.h my_time.h decimal.h
|
||||||
|
|
||||||
# mysql_version.h are generated
|
# mysql_version.h are generated
|
||||||
SUPERCLEANFILES = mysql_version.h my_config.h
|
SUPERCLEANFILES = mysql_version.h my_config.h
|
||||||
|
|
|
@ -70,10 +70,13 @@ struct NdbUpGradeCompatible {
|
||||||
#ifndef TEST_VERSION
|
#ifndef TEST_VERSION
|
||||||
struct NdbUpGradeCompatible ndbCompatibleTable_full[] = {
|
struct NdbUpGradeCompatible ndbCompatibleTable_full[] = {
|
||||||
{ MAKE_VERSION(3,5,2), MAKE_VERSION(3,5,1), UG_Exact },
|
{ MAKE_VERSION(3,5,2), MAKE_VERSION(3,5,1), UG_Exact },
|
||||||
|
{ MAKE_VERSION(4,1,8), MAKE_VERSION(3,5,4), UG_Exact }, /* Aligned version with MySQL */
|
||||||
{ 0, 0, UG_Null }
|
{ 0, 0, UG_Null }
|
||||||
};
|
};
|
||||||
|
|
||||||
struct NdbUpGradeCompatible ndbCompatibleTable_upgrade[] = {
|
struct NdbUpGradeCompatible ndbCompatibleTable_upgrade[] = {
|
||||||
|
{ MAKE_VERSION(5,0,2), MAKE_VERSION(4,1,8), UG_Exact },
|
||||||
|
{ MAKE_VERSION(3,5,4), MAKE_VERSION(3,5,3), UG_Exact },
|
||||||
{ 0, 0, UG_Null }
|
{ 0, 0, UG_Null }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -579,18 +579,44 @@ int decimal2bin(decimal *from, char *to, int precision, int frac)
|
||||||
{
|
{
|
||||||
dec1 mask=from->sign ? -1 : 0, *buf1=from->buf, *stop1;
|
dec1 mask=from->sign ? -1 : 0, *buf1=from->buf, *stop1;
|
||||||
int error=E_DEC_OK, intg=precision-frac,
|
int error=E_DEC_OK, intg=precision-frac,
|
||||||
|
isize1, intg1, intg1x=from->intg,
|
||||||
intg0=intg/DIG_PER_DEC1,
|
intg0=intg/DIG_PER_DEC1,
|
||||||
frac0=frac/DIG_PER_DEC1,
|
frac0=frac/DIG_PER_DEC1,
|
||||||
intg0x=intg-intg0*DIG_PER_DEC1,
|
intg0x=intg-intg0*DIG_PER_DEC1,
|
||||||
frac0x=frac-frac0*DIG_PER_DEC1,
|
frac0x=frac-frac0*DIG_PER_DEC1,
|
||||||
intg1=from->intg/DIG_PER_DEC1,
|
|
||||||
frac1=from->frac/DIG_PER_DEC1,
|
frac1=from->frac/DIG_PER_DEC1,
|
||||||
intg1x=from->intg-intg1*DIG_PER_DEC1,
|
|
||||||
frac1x=from->frac-frac1*DIG_PER_DEC1,
|
frac1x=from->frac-frac1*DIG_PER_DEC1,
|
||||||
isize0=intg0*sizeof(dec1)+dig2bytes[intg0x],
|
isize0=intg0*sizeof(dec1)+dig2bytes[intg0x],
|
||||||
fsize0=frac0*sizeof(dec1)+dig2bytes[frac0x],
|
fsize0=frac0*sizeof(dec1)+dig2bytes[frac0x],
|
||||||
isize1=intg1*sizeof(dec1)+dig2bytes[intg1x],
|
|
||||||
fsize1=frac1*sizeof(dec1)+dig2bytes[frac1x];
|
fsize1=frac1*sizeof(dec1)+dig2bytes[frac1x];
|
||||||
|
|
||||||
|
/* removing leading zeroes */
|
||||||
|
intg1=((intg1x-1) % DIG_PER_DEC1)+1;
|
||||||
|
while (intg1x > 0 && *buf1 == 0)
|
||||||
|
{
|
||||||
|
intg1x-=intg1;
|
||||||
|
intg1=DIG_PER_DEC1;
|
||||||
|
buf1++;
|
||||||
|
}
|
||||||
|
if (intg1x > 0)
|
||||||
|
{
|
||||||
|
for (intg1=(intg1x-1) % DIG_PER_DEC1; *buf1 < powers10[intg1--]; intg1x--) ;
|
||||||
|
DBUG_ASSERT(intg1x > 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
intg1x=0;
|
||||||
|
|
||||||
|
if (unlikely(intg1x+fsize1==0))
|
||||||
|
{
|
||||||
|
mask=0; /* just in case */
|
||||||
|
intg=1;
|
||||||
|
buf1=&mask;
|
||||||
|
}
|
||||||
|
|
||||||
|
intg1=intg1x/DIG_PER_DEC1;
|
||||||
|
intg1x=intg1x-intg1*DIG_PER_DEC1;
|
||||||
|
isize1=intg1*sizeof(dec1)+dig2bytes[intg1x];
|
||||||
|
|
||||||
if (isize0 < isize1)
|
if (isize0 < isize1)
|
||||||
{
|
{
|
||||||
buf1+=intg1-intg0+(intg1x>0)-(intg0x>0);
|
buf1+=intg1-intg0+(intg1x>0)-(intg0x>0);
|
||||||
|
|
Loading…
Add table
Reference in a new issue