diff options
Diffstat (limited to 'sql')
-rw-r--r-- | sql/field.cc | 4 | ||||
-rw-r--r-- | sql/gen_lex_hash.cc | 5 | ||||
-rw-r--r-- | sql/slave.cc | 2 | ||||
-rw-r--r-- | sql/sql_insert.cc | 2 |
4 files changed, 9 insertions, 4 deletions
diff --git a/sql/field.cc b/sql/field.cc index a23f41e1fa0..88f4098ca0a 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -699,11 +699,13 @@ void Field_decimal::store(double nr) return; } - if (isinf(nr)) // Handle infinity as special case +#ifdef HAVE_FINITE + if (!finite(nr)) // Handle infinity as special case { overflow(nr < 0.0); return; } +#endif reg4 uint i,length; char fyllchar,*to; diff --git a/sql/gen_lex_hash.cc b/sql/gen_lex_hash.cc index a4f0791d105..776b6840b45 100644 --- a/sql/gen_lex_hash.cc +++ b/sql/gen_lex_hash.cc @@ -373,7 +373,7 @@ static my_bool get_one_option(int optid, const struct my_option *opt __attribute__((unused)), char *argument __attribute__((unused))) { - switch(optid) { + switch (optid) { case 'v': opt_verbose++; break; @@ -398,8 +398,9 @@ static int get_options(int argc, char **argv) if (argc >= 1) { + fprintf(stderr,"%s: Too many arguments\n", my_progname); usage(0); - exit(1); + exit(1); } return(0); } diff --git a/sql/slave.cc b/sql/slave.cc index 6f173ba5cd8..5ca78b6c7a2 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -881,7 +881,7 @@ static int create_table_from_dump(THD* thd, NET* net, const char* db, /* we do not want to log create table statement */ save_options = thd->options; - thd->options &= ~OPTION_BIN_LOG; + thd->options &= ~(ulong) OPTION_BIN_LOG; thd->proc_info = "Creating table from master dump"; // save old db in case we are creating in a different database char* save_db = thd->db; diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index f5b69f1aff9..a3c6da5e50d 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -263,7 +263,9 @@ int mysql_insert(THD *thd,TABLE_LIST *table_list, List<Item> &fields, end_delayed_insert(thd); } if (info.copied || info.deleted) + { query_cache_invalidate3(thd, table_list, 1); + } } else { |