Commit 84b7a32a authored by peter@mysql.com's avatar peter@mysql.com

Merge mysql.com:/home/pz/mysql/mysql-4.0-root

into mysql.com:/home/pz/mysql/mysql-4.0
parents 8d21c657 03176ed2
...@@ -199,15 +199,15 @@ select * from t1; ...@@ -199,15 +199,15 @@ select * from t1;
a a
0.00 0.00
0.00 0.00
0.00 +0.00
01.00
01.00 01.00
+01.00
0.00 0.00
0.00 0.00
+0.10
0.10 0.10
0.10
00000001.00
00000001.00 00000001.00
+0000001.00
0.00 0.00
99999999.99 99999999.99
99999999.99 99999999.99
...@@ -316,9 +316,9 @@ select * from t1; ...@@ -316,9 +316,9 @@ select * from t1;
a a
0 0
0 0
1 +1
01 01
0000000001 +000000001
1234567890 1234567890
9999999999 9999999999
drop table t1; drop table t1;
......
...@@ -431,8 +431,9 @@ void Field_decimal::store(const char *from,uint len) ...@@ -431,8 +431,9 @@ void Field_decimal::store(const char *from,uint len)
{ {
sign_char= *from++; sign_char= *from++;
/* /*
Unsigned can't have any flag. So we'll just drop "+" We allow "+" for unsigned decimal unless defined different
and will overflow on "-" Both options allowed as one may wish not to have "+" for unsigned numbers
because of data processing issues
*/ */
if (unsigned_flag) if (unsigned_flag)
{ {
...@@ -441,8 +442,14 @@ void Field_decimal::store(const char *from,uint len) ...@@ -441,8 +442,14 @@ void Field_decimal::store(const char *from,uint len)
Field_decimal::overflow(1); Field_decimal::overflow(1);
return; return;
} }
/*
Defining this will not store "+" for unsigned decimal type even if
it is passed in numeric string. This will make some tests to fail
*/
#ifdef DONT_ALLOW_UNSIGNED_PLUS
else else
sign_char=0; sign_char=0;
#endif
} }
} }
......
...@@ -706,8 +706,10 @@ pthread_handler_decl(handle_bootstrap,arg) ...@@ -706,8 +706,10 @@ pthread_handler_decl(handle_bootstrap,arg)
thd->dbug_thread_id=my_thread_id(); thd->dbug_thread_id=my_thread_id();
#if !defined(__WIN__) && !defined(OS2) #if !defined(__WIN__) && !defined(OS2)
sigset_t set; sigset_t set;
VOID(sigemptyset(&set)); // Get mask in use VOID(sigemptyset(&set));
VOID(pthread_sigmask(SIG_UNBLOCK,&set,&thd->block_signals)); VOID(sigaddset(&set,SIGINT));
// Get mask in use and block SIGINT
VOID(pthread_sigmask(SIG_BLOCK,&set,&thd->block_signals));
#endif #endif
if ((ulong) thd->variables.max_join_size == (ulong) HA_POS_ERROR) if ((ulong) thd->variables.max_join_size == (ulong) HA_POS_ERROR)
......
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