diff options
author | jani@hynda.mysql.fi <> | 2001-09-03 16:09:25 +0300 |
---|---|---|
committer | jani@hynda.mysql.fi <> | 2001-09-03 16:09:25 +0300 |
commit | 5c994ad67f2a241995ba1a92ccf447954cfbc37d (patch) | |
tree | 86d5f53d82343ca0bb2510b7f0fd3e8e95f1daeb /client | |
parent | 3a3d1e28e5c6966c4e8b740443869f9857a557b3 (diff) | |
download | mariadb-git-5c994ad67f2a241995ba1a92ccf447954cfbc37d.tar.gz |
Fixed a problem with dumping string values in float and double
fields (inf,nan,...); should be dumped as "NULL".
Diffstat (limited to 'client')
-rw-r--r-- | client/mysqldump.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/client/mysqldump.c b/client/mysqldump.c index 9038c88e085..92c419ad566 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -1061,7 +1061,12 @@ static void dumpTable(uint numFields, char *table) dynstr_append(&extended_row,"\'"); } else - dynstr_append(&extended_row,row[i]); + { + /* change any strings ("inf","nan",..) into NULL */ + char *ptr = row[i]; + dynstr_append(&extended_row, + (!isalpha(*ptr)) ? ptr : "NULL"); + } } else dynstr_append(&extended_row,"\'\'"); @@ -1081,7 +1086,11 @@ static void dumpTable(uint numFields, char *table) if (!IS_NUM_FIELD(field)) unescape(md_result_file, row[i], lengths[i]); else - fputs(row[i],md_result_file); + { + /* change any strings ("inf","nan",..) into NULL */ + char *ptr = row[i]; + fputs((!isalpha(*ptr)) ? ptr : "NULL", md_result_file); + } } else { |