mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Update needed for SuSE 7.3
Update for autoconf 2.52 BitKeeper/deleted/.del-compile-pentium-symbols~b1b0f0b465eb15b8: Delete: BUILD/compile-pentium-symbols BUILD/Makefile.am: Remove not used scripts BUILD/SETUP.sh: Update needed for SuSE 7.3 BUILD/compile-alpha: Update needed for SuSE 7.3 BUILD/compile-pentium-debug-no-bdb: Update needed for SuSE 7.3 BUILD/compile-pentium-gcov: Update needed for SuSE 7.3 BUILD/compile-pentium-gprof: Update needed for SuSE 7.3 BUILD/compile-pentium-mysqlfs-debug: Update needed for SuSE 7.3 BUILD/compile-pentium: Update needed for SuSE 7.3 Docs/manual.texi: changelog Docs/mysqld_error.txt: New error messages. acconfig.h: Update to autoconf 2.52 acinclude.m4: Update to autoconf 2.52 bdb/dist/configure.in: Update to autoconf 2.52 configure.in: Update to autoconf 2.52 myisam/mi_check.c: Fix for myisamchk bug when reparing table with many keys. myisam/mi_key.c: Fix problem with NAN in key's scripts/Makefile.am: Fix for autoconf 2.52 scripts/mysql_new_fix_privilege_tables.sh: cleanup
This commit is contained in:
@ -18,6 +18,9 @@
|
||||
|
||||
#include "myisamdef.h"
|
||||
#include "m_ctype.h"
|
||||
#ifdef HAVE_IEEEFP_H
|
||||
#include <ieeefp.h>
|
||||
#endif
|
||||
|
||||
#define CHECK_KEYS
|
||||
|
||||
@ -88,25 +91,28 @@ uint _mi_make_key(register MI_INFO *info, uint keynr, uchar *key,
|
||||
}
|
||||
else if (keyseg->flag & HA_SWAP_KEY)
|
||||
{ /* Numerical column */
|
||||
#ifdef NAN_TEST
|
||||
float float_nr;
|
||||
double dbl_nr;
|
||||
#ifdef HAVE_ISNAN
|
||||
if (type == HA_KEYTYPE_FLOAT)
|
||||
{
|
||||
float_nr=float4get(pos);
|
||||
if (float_nr == (float) FLT_MAX)
|
||||
float nr;
|
||||
float4get(nr,pos);
|
||||
if (isnan(nr))
|
||||
{
|
||||
float_nr= (float) FLT_MAX;
|
||||
pos= (byte*) &float_nr;
|
||||
/* Replace NAN with zero */
|
||||
bzero(key,length);
|
||||
key+=length;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else if (type == HA_KEYTYPE_DOUBLE)
|
||||
{
|
||||
dbl_nr=float8get(key);
|
||||
if (dbl_nr == DBL_MAX)
|
||||
double nr;
|
||||
float8get(nr,pos);
|
||||
if (isnan(nr))
|
||||
{
|
||||
dbl_nr=DBL_MAX;
|
||||
pos=(byte*) &dbl_nr;
|
||||
bzero(key,length);
|
||||
key+=length;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user