summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <peter@mysql.com>2002-07-31 21:12:11 +0400
committerunknown <peter@mysql.com>2002-07-31 21:12:11 +0400
commit3e82337c17ba8da98316e77c515932a07ba2bec7 (patch)
treecdf0279e6b5dcc9bc70fe1f53ec5afe47fbdc8f2 /sql
parent653f9d2e788d4fb940f37ffa635e5d2907b9746f (diff)
parent3b3d0d74e9d625a6552b12ac534ec63725966103 (diff)
downloadmariadb-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.cc11
-rw-r--r--sql/sql_parse.cc6
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)