diff --git a/VC++Files/libmysqld/libmysqld.dsp b/VC++Files/libmysqld/libmysqld.dsp index 019589289cd..bb31a8ada43 100644 --- a/VC++Files/libmysqld/libmysqld.dsp +++ b/VC++Files/libmysqld/libmysqld.dsp @@ -344,6 +344,10 @@ SOURCE=..\mysys\my_alloc.c # End Source File # Begin Source File +SOURCE=..\mysys\my_decimal.cpp +# End Source File +# Begin Source File + SOURCE=..\mysys\my_getopt.c # End Source File # Begin Source File diff --git a/VC++Files/sql/mysqld.dsp b/VC++Files/sql/mysqld.dsp index e63d80d8697..5ca468f7fc9 100644 --- a/VC++Files/sql/mysqld.dsp +++ b/VC++Files/sql/mysqld.dsp @@ -1085,6 +1085,10 @@ SOURCE=.\mf_iocache.cpp # End Source File # Begin Source File +SOURCE=.\my_decimal.cpp +# End Source File +# Begin Source File + SOURCE=.\my_time.c # End Source File # Begin Source File diff --git a/VC++Files/strings/strings.dsp b/VC++Files/strings/strings.dsp index c8f3208e822..340617344f2 100644 --- a/VC++Files/strings/strings.dsp +++ b/VC++Files/strings/strings.dsp @@ -177,6 +177,10 @@ SOURCE=.\ctype.c # End Source File # Begin Source File +SOURCE=.\decimal.c +# End Source File +# Begin Source File + SOURCE=.\int2str.c # End Source File # Begin Source File diff --git a/sql/field.cc b/sql/field.cc index 0be72458701..1da9bf6f7b0 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -1581,10 +1581,10 @@ bool Field_new_decimal::store_value(const my_decimal *decimal_value) DBUG_PRINT("info", ("overflow")); set_value_on_overflow(&buff, dec->sign()); my_decimal2binary(E_DEC_FATAL_ERROR, &buff, ptr, field_length, decimals()); - DBUG_EXECUTE("info", print_decimal_buff(&buff, ptr, bin_size);); + DBUG_EXECUTE("info", print_decimal_buff(&buff, (byte *) ptr, bin_size);); DBUG_RETURN(1); } - DBUG_EXECUTE("info", print_decimal_buff(dec, ptr, bin_size);); + DBUG_EXECUTE("info", print_decimal_buff(dec, (byte *) ptr, bin_size);); DBUG_RETURN(error); } @@ -1708,7 +1708,7 @@ my_decimal* Field_new_decimal::val_decimal(my_decimal *decimal_value) binary2my_decimal(E_DEC_FATAL_ERROR, ptr, decimal_value, field_length, decimals()); - DBUG_EXECUTE("info", print_decimal_buff(decimal_value, ptr, bin_size);); + DBUG_EXECUTE("info", print_decimal_buff(decimal_value, (byte *) ptr, bin_size);); DBUG_RETURN(decimal_value); } diff --git a/sql/item.h b/sql/item.h index 3e1844ec76e..2029337d5c4 100644 --- a/sql/item.h +++ b/sql/item.h @@ -453,7 +453,11 @@ public: longlong val_int(); String *val_str(String *sp); my_decimal *val_decimal(my_decimal *); +#ifdef __WIN__ + bool is_null(); +#else inline bool is_null(); +#endif void print(String *str); inline void make_field(Send_field *field) diff --git a/sql/item_func.cc b/sql/item_func.cc index 1e61474f412..1c03643a915 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -1732,7 +1732,7 @@ longlong Item_func_round::int_op() if (truncate) { if (unsigned_flag) - tmp2= floor(((double)((ulonglong)value))/tmp)*tmp; + tmp2= floor(ulonglong2double(value)/tmp)*tmp; else if (value >= 0) tmp2= floor(((double)value)/tmp)*tmp; else diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 2ecc1eb083c..3cfa1e4e37f 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -578,7 +578,7 @@ bool Item_sum_sum_distinct::add() { DBUG_ASSERT(tree); null_value= 0; - my_decimal2binary(E_DEC_FATAL_ERROR, val, dec_bin_buff, + my_decimal2binary(E_DEC_FATAL_ERROR, val, (char *) dec_bin_buff, args[0]->max_length, args[0]->decimals); DBUG_RETURN(tree->unique_add(dec_bin_buff)); } @@ -613,7 +613,7 @@ void Item_sum_sum_distinct::add_real(double val) void Item_sum_sum_distinct::add_decimal(byte *val) { - binary2my_decimal(E_DEC_FATAL_ERROR, val, &tmp_dec, + binary2my_decimal(E_DEC_FATAL_ERROR, (char *) val, &tmp_dec, args[0]->max_length, args[0]->decimals); my_decimal_add(E_DEC_FATAL_ERROR, dec_buffs + (curr_dec_buff^1), &tmp_dec, dec_buffs + curr_dec_buff); diff --git a/sql/sp_head.cc b/sql/sp_head.cc index 075aef9d286..2ddd40bd22c 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -2018,7 +2018,7 @@ sp_merge_table_hash(HASH *hdst, HASH *hsrc) SP_TABLE *tabsrc= (SP_TABLE *)hash_element(hsrc, i); if (! (tabdst= (SP_TABLE *)hash_search(hdst, - tabsrc->qname.str, + (byte *) tabsrc->qname.str, tabsrc->qname.length))) { my_hash_insert(hdst, (byte *)tabsrc); diff --git a/sql/sql_cache.cc b/sql/sql_cache.cc index b2f7922f1db..1f85d081d55 100644 --- a/sql/sql_cache.cc +++ b/sql/sql_cache.cc @@ -1102,7 +1102,7 @@ Query_cache::send_result_to_client(THD *thd, char *sql, uint query_length) ("Handler require invalidation queries of %s.%s %lld-%lld", table_list.db, table_list.alias, engine_data, table->engine_data())); - invalidate_table(table->db(), table->key_length()); + invalidate_table((byte *) table->db(), table->key_length()); } else thd->lex->safe_to_cache_query= 0; // Don't try to cache this