diff options
author | unknown <peter@mysql.com> | 2002-07-31 21:12:11 +0400 |
---|---|---|
committer | unknown <peter@mysql.com> | 2002-07-31 21:12:11 +0400 |
commit | 3e82337c17ba8da98316e77c515932a07ba2bec7 (patch) | |
tree | cdf0279e6b5dcc9bc70fe1f53ec5afe47fbdc8f2 /sql | |
parent | 653f9d2e788d4fb940f37ffa635e5d2907b9746f (diff) | |
parent | 3b3d0d74e9d625a6552b12ac534ec63725966103 (diff) | |
download | mariadb-git-3e82337c17ba8da98316e77c515932a07ba2bec7.tar.gz |
Merge mysql.com:/home/pz/mysql/mysql-4.0-root
into mysql.com:/home/pz/mysql/mysql-4.0
Diffstat (limited to 'sql')
-rw-r--r-- | sql/field.cc | 11 | ||||
-rw-r--r-- | sql/sql_parse.cc | 6 |
2 files changed, 13 insertions, 4 deletions
diff --git a/sql/field.cc b/sql/field.cc index eb3dc7948d4..42ddcc3b9d2 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -431,8 +431,9 @@ void Field_decimal::store(const char *from,uint len) { sign_char= *from++; /* - Unsigned can't have any flag. So we'll just drop "+" - and will overflow on "-" + We allow "+" for unsigned decimal unless defined different + Both options allowed as one may wish not to have "+" for unsigned numbers + because of data processing issues */ if (unsigned_flag) { @@ -441,8 +442,14 @@ void Field_decimal::store(const char *from,uint len) Field_decimal::overflow(1); 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 sign_char=0; +#endif } } diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 33229b4cb4c..28e77ecd697 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -706,8 +706,10 @@ pthread_handler_decl(handle_bootstrap,arg) thd->dbug_thread_id=my_thread_id(); #if !defined(__WIN__) && !defined(OS2) sigset_t set; - VOID(sigemptyset(&set)); // Get mask in use - VOID(pthread_sigmask(SIG_UNBLOCK,&set,&thd->block_signals)); + VOID(sigemptyset(&set)); + VOID(sigaddset(&set,SIGINT)); + // Get mask in use and block SIGINT + VOID(pthread_sigmask(SIG_BLOCK,&set,&thd->block_signals)); #endif if ((ulong) thd->variables.max_join_size == (ulong) HA_POS_ERROR) |