Commit 4100e3e4 authored by unknown's avatar unknown

Merge mysql.com:/home/hf/work/mrg/my41-mrg

into  mysql.com:/home/hf/work/mrg/my50-mrg


include/mysql_com.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
parents 11c17294 d87a75c1
...@@ -387,11 +387,11 @@ typedef struct st_udf_args ...@@ -387,11 +387,11 @@ typedef struct st_udf_args
typedef struct st_udf_init typedef struct st_udf_init
{ {
my_bool maybe_null; /* 1 if function can return NULL */ my_bool maybe_null; /* 1 if function can return NULL */
unsigned int decimals; /* for real functions */ unsigned int decimals; /* for real functions */
unsigned long max_length; /* For string functions */ unsigned long max_length; /* For string functions */
char *ptr; /* free pointer for function data */ char *ptr; /* free pointer for function data */
my_bool const_item; /* 0 if result is independent of arguments */ my_bool const_item; /* 1 if function always returns the same value */
} UDF_INIT; } UDF_INIT;
/* /*
TODO: add a notion for determinism of the UDF. TODO: add a notion for determinism of the UDF.
......
...@@ -184,7 +184,7 @@ typedef fp_except fp_except_t; ...@@ -184,7 +184,7 @@ typedef fp_except fp_except_t;
this on freebsd this on freebsd
*/ */
inline void reset_floating_point_exceptions() inline void set_proper_floating_point_mode()
{ {
/* Don't fall for overflow, underflow,divide-by-zero or loss of precision */ /* Don't fall for overflow, underflow,divide-by-zero or loss of precision */
#if defined(__i386__) #if defined(__i386__)
...@@ -195,8 +195,22 @@ inline void reset_floating_point_exceptions() ...@@ -195,8 +195,22 @@ inline void reset_floating_point_exceptions()
FP_X_IMP)); FP_X_IMP));
#endif #endif
} }
#elif defined(__sgi)
/* for IRIX to use set_fpc_csr() */
#include <sys/fpu.h>
inline void set_proper_floating_point_mode()
{
/* Enable denormalized DOUBLE values support for IRIX */
{
union fpc_csr n;
n.fc_word = get_fpc_csr();
n.fc_struct.flush = 0;
set_fpc_csr(n.fc_word);
}
}
#else #else
#define reset_floating_point_exceptions() #define set_proper_floating_point_mode()
#endif /* __FreeBSD__ && HAVE_IEEEFP_H */ #endif /* __FreeBSD__ && HAVE_IEEEFP_H */
} /* cplusplus */ } /* cplusplus */
...@@ -3125,7 +3139,7 @@ static int init_server_components() ...@@ -3125,7 +3139,7 @@ static int init_server_components()
query_cache_init(); query_cache_init();
query_cache_resize(query_cache_size); query_cache_resize(query_cache_size);
randominit(&sql_rand,(ulong) server_start_time,(ulong) server_start_time/2); randominit(&sql_rand,(ulong) server_start_time,(ulong) server_start_time/2);
reset_floating_point_exceptions(); set_proper_floating_point_mode();
init_thr_lock(); init_thr_lock();
#ifdef HAVE_REPLICATION #ifdef HAVE_REPLICATION
init_slave_list(); init_slave_list();
......
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