Commit a502beda authored by unknown's avatar unknown

Fixed problems noticed with last build


mysql-test/r/lowercase_table2.result:
  Fixed typo
mysql-test/r/repair.result:
  Portability fix (For OpenBSD)
mysql-test/t/repair.test:
  Portability fix (For OpenBSD)
mysys/my_thr_init.c:
  Fixed crasch with some tests on OpenBSD.
sql/field.cc:
  Don't truncate big values (Caused a core dump on Linux-Alpha for big values)
sql/log.cc:
  More DBUG
parent dc6e0478
...@@ -68,7 +68,7 @@ SHOW CREATE TABLE T1; ...@@ -68,7 +68,7 @@ SHOW CREATE TABLE T1;
Table Create Table Table Create Table
T1 CREATE TABLE `T1` ( T1 CREATE TABLE `T1` (
`a` int(11) default NULL `a` int(11) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin ) ENGINE=InnoDB DEFAULT CHARSET=latin1
RENAME TABLE T1 TO T2; RENAME TABLE T1 TO T2;
SHOW TABLES LIKE "T2"; SHOW TABLES LIKE "T2";
Tables_in_test (T2) Tables_in_test (T2)
......
...@@ -28,6 +28,7 @@ repair table t1 use_frm; ...@@ -28,6 +28,7 @@ repair table t1 use_frm;
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 repair error Table 'test.t1' doesn't exist test.t1 repair error Table 'test.t1' doesn't exist
create table t1 engine=myisam SELECT 1,"table 1"; create table t1 engine=myisam SELECT 1,"table 1";
flush tables;
repair table t1; repair table t1;
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 repair error Can't open file: 't1.MYI' (errno: 130) test.t1 repair error Can't open file: 't1.MYI' (errno: 130)
......
...@@ -28,6 +28,7 @@ drop table t1; ...@@ -28,6 +28,7 @@ drop table t1;
repair table t1 use_frm; repair table t1 use_frm;
create table t1 engine=myisam SELECT 1,"table 1"; create table t1 engine=myisam SELECT 1,"table 1";
flush tables;
system echo 1 > $MYSQL_TEST_DIR/var/master-data/test/t1.MYI ; system echo 1 > $MYSQL_TEST_DIR/var/master-data/test/t1.MYI ;
repair table t1; repair table t1;
repair table t1 use_frm; repair table t1 use_frm;
......
...@@ -203,7 +203,8 @@ void my_thread_end(void) ...@@ -203,7 +203,8 @@ void my_thread_end(void)
tmp->dbug=0; tmp->dbug=0;
} }
#endif #endif
#if !defined(__bsdi__) || defined(HAVE_mit_thread) /* bsdi dumps core here */ #if !defined(__bsdi__) && !defined(__OpenBSD__) || defined(HAVE_mit_thread)
/* bsdi and openbsd 3.5 dumps core here */
pthread_cond_destroy(&tmp->suspend); pthread_cond_destroy(&tmp->suspend);
#endif #endif
pthread_mutex_destroy(&tmp->mutex); pthread_mutex_destroy(&tmp->mutex);
......
...@@ -2308,7 +2308,12 @@ int Field_float::store(double nr) ...@@ -2308,7 +2308,12 @@ int Field_float::store(double nr)
else else
{ {
max_value= (log_10[field_length]-1)/log_10[dec]; max_value= (log_10[field_length]-1)/log_10[dec];
nr= floor(nr*log_10[dec]+0.5)/log_10[dec]; /*
The following comparison is needed to not get an overflow if nr
is close to FLT_MAX
*/
if (fabs(nr) < FLT_MAX/10.0e+32)
nr= floor(nr*log_10[dec]+0.5)/log_10[dec];
} }
if (nr < -max_value) if (nr < -max_value)
{ {
...@@ -2603,7 +2608,8 @@ int Field_double::store(double nr) ...@@ -2603,7 +2608,8 @@ int Field_double::store(double nr)
else else
{ {
max_value= (log_10[field_length]-1)/log_10[dec]; max_value= (log_10[field_length]-1)/log_10[dec];
nr= floor(nr*log_10[dec]+0.5)/log_10[dec]; if (fabs(nr) < DBL_MAX/10.0e+32)
nr= floor(nr*log_10[dec]+0.5)/log_10[dec];
} }
if (nr < -max_value) if (nr < -max_value)
{ {
......
...@@ -107,6 +107,7 @@ MYSQL_LOG::~MYSQL_LOG() ...@@ -107,6 +107,7 @@ MYSQL_LOG::~MYSQL_LOG()
void MYSQL_LOG::cleanup() void MYSQL_LOG::cleanup()
{ {
DBUG_ENTER("cleanup");
if (inited) if (inited)
{ {
inited= 0; inited= 0;
...@@ -115,6 +116,7 @@ void MYSQL_LOG::cleanup() ...@@ -115,6 +116,7 @@ void MYSQL_LOG::cleanup()
(void) pthread_mutex_destroy(&LOCK_index); (void) pthread_mutex_destroy(&LOCK_index);
(void) pthread_cond_destroy(&update_cond); (void) pthread_cond_destroy(&update_cond);
} }
DBUG_VOID_RETURN;
} }
......
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