diff options
author | unknown <konstantin@mysql.com> | 2003-12-10 17:41:15 +0300 |
---|---|---|
committer | unknown <konstantin@mysql.com> | 2003-12-10 17:41:15 +0300 |
commit | fc1f426e8c7f0768611dcd2af70147b5e14a5e95 (patch) | |
tree | f6b43d8dc3e88331d9e6779612dc2495d3407b23 | |
parent | f195cf9d1455f05bd6e6b1e0225f1062dc28d9f7 (diff) | |
parent | 02cf765fba0a6cf88d7166c737e227f9c389f87c (diff) | |
download | mariadb-git-fc1f426e8c7f0768611dcd2af70147b5e14a5e95.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/kostja/mysql/mysql-4.0-1993
-rw-r--r-- | acinclude.m4 | 4 | ||||
-rw-r--r-- | client/mysqldump.c | 34 | ||||
-rw-r--r-- | mysql-test/r/mysqldump.result | 48 | ||||
-rw-r--r-- | mysql-test/t/mysqldump.test | 19 | ||||
-rw-r--r-- | mysys/my_thr_init.c | 3 |
5 files changed, 101 insertions, 7 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index f7833bdce41..8a92048f9ab 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -745,7 +745,7 @@ AC_DEFUN(MYSQL_FIND_OPENSSL, [ for d in /usr/ssl/lib /usr/local/ssl/lib /usr/lib/openssl \ /usr/lib /usr/lib64 /opt/ssl/lib /opt/openssl/lib /usr/local/lib/ ; do - if test -f $d/libssl.a ; then + if test -f $d/libssl.a || test -f $d/libssl.so || test -f $d/libssl.dylib ; then OPENSSL_LIB=$d fi done @@ -757,7 +757,7 @@ AC_DEFUN(MYSQL_FIND_OPENSSL, [ if test -f $incs/openssl/ssl.h ; then OPENSSL_INCLUDE=-I$incs fi - if test -f $libs/libssl.a ; then + if test -f $libs/libssl.a || test -f $libs/libssl.so || test -f $libs/libssl.dylib ; then OPENSSL_LIB=$libs fi ;; diff --git a/client/mysqldump.c b/client/mysqldump.c index 40f88021c89..7092503fa25 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -1067,10 +1067,22 @@ static void dumpTable(uint numFields, char *table) } else { - /* change any strings ("inf","nan",..) into NULL */ + /* change any strings ("inf", "-inf", "nan") into NULL */ char *ptr = row[i]; - dynstr_append(&extended_row, - (!isalpha(*ptr)) ? ptr : "NULL"); + if (isalpha(*ptr) || (*ptr == '-' && *(ptr+1) == 'i')) + dynstr_append(&extended_row, "NULL"); + else + { + if (field->type == FIELD_TYPE_DECIMAL) + { + /* add " signs around */ + dynstr_append(&extended_row, "\""); + dynstr_append(&extended_row, ptr); + dynstr_append(&extended_row, "\""); + } + else + dynstr_append(&extended_row, ptr); + } } } else @@ -1098,13 +1110,25 @@ static void dumpTable(uint numFields, char *table) } else { - /* change any strings ("inf","nan",..) into NULL */ + /* change any strings ("inf", "-inf", "nan") into NULL */ char *ptr = row[i]; if (opt_xml) fprintf(md_result_file, "\t\t<field name=\"%s\">%s</field>\n", field->name,!isalpha(*ptr) ?ptr: "NULL"); + else if (isalpha(*ptr) || (*ptr == '-' && *(ptr+1) == 'i')) + fputs("NULL", md_result_file); else - fputs((!isalpha(*ptr)) ? ptr : "NULL", md_result_file); + { + if (field->type == FIELD_TYPE_DECIMAL) + { + /* add " signs around */ + fputs("\"", md_result_file); + fputs(ptr, md_result_file); + fputs("\"", md_result_file); + } + else + fputs(ptr, md_result_file); + } } } else diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result index 085cf2788f9..01edd10b896 100644 --- a/mysql-test/r/mysqldump.result +++ b/mysql-test/r/mysqldump.result @@ -15,3 +15,51 @@ INSERT INTO t1 VALUES (1), (2); </database> </mysqldump> DROP TABLE t1; +CREATE TABLE t1 (a decimal(240, 20)); +INSERT INTO t1 VALUES ("1234567890123456789012345678901234567890"), +("0987654321098765432109876543210987654321"); +-- MySQL dump 9.09 +-- +-- Host: localhost Database: test +-- ------------------------------------------------------ +-- Server version 4.0.17-debug-log + +-- +-- Table structure for table `t1` +-- + +CREATE TABLE t1 ( + a decimal(240,20) default NULL +) TYPE=MyISAM; + +-- +-- Dumping data for table `t1` +-- + +INSERT INTO t1 VALUES ("1234567890123456789012345678901234567890.00000000000000000000"); +INSERT INTO t1 VALUES ("0987654321098765432109876543210987654321.00000000000000000000"); + +DROP TABLE t1; +CREATE TABLE t1 (a double); +INSERT INTO t1 VALUES (-9e999999); +-- MySQL dump 9.09 +-- +-- Host: localhost Database: test +-- ------------------------------------------------------ +-- Server version 4.0.17-debug-log + +-- +-- Table structure for table `t1` +-- + +CREATE TABLE t1 ( + a double default NULL +) TYPE=MyISAM; + +-- +-- Dumping data for table `t1` +-- + +INSERT INTO t1 VALUES (NULL); + +DROP TABLE t1; diff --git a/mysql-test/t/mysqldump.test b/mysql-test/t/mysqldump.test index c98fd4050f2..87363855db0 100644 --- a/mysql-test/t/mysqldump.test +++ b/mysql-test/t/mysqldump.test @@ -8,3 +8,22 @@ CREATE TABLE t1(a int); INSERT INTO t1 VALUES (1), (2); --exec $MYSQL_DUMP -X test t1 DROP TABLE t1; + +# +# Bug #2005 +# + +CREATE TABLE t1 (a decimal(240, 20)); +INSERT INTO t1 VALUES ("1234567890123456789012345678901234567890"), +("0987654321098765432109876543210987654321"); +--exec $MYSQL_DUMP test t1 +DROP TABLE t1; + +# +# Bug #2055 +# + +CREATE TABLE t1 (a double); +INSERT INTO t1 VALUES (-9e999999); +--exec $MYSQL_DUMP test t1 +DROP TABLE t1; diff --git a/mysys/my_thr_init.c b/mysys/my_thr_init.c index 9f64e9dcb60..3196256facc 100644 --- a/mysys/my_thr_init.c +++ b/mysys/my_thr_init.c @@ -157,6 +157,9 @@ my_bool my_thread_init(void) tmp= &THR_KEY_mysys; #endif tmp->id= ++thread_id; +#if defined(__WIN__) && defined(EMBEDDED_LIBRARY) + tmp->thread_self= (pthread_t)getpid(); +#endif pthread_mutex_init(&tmp->mutex,MY_MUTEX_INIT_FAST); pthread_cond_init(&tmp->suspend, NULL); tmp->init= 1; |