Commit ad52a590 authored by holyfoot/hf@hfmain.(none)'s avatar holyfoot/hf@hfmain.(none)
Browse files

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

into  mysql.com:/home/hf/work/mrg/my50-mrg
parents 83e0fef8 d02855d9
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -391,7 +391,7 @@ typedef struct st_udf_init
  unsigned int decimals;       /* for real functions */
  unsigned long max_length;    /* For string functions */
  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;
/* 
  TODO: add a notion for determinism of the UDF. 
+17 −3
Original line number Diff line number Diff line
@@ -184,7 +184,7 @@ typedef fp_except fp_except_t;
     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 */
#if defined(__i386__)
@@ -195,8 +195,22 @@ inline void reset_floating_point_exceptions()
	     FP_X_IMP));
#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
#define reset_floating_point_exceptions()
#define set_proper_floating_point_mode()
#endif /* __FreeBSD__ && HAVE_IEEEFP_H */

} /* cplusplus */
@@ -3125,7 +3139,7 @@ static int init_server_components()
  query_cache_init();
  query_cache_resize(query_cache_size);
  randominit(&sql_rand,(ulong) server_start_time,(ulong) server_start_time/2);
  reset_floating_point_exceptions();
  set_proper_floating_point_mode();
  init_thr_lock();
#ifdef HAVE_REPLICATION
  init_slave_list();