diff options
Diffstat (limited to 'sql')
40 files changed, 198 insertions, 186 deletions
diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt index 5e6e6b48a27..6d7b73ffcee 100644 --- a/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt @@ -92,7 +92,7 @@ ADD_LIBRARY(sql STATIC ${SQL_SOURCE}) ADD_DEPENDENCIES(sql GenServerSource) DTRACE_INSTRUMENT(sql) TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATIC_PLUGIN_LIBS} - mysys ${DBUG_LIBRARY} strings vio regex + mysys dbug strings vio regex ${LIBWRAP} ${LIBCRYPT} ${LIBDL} ${SSL_LIBRARIES}) diff --git a/sql/event_db_repository.cc b/sql/event_db_repository.cc index 252dac5f01d..8099d87b580 100644 --- a/sql/event_db_repository.cc +++ b/sql/event_db_repository.cc @@ -201,7 +201,7 @@ mysql_event_fill_row(THD *thd, TABLE *table, Event_parse_data *et, sp_head *sp, - ulong sql_mode, + ulonglong sql_mode, my_bool is_update) { CHARSET_INFO *scs= system_charset_info; @@ -652,7 +652,7 @@ Event_db_repository::create_event(THD *thd, Event_parse_data *parse_data, int ret= 1; TABLE *table= NULL; sp_head *sp= thd->lex->sphead; - ulong saved_mode= thd->variables.sql_mode; + ulonglong saved_mode= thd->variables.sql_mode; /* Take a savepoint to release only the lock on mysql.event table at the end but keep the global read lock and @@ -769,7 +769,7 @@ Event_db_repository::update_event(THD *thd, Event_parse_data *parse_data, CHARSET_INFO *scs= system_charset_info; TABLE *table= NULL; sp_head *sp= thd->lex->sphead; - ulong saved_mode= thd->variables.sql_mode; + ulonglong saved_mode= thd->variables.sql_mode; /* Take a savepoint to release only the lock on mysql.event table at the end but keep the global read lock and @@ -1053,7 +1053,7 @@ Event_db_repository::load_named_event(THD *thd, LEX_STRING dbname, LEX_STRING name, Event_basic *etn) { bool ret; - ulong saved_mode= thd->variables.sql_mode; + ulonglong saved_mode= thd->variables.sql_mode; Open_tables_backup open_tables_backup; TABLE_LIST event_table; diff --git a/sql/field.cc b/sql/field.cc index 550cc435467..42d71477372 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -1762,7 +1762,7 @@ uint Field::fill_cache_field(CACHE_FIELD *copy) } -bool Field::get_date(MYSQL_TIME *ltime,uint fuzzydate) +bool Field::get_date(MYSQL_TIME *ltime,ulonglong fuzzydate) { char buff[40]; String tmp(buff,sizeof(buff),&my_charset_bin),*res; @@ -4254,7 +4254,7 @@ my_decimal *Field_real::val_decimal(my_decimal *decimal_value) } -bool Field_real::get_date(MYSQL_TIME *ltime,uint fuzzydate) +bool Field_real::get_date(MYSQL_TIME *ltime,ulonglong fuzzydate) { ASSERT_COLUMN_MARKED_FOR_READ; double nr= val_real(); @@ -4640,7 +4640,7 @@ String *Field_timestamp::val_str(String *val_buffer, String *val_ptr) } -bool Field_timestamp::get_date(MYSQL_TIME *ltime, uint fuzzydate) +bool Field_timestamp::get_date(MYSQL_TIME *ltime, ulonglong fuzzydate) { THD *thd= table->in_use; thd->time_zone_used= 1; @@ -5185,7 +5185,7 @@ String *Field_time::val_str(String *val_buffer, DATE_FORMAT(time, "%l.%i %p") */ -bool Field_time::get_date(MYSQL_TIME *ltime, uint fuzzydate) +bool Field_time::get_date(MYSQL_TIME *ltime, ulonglong fuzzydate) { THD *thd= table->in_use; if (!(fuzzydate & (TIME_FUZZY_DATE|TIME_TIME_ONLY))) @@ -5303,7 +5303,7 @@ String *Field_time_hires::val_str(String *str, return str; } -bool Field_time_hires::get_date(MYSQL_TIME *ltime, uint fuzzydate) +bool Field_time_hires::get_date(MYSQL_TIME *ltime, ulonglong fuzzydate) { uint32 len= pack_length(); longlong packed= read_bigendian(ptr, len); @@ -5483,7 +5483,7 @@ String *Field_year::val_str(String *val_buffer, } -bool Field_year::get_date(MYSQL_TIME *ltime,uint fuzzydate) +bool Field_year::get_date(MYSQL_TIME *ltime,ulonglong fuzzydate) { int tmp= (int) ptr[0]; if (tmp || field_length != 4) @@ -5654,7 +5654,7 @@ String *Field_newdate::val_str(String *val_buffer, } -bool Field_newdate::get_date(MYSQL_TIME *ltime,uint fuzzydate) +bool Field_newdate::get_date(MYSQL_TIME *ltime,ulonglong fuzzydate) { uint32 tmp=(uint32) uint3korr(ptr); ltime->day= tmp & 31; @@ -5774,7 +5774,7 @@ String *Field_datetime::val_str(String *val_buffer, return val_buffer; } -bool Field_datetime::get_date(MYSQL_TIME *ltime, uint fuzzydate) +bool Field_datetime::get_date(MYSQL_TIME *ltime, ulonglong fuzzydate) { longlong tmp=Field_datetime::val_int(); uint32 part1,part2; @@ -5890,7 +5890,7 @@ String *Field_datetime_hires::val_str(String *str, return str; } -bool Field_datetime_hires::get_date(MYSQL_TIME *ltime, uint fuzzydate) +bool Field_datetime_hires::get_date(MYSQL_TIME *ltime, ulonglong fuzzydate) { ulonglong packed= read_bigendian(ptr, Field_datetime_hires::pack_length()); unpack_time(sec_part_unshift(packed, dec), ltime); diff --git a/sql/field.h b/sql/field.h index 8e7e5a6d854..84d60012a85 100644 --- a/sql/field.h +++ b/sql/field.h @@ -526,7 +526,7 @@ public: } void copy_from_tmp(int offset); uint fill_cache_field(struct st_cache_field *copy); - virtual bool get_date(MYSQL_TIME *ltime,uint fuzzydate); + virtual bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); bool get_time(MYSQL_TIME *ltime) { return get_date(ltime, TIME_TIME_ONLY); } virtual CHARSET_INFO *charset(void) const { return &my_charset_bin; } virtual CHARSET_INFO *charset_for_protocol(void) const @@ -792,7 +792,7 @@ public: Item_result result_type () const { return REAL_RESULT; } int store_decimal(const my_decimal *); int store_time_dec(MYSQL_TIME *ltime, uint dec); - bool get_date(MYSQL_TIME *ltime,uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); my_decimal *val_decimal(my_decimal *); uint32 max_display_length() { return field_length; } uint size_of() const { return sizeof(*this); } @@ -1257,7 +1257,7 @@ public: { int4store(ptr,timestamp); } - bool get_date(MYSQL_TIME *ltime,uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); timestamp_auto_set_type get_auto_set_type() const; uchar *pack(uchar *to, const uchar *from, uint max_length __attribute__((unused))) @@ -1327,7 +1327,7 @@ public: double val_real(void); longlong val_int(void); String *val_str(String*,String *); - bool get_date(MYSQL_TIME *ltime,uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); bool send_binary(Protocol *protocol); uint32 max_display_length() { return field_length; } void sql_type(String &str) const; @@ -1420,7 +1420,7 @@ public: uint32 pack_length() const { return 3; } void sql_type(String &str) const; bool zero_pack() const { return 1; } - bool get_date(MYSQL_TIME *ltime,uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); }; @@ -1443,7 +1443,7 @@ public: double val_real(void); longlong val_int(void); String *val_str(String*,String *); - bool get_date(MYSQL_TIME *ltime, uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); bool send_binary(Protocol *protocol); int cmp(const uchar *,const uchar *); void sort_string(uchar *buff,uint length); @@ -1476,7 +1476,7 @@ public: double val_real(void); String *val_str(String*,String *); int reset(void); - bool get_date(MYSQL_TIME *ltime, uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); bool send_binary(Protocol *protocol); int cmp(const uchar *,const uchar *); void sort_string(uchar *buff,uint length); @@ -1507,7 +1507,7 @@ public: uint32 pack_length() const { return 8; } void sql_type(String &str) const; bool zero_pack() const { return 1; } - bool get_date(MYSQL_TIME *ltime,uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); uchar *pack(uchar* to, const uchar *from, uint max_length __attribute__((unused))) { @@ -1548,7 +1548,7 @@ public: void sort_string(uchar *buff,uint length); uint32 pack_length() const; void sql_type(String &str) const; - bool get_date(MYSQL_TIME *ltime,uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); uchar *pack(uchar *to, const uchar *from, uint max_length) { return Field::pack(to, from, max_length); } const uchar *unpack(uchar* to, const uchar *from, uint param_data) diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index c580ae86439..b4dc3f79e0c 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -3325,7 +3325,7 @@ int ha_partition::write_row(uchar * buf) my_bitmap_map *old_map; THD *thd= ha_thd(); timestamp_auto_set_type saved_timestamp_type= table->timestamp_field_type; - ulong saved_sql_mode= thd->variables.sql_mode; + ulonglong saved_sql_mode= thd->variables.sql_mode; bool saved_auto_inc_field_not_null= table->auto_increment_field_not_null; #ifdef NOT_NEEDED uchar *rec0= m_rec0; diff --git a/sql/handler.cc b/sql/handler.cc index b2736e4559d..90889e046e9 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -4091,9 +4091,9 @@ int ha_init_key_cache(const char *name, KEY_CACHE *key_cache, void *unused mysql_mutex_lock(&LOCK_global_system_variables); size_t tmp_buff_size= (size_t) key_cache->param_buff_size; uint tmp_block_size= (uint) key_cache->param_block_size; - uint division_limit= key_cache->param_division_limit; - uint age_threshold= key_cache->param_age_threshold; - uint partitions= key_cache->param_partitions; + uint division_limit= (uint)key_cache->param_division_limit; + uint age_threshold= (uint)key_cache->param_age_threshold; + uint partitions= (uint)key_cache->param_partitions; mysql_mutex_unlock(&LOCK_global_system_variables); DBUG_RETURN(!init_key_cache(key_cache, tmp_block_size, @@ -4117,8 +4117,8 @@ int ha_resize_key_cache(KEY_CACHE *key_cache) mysql_mutex_lock(&LOCK_global_system_variables); size_t tmp_buff_size= (size_t) key_cache->param_buff_size; long tmp_block_size= (long) key_cache->param_block_size; - uint division_limit= key_cache->param_division_limit; - uint age_threshold= key_cache->param_age_threshold; + uint division_limit= (uint)key_cache->param_division_limit; + uint age_threshold= (uint)key_cache->param_age_threshold; mysql_mutex_unlock(&LOCK_global_system_variables); DBUG_RETURN(!resize_key_cache(key_cache, tmp_block_size, tmp_buff_size, @@ -4138,8 +4138,8 @@ int ha_change_key_cache_param(KEY_CACHE *key_cache) if (key_cache->key_cache_inited) { mysql_mutex_lock(&LOCK_global_system_variables); - uint division_limit= key_cache->param_division_limit; - uint age_threshold= key_cache->param_age_threshold; + uint division_limit= (uint)key_cache->param_division_limit; + uint age_threshold= (uint)key_cache->param_age_threshold; mysql_mutex_unlock(&LOCK_global_system_variables); change_key_cache_param(key_cache, division_limit, age_threshold); } @@ -4159,9 +4159,9 @@ int ha_repartition_key_cache(KEY_CACHE *key_cache) mysql_mutex_lock(&LOCK_global_system_variables); size_t tmp_buff_size= (size_t) key_cache->param_buff_size; long tmp_block_size= (long) key_cache->param_block_size; - uint division_limit= key_cache->param_division_limit; - uint age_threshold= key_cache->param_age_threshold; - uint partitions= key_cache->param_partitions; + uint division_limit= (uint)key_cache->param_division_limit; + uint age_threshold= (uint)key_cache->param_age_threshold; + uint partitions= (uint)key_cache->param_partitions; mysql_mutex_unlock(&LOCK_global_system_variables); DBUG_RETURN(!repartition_key_cache(key_cache, tmp_block_size, tmp_buff_size, diff --git a/sql/item.cc b/sql/item.cc index e4b7b1f5092..d768c7a4218 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -1182,7 +1182,7 @@ bool Item_string::eq(const Item *item, bool binary_cmp) const As a extra convenience the time structure is reset on error or NULL values! */ -bool Item::get_date(MYSQL_TIME *ltime,uint fuzzydate) +bool Item::get_date(MYSQL_TIME *ltime,ulonglong fuzzydate) { if (field_type() == MYSQL_TYPE_TIME) fuzzydate|= TIME_TIME_ONLY; @@ -2468,7 +2468,7 @@ String *Item_field::str_result(String *str) return result_field->val_str(str,&str_value); } -bool Item_field::get_date(MYSQL_TIME *ltime,uint fuzzydate) +bool Item_field::get_date(MYSQL_TIME *ltime,ulonglong fuzzydate) { if ((null_value=field->is_null()) || field->get_date(ltime,fuzzydate)) { @@ -2478,7 +2478,7 @@ bool Item_field::get_date(MYSQL_TIME *ltime,uint fuzzydate) return 0; } -bool Item_field::get_date_result(MYSQL_TIME *ltime,uint fuzzydate) +bool Item_field::get_date_result(MYSQL_TIME *ltime, ulonglong fuzzydate) { if (result_field->is_null() || result_field->get_date(ltime,fuzzydate)) { @@ -3396,7 +3396,7 @@ int Item_param::save_in_field(Field *field, bool no_conversions) } -bool Item_param::get_date(MYSQL_TIME *res, uint fuzzydate) +bool Item_param::get_date(MYSQL_TIME *res, ulonglong fuzzydate) { if (state == TIME_VALUE) { @@ -4218,7 +4218,7 @@ String* Item_ref_null_helper::val_str(String* s) } -bool Item_ref_null_helper::get_date(MYSQL_TIME *ltime, uint fuzzydate) +bool Item_ref_null_helper::get_date(MYSQL_TIME *ltime, ulonglong fuzzydate) { return (owner->was_null|= null_value= (*ref)->get_date(ltime, fuzzydate)); } @@ -7177,7 +7177,7 @@ bool Item_ref::is_null() } -bool Item_ref::get_date(MYSQL_TIME *ltime,uint fuzzydate) +bool Item_ref::get_date(MYSQL_TIME *ltime,ulonglong fuzzydate) { return (null_value=(*ref)->get_date_result(ltime,fuzzydate)); } @@ -7314,7 +7314,7 @@ bool Item_direct_ref::is_null() } -bool Item_direct_ref::get_date(MYSQL_TIME *ltime,uint fuzzydate) +bool Item_direct_ref::get_date(MYSQL_TIME *ltime,ulonglong fuzzydate) { return (null_value=(*ref)->get_date(ltime,fuzzydate)); } @@ -7676,7 +7676,7 @@ bool Item_cache_wrapper::is_null() Get the date value of the possibly cached item */ -bool Item_cache_wrapper::get_date(MYSQL_TIME *ltime, uint fuzzydate) +bool Item_cache_wrapper::get_date(MYSQL_TIME *ltime, ulonglong fuzzydate) { Item *cached_value; DBUG_ENTER("Item_cache_wrapper::get_date"); @@ -8735,7 +8735,7 @@ bool Item_cache_temporal::cache_value() } -bool Item_cache_temporal::get_date(MYSQL_TIME *ltime, uint fuzzydate) +bool Item_cache_temporal::get_date(MYSQL_TIME *ltime, ulonglong fuzzydate) { ErrConvInteger str(value); diff --git a/sql/item.h b/sql/item.h index cda2ab73c4a..c3bdc5042c8 100644 --- a/sql/item.h +++ b/sql/item.h @@ -1021,11 +1021,11 @@ public: /* Called for items that really have to be split */ void split_sum_func2(THD *thd, Item **ref_pointer_array, List<Item> &fields, Item **ref, bool skip_registered); - virtual bool get_date(MYSQL_TIME *ltime,uint fuzzydate); + virtual bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); bool get_time(MYSQL_TIME *ltime) { return get_date(ltime, TIME_TIME_ONLY | TIME_FUZZY_DATE); } bool get_seconds(ulonglong *sec, ulong *sec_part); - virtual bool get_date_result(MYSQL_TIME *ltime,uint fuzzydate) + virtual bool get_date_result(MYSQL_TIME *ltime, ulonglong fuzzydate) { return get_date(ltime,fuzzydate); } /* The method allows to determine nullness of a complex expression @@ -2018,8 +2018,8 @@ public: longlong val_int_endpoint(bool left_endp, bool *incl_endp); Field *get_tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { return result_field; } - bool get_date(MYSQL_TIME *ltime,uint fuzzydate); - bool get_date_result(MYSQL_TIME *ltime,uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); + bool get_date_result(MYSQL_TIME *ltime,ulonglong fuzzydate); bool is_null() { return field->is_null(); } void update_null_value(); Item *get_tmp_table_item(THD *thd); @@ -2201,7 +2201,7 @@ public: longlong val_int(); my_decimal *val_decimal(my_decimal*); String *val_str(String*); - bool get_date(MYSQL_TIME *tm, uint fuzzydate); + bool get_date(MYSQL_TIME *tm, ulonglong fuzzydate); int save_in_field(Field *field, bool no_conversions); void set_null(); @@ -2817,7 +2817,7 @@ public: bool val_bool(); String *val_str(String* tmp); bool is_null(); - bool get_date(MYSQL_TIME *ltime,uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); double val_result(); longlong val_int_result(); String *str_result(String* tmp); @@ -2953,7 +2953,7 @@ public: my_decimal *val_decimal(my_decimal *); bool val_bool(); bool is_null(); - bool get_date(MYSQL_TIME *ltime,uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); virtual Ref_Type ref_type() { return DIRECT_REF; } }; @@ -3041,7 +3041,7 @@ public: my_decimal *val_decimal(my_decimal *); bool val_bool(); bool is_null(); - bool get_date(MYSQL_TIME *ltime, uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); bool send(Protocol *protocol, String *buffer); void save_org_in_field(Field *field) { @@ -3253,7 +3253,7 @@ public: String* val_str(String* s); my_decimal *val_decimal(my_decimal *); bool val_bool(); - bool get_date(MYSQL_TIME *ltime, uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); virtual void print(String *str, enum_query_type query_type); table_map used_tables() const; }; @@ -3877,7 +3877,7 @@ public: Item_cache_temporal(enum_field_types field_type_arg); String* val_str(String *str); bool cache_value(); - bool get_date(MYSQL_TIME *ltime, uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); int save_in_field(Field *field, bool no_conversions); void store_packed(longlong val_arg); /* diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index 325e4ac219e..7a062b413ce 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -3167,7 +3167,7 @@ double Item_func_coalesce::real_op() } -bool Item_func_coalesce::get_date(MYSQL_TIME *ltime,uint fuzzydate) +bool Item_func_coalesce::get_date(MYSQL_TIME *ltime,ulonglong fuzzydate) { DBUG_ASSERT(fixed == 1); null_value= 0; diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 67035384cf7..ef12364ae68 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -744,7 +744,7 @@ public: const char *func_name() const { return "coalesce"; } table_map not_null_tables() const { return 0; } enum_field_types field_type() const { return cached_field_type; } - bool get_date(MYSQL_TIME *ltime,uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); }; diff --git a/sql/item_func.cc b/sql/item_func.cc index c765d142285..1c6a9c23b26 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -2730,7 +2730,7 @@ void Item_func_min_max::fix_length_and_dec() 0 Otherwise */ -bool Item_func_min_max::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_func_min_max::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { longlong UNINIT_VAR(min_max); DBUG_ASSERT(fixed == 1); diff --git a/sql/item_func.h b/sql/item_func.h index 5477c27b13d..8e9fbd9af5c 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -970,7 +970,7 @@ public: longlong val_int(); String *val_str(String *); my_decimal *val_decimal(my_decimal *); - bool get_date(MYSQL_TIME *res, uint fuzzy_date); + bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); void fix_length_and_dec(); enum Item_result result_type () const { return cmp_type; } enum_field_types field_type() const { return cached_field_type; } diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index 5ca66801796..1b3c1a616b9 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -4402,7 +4402,7 @@ null: } -bool Item_dyncol_get::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_dyncol_get::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { DYNAMIC_COLUMN_VALUE val; char buff[STRING_BUFFER_USUAL_SIZE]; diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h index b15179e641b..69800e7e674 100644 --- a/sql/item_strfunc.h +++ b/sql/item_strfunc.h @@ -1025,7 +1025,7 @@ public: double val_real(); my_decimal *val_decimal(my_decimal *); bool get_dyn_value(DYNAMIC_COLUMN_VALUE *val, String *tmp); - bool get_date(MYSQL_TIME *ltime,uint fuzzydate); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); void print(String *str, enum_query_type query_type); }; diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc index da40e3b99d6..37418e990a8 100644 --- a/sql/item_timefunc.cc +++ b/sql/item_timefunc.cc @@ -106,7 +106,7 @@ static bool extract_date_time(DATE_TIME_FORMAT *format, timestamp_type cached_timestamp_type, const char **sub_pattern_end, const char *date_time_type, - uint fuzzy_date) + ulonglong fuzzy_date) { int weekday= 0, yearday= 0, daypart= 0; int week_number= -1; @@ -1500,7 +1500,7 @@ double Item_temporal_func::val_real() } -bool Item_func_from_days::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_func_from_days::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { longlong value=args[0]->val_int(); if (args[0]->null_value) @@ -1558,7 +1558,7 @@ void Item_func_curdate_utc::store_now_in_TIME(MYSQL_TIME *now_time) bool Item_func_curdate::get_date(MYSQL_TIME *res, - uint fuzzy_date __attribute__((unused))) + ulonglong fuzzy_date __attribute__((unused))) { *res=ltime; return 0; @@ -1577,7 +1577,7 @@ bool Item_func_curtime::fix_fields(THD *thd, Item **items) } bool Item_func_curtime::get_date(MYSQL_TIME *res, - uint fuzzy_date __attribute__((unused))) + ulonglong fuzzy_date __attribute__((unused))) { *res= ltime; return 0; @@ -1668,7 +1668,7 @@ void Item_func_now_utc::store_now_in_TIME(MYSQL_TIME *now_time) bool Item_func_now::get_date(MYSQL_TIME *res, - uint fuzzy_date __attribute__((unused))) + ulonglong fuzzy_date __attribute__((unused))) { *res= ltime; return 0; @@ -1690,13 +1690,13 @@ void Item_func_sysdate_local::store_now_in_TIME(MYSQL_TIME *now_time) bool Item_func_sysdate_local::get_date(MYSQL_TIME *res, - uint fuzzy_date __attribute__((unused))) + ulonglong fuzzy_date __attribute__((unused))) { store_now_in_TIME(res); return 0; } -bool Item_func_sec_to_time::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_func_sec_to_time::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { DBUG_ASSERT(fixed == 1); bool sign; @@ -1923,7 +1923,7 @@ void Item_func_from_unixtime::fix_length_and_dec() bool Item_func_from_unixtime::get_date(MYSQL_TIME *ltime, - uint fuzzy_date __attribute__((unused))) + ulonglong fuzzy_date __attribute__((unused))) { bool sign; ulonglong sec; @@ -1953,7 +1953,7 @@ void Item_func_convert_tz::fix_length_and_dec() bool Item_func_convert_tz::get_date(MYSQL_TIME *ltime, - uint fuzzy_date __attribute__((unused))) + ulonglong fuzzy_date __attribute__((unused))) { my_time_t my_time_tmp; String str; @@ -2046,7 +2046,7 @@ void Item_date_add_interval::fix_length_and_dec() /* Here arg[1] is a Item_interval object */ -bool Item_date_add_interval::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_date_add_interval::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { INTERVAL interval; @@ -2412,7 +2412,7 @@ void Item_char_typecast::fix_length_and_dec() } -bool Item_time_typecast::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_time_typecast::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { if (get_arg0_time(ltime)) return 1; @@ -2429,7 +2429,7 @@ bool Item_time_typecast::get_date(MYSQL_TIME *ltime, uint fuzzy_date) } -bool Item_date_typecast::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_date_typecast::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { if (get_arg0_date(ltime, TIME_FUZZY_DATE)) return 1; @@ -2450,7 +2450,7 @@ bool Item_date_typecast::get_date(MYSQL_TIME *ltime, uint fuzzy_date) } -bool Item_datetime_typecast::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_datetime_typecast::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { if (get_arg0_date(ltime, fuzzy_date & ~TIME_TIME_ONLY)) return 1; @@ -2495,7 +2495,7 @@ bool Item_datetime_typecast::get_date(MYSQL_TIME *ltime, uint fuzzy_date) 0099-12-31 */ -bool Item_func_makedate::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_func_makedate::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { DBUG_ASSERT(fixed == 1); long daynr= (long) args[1]->val_int(); @@ -2560,7 +2560,7 @@ void Item_func_add_time::fix_length_and_dec() Result: Time value or datetime value */ -bool Item_func_add_time::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_func_add_time::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { DBUG_ASSERT(fixed == 1); MYSQL_TIME l_time1, l_time2; @@ -2665,7 +2665,7 @@ void Item_func_add_time::print(String *str, enum_query_type query_type) Result: Time value */ -bool Item_func_timediff::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_func_timediff::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { DBUG_ASSERT(fixed == 1); longlong seconds; @@ -2728,7 +2728,7 @@ bool Item_func_timediff::get_date(MYSQL_TIME *ltime, uint fuzzy_date) Result: Time value */ -bool Item_func_maketime::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_func_maketime::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { DBUG_ASSERT(fixed == 1); bool overflow= 0; @@ -3111,7 +3111,7 @@ void Item_func_str_to_date::fix_length_and_dec() } -bool Item_func_str_to_date::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_func_str_to_date::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { DATE_TIME_FORMAT date_time_format; char val_buff[64], format_buff[64]; @@ -3144,7 +3144,7 @@ bool Item_func_str_to_date::get_date(MYSQL_TIME *ltime, uint fuzzy_date) } -bool Item_func_last_day::get_date(MYSQL_TIME *ltime, uint fuzzy_date) +bool Item_func_last_day::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) { if (get_arg0_date(ltime, fuzzy_date & ~TIME_FUZZY_DATE) || (ltime->month == 0)) diff --git a/sql/item_timefunc.h b/sql/item_timefunc.h index 239f7e92bba..d9e58857c9d 100644 --- a/sql/item_timefunc.h +++ b/sql/item_timefunc.h @@ -498,7 +498,7 @@ public: String *val_str(String *str); longlong val_int(); double val_real(); - bool get_date(MYSQL_TIME *res, uint fuzzy_date) { DBUG_ASSERT(0); return 1; } + bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date) { DBUG_ASSERT(0); return 1; } my_decimal *val_decimal(my_decimal *decimal_value) { return val_decimal_from_date(decimal_value); } Field *tmp_table_field(TABLE *table) @@ -543,7 +543,7 @@ public: Item_timefunc::fix_length_and_dec(); maybe_null= false; } - bool get_date(MYSQL_TIME *res, uint fuzzy_date); + bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); /* Abstract method that defines which time zone is used for conversion. Converts time current time in my_time_t representation to broken-down @@ -583,7 +583,7 @@ class Item_func_curdate :public Item_datefunc public: Item_func_curdate() :Item_datefunc() {} void fix_length_and_dec(); - bool get_date(MYSQL_TIME *res, uint fuzzy_date); + bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); virtual void store_now_in_TIME(MYSQL_TIME *now_time)=0; bool check_vcol_func_processor(uchar *int_arg) { @@ -625,7 +625,7 @@ public: Item_temporal_func::fix_length_and_dec(); maybe_null= false; } - bool get_date(MYSQL_TIME *res, uint fuzzy_date); + bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); virtual void store_now_in_TIME(MYSQL_TIME *now_time)=0; bool check_vcol_func_processor(uchar *int_arg) { @@ -664,7 +664,7 @@ public: bool const_item() const { return 0; } const char *func_name() const { return "sysdate"; } void store_now_in_TIME(MYSQL_TIME *now_time); - bool get_date(MYSQL_TIME *res, uint fuzzy_date); + bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); void update_used_tables() { Item_func_now::update_used_tables(); @@ -679,7 +679,7 @@ class Item_func_from_days :public Item_datefunc public: Item_func_from_days(Item *a) :Item_datefunc(a) {} const char *func_name() const { return "from_days"; } - bool get_date(MYSQL_TIME *res, uint fuzzy_date); + bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); bool check_partition_func_processor(uchar *int_arg) {return FALSE;} bool check_vcol_func_processor(uchar *int_arg) { return FALSE;} bool check_valid_arguments_processor(uchar *int_arg) @@ -713,7 +713,7 @@ class Item_func_from_unixtime :public Item_temporal_func Item_func_from_unixtime(Item *a) :Item_temporal_func(a) {} const char *func_name() const { return "from_unixtime"; } void fix_length_and_dec(); - bool get_date(MYSQL_TIME *res, uint fuzzy_date); + bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); }; @@ -746,7 +746,7 @@ class Item_func_convert_tz :public Item_temporal_func Item_temporal_func(a, b, c), from_tz_cached(0), to_tz_cached(0) {} const char *func_name() const { return "convert_tz"; } void fix_length_and_dec(); - bool get_date(MYSQL_TIME *res, uint fuzzy_date); + bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); void cleanup(); }; @@ -755,7 +755,7 @@ class Item_func_sec_to_time :public Item_timefunc { public: Item_func_sec_to_time(Item *item) :Item_timefunc(item) {} - bool get_date(MYSQL_TIME *res, uint fuzzy_date); + bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); void fix_length_and_dec() { decimals= args[0]->decimals; @@ -776,7 +776,7 @@ public: const char *func_name() const { return "date_add_interval"; } void fix_length_and_dec(); enum_field_types field_type() const { return cached_field_type; } - bool get_date(MYSQL_TIME *res, uint fuzzy_date); + bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); bool eq(const Item *item, bool binary_cmp) const; void print(String *str, enum_query_type query_type); }; @@ -873,7 +873,7 @@ class Item_date_typecast :public Item_temporal_typecast public: Item_date_typecast(Item *a) :Item_temporal_typecast(a) {} const char *func_name() const { return "cast_as_date"; } - bool get_date(MYSQL_TIME *ltime, uint fuzzy_date); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date); const char *cast_type() const { return "date"; } enum_field_types field_type() const { return MYSQL_TYPE_DATE; } }; @@ -885,7 +885,7 @@ public: Item_time_typecast(Item *a, uint dec_arg) :Item_temporal_typecast(a) { decimals= dec_arg; } const char *func_name() const { return "cast_as_time"; } - bool get_date(MYSQL_TIME *ltime, uint fuzzy_date); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date); const char *cast_type() const { return "time"; } enum_field_types field_type() const { return MYSQL_TYPE_TIME; } }; @@ -899,7 +899,7 @@ public: const char *func_name() const { return "cast_as_datetime"; } const char *cast_type() const { return "datetime"; } enum_field_types field_type() const { return MYSQL_TYPE_DATETIME; } - bool get_date(MYSQL_TIME *ltime, uint fuzzy_date); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date); }; @@ -909,7 +909,7 @@ public: Item_func_makedate(Item *a,Item *b) :Item_temporal_func(a,b) {} const char *func_name() const { return "makedate"; } enum_field_types field_type() const { return MYSQL_TYPE_DATE; } - bool get_date(MYSQL_TIME *ltime, uint fuzzy_date); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date); }; @@ -924,7 +924,7 @@ public: :Item_temporal_func(a, b), is_date(type_arg) { sign= neg_arg ? -1 : 1; } enum_field_types field_type() const { return cached_field_type; } void fix_length_and_dec(); - bool get_date(MYSQL_TIME *ltime, uint fuzzy_date); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date); void print(String *str, enum_query_type query_type); const char *func_name() const { return "add_time"; } }; @@ -940,7 +940,7 @@ public: decimals= max(args[0]->decimals, args[1]->decimals); Item_timefunc::fix_length_and_dec(); } - bool get_date(MYSQL_TIME *ltime, uint fuzzy_date); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date); }; class Item_func_maketime :public Item_timefunc @@ -950,7 +950,7 @@ public: :Item_timefunc(a, b, c) {} const char *func_name() const { return "maketime"; } - bool get_date(MYSQL_TIME *ltime, uint fuzzy_date); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date); }; @@ -1024,7 +1024,7 @@ public: Item_func_str_to_date(Item *a, Item *b) :Item_temporal_func(a, b), const_item(false) {} - bool get_date(MYSQL_TIME *ltime, uint fuzzy_date); + bool get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date); const char *func_name() const { return "str_to_date"; } enum_field_types field_type() const { return cached_field_type; } void fix_length_and_dec(); @@ -1036,7 +1036,7 @@ class Item_func_last_day :public Item_datefunc public: Item_func_last_day(Item *a) :Item_datefunc(a) {} const char *func_name() const { return "last_day"; } - bool get_date(MYSQL_TIME *res, uint fuzzy_date); + bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); }; diff --git a/sql/log.cc b/sql/log.cc index c60cca3a2e9..6819a1e767d 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -1334,7 +1334,7 @@ bool LOGGER::general_log_print(THD *thd, enum enum_server_command command, return general_log_write(thd, command, message_buff, message_buff_len); } -void LOGGER::init_error_log(uint error_log_printer) +void LOGGER::init_error_log(ulonglong error_log_printer) { if (error_log_printer & LOG_NONE) { @@ -1357,7 +1357,7 @@ void LOGGER::init_error_log(uint error_log_printer) } } -void LOGGER::init_slow_log(uint slow_log_printer) +void LOGGER::init_slow_log(ulonglong slow_log_printer) { if (slow_log_printer & LOG_NONE) { @@ -1382,7 +1382,7 @@ void LOGGER::init_slow_log(uint slow_log_printer) } } -void LOGGER::init_general_log(uint general_log_printer) +void LOGGER::init_general_log(ulonglong general_log_printer) { if (general_log_printer & LOG_NONE) { @@ -1495,9 +1495,9 @@ bool Log_to_csv_event_handler::init() return 0; } -int LOGGER::set_handlers(uint error_log_printer, - uint slow_log_printer, - uint general_log_printer) +int LOGGER::set_handlers(ulonglong error_log_printer, + ulonglong slow_log_printer, + ulonglong general_log_printer) { /* error log table is not supported yet */ DBUG_ASSERT(error_log_printer < LOG_TABLE); @@ -5946,7 +5946,8 @@ MYSQL_BIN_LOG::trx_group_commit_leader(group_commit_entry *leader) { if (!current->error && RUN_HOOK(binlog_storage, after_flush, - (current->thd, log_file_name, log_file.pos_in_file, synced))) + (current->thd, log_file_name, + current->cache_mngr->last_commit_pos_offset, synced))) { current->error= ER_ERROR_ON_WRITE; current->commit_errno= -1; @@ -6828,7 +6829,7 @@ int TC_LOG_MMAP::open(const char *opt_name) mysql_mutex_init(key_LOCK_pool, &LOCK_pool, MY_MUTEX_INIT_FAST); mysql_cond_init(key_COND_active, &COND_active, 0); mysql_cond_init(key_COND_pool, &COND_pool, 0); - mysql_cond_init(key_COND_queue_busy, &COND_queue_busy, 0); + mysql_cond_init(key_TC_LOG_MMAP_COND_queue_busy, &COND_queue_busy, 0); inited=6; diff --git a/sql/log.h b/sql/log.h index c85e643d4e9..bad86e7615d 100644 --- a/sql/log.h +++ b/sql/log.h @@ -539,12 +539,14 @@ public: void set_psi_keys(PSI_mutex_key key_LOCK_index, PSI_cond_key key_update_cond, PSI_file_key key_file_log, - PSI_file_key key_file_log_index) + PSI_file_key key_file_log_index, + PSI_file_key key_COND_queue_busy) { m_key_LOCK_index= key_LOCK_index; m_key_update_cond= key_update_cond; m_key_file_log= key_file_log; m_key_file_log_index= key_file_log_index; + m_key_COND_queue_busy= key_COND_queue_busy; } #endif @@ -818,12 +820,12 @@ public: const char *query, uint query_length); /* we use this function to setup all enabled log event handlers */ - int set_handlers(uint error_log_printer, - uint slow_log_printer, - uint general_log_printer); - void init_error_log(uint error_log_printer); - void init_slow_log(uint slow_log_printer); - void init_general_log(uint general_log_printer); + int set_handlers(ulonglong error_log_printer, + ulonglong slow_log_printer, + ulonglong general_log_printer); + void init_error_log(ulonglong error_log_printer); + void init_slow_log(ulonglong slow_log_printer); + void init_general_log(ulonglong general_log_printer); void deactivate_log_handler(THD* thd, uint log_type); bool activate_log_handler(THD* thd, uint log_type); MYSQL_QUERY_LOG *get_slow_log_file_handler() const diff --git a/sql/log_event.cc b/sql/log_event.cc index 93f0f8dd96a..37245e6eb21 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -2881,7 +2881,7 @@ Query_log_event::Query_log_event(THD* thd_arg, const char* query_arg, else cache_type= Log_event::EVENT_STMT_CACHE; DBUG_ASSERT(cache_type != Log_event::EVENT_INVALID_CACHE); - DBUG_PRINT("info",("Query_log_event has flags2: %lu sql_mode: %lu", + DBUG_PRINT("info",("Query_log_event has flags2: %lu sql_mode: %llu", (ulong) flags2, sql_mode)); } #endif /* MYSQL_CLIENT */ @@ -8228,7 +8228,7 @@ int Rows_log_event::do_apply_event(Relay_log_info const *rli) Don't allow generation of auto_increment value when processing rows event by setting 'MODE_NO_AUTO_VALUE_ON_ZERO'. */ - ulong saved_sql_mode= thd->variables.sql_mode; + ulonglong saved_sql_mode= thd->variables.sql_mode; thd->variables.sql_mode= MODE_NO_AUTO_VALUE_ON_ZERO; // row processing loop diff --git a/sql/log_event.h b/sql/log_event.h index e1fdc70663b..0383e746d94 100644 --- a/sql/log_event.h +++ b/sql/log_event.h @@ -690,7 +690,7 @@ typedef struct st_print_event_info bool flags2_inited; uint32 flags2; bool sql_mode_inited; - ulong sql_mode; /* must be same as THD.variables.sql_mode */ + ulonglong sql_mode; /* must be same as THD.variables.sql_mode */ ulong auto_increment_increment, auto_increment_offset; bool charset_inited; char charset[6]; // 3 variables, each of them storable in 2 bytes @@ -1754,7 +1754,7 @@ public: uint32 flags2; /* In connections sql_mode is 32 bits now but will be 64 bits soon */ - ulong sql_mode; + ulonglong sql_mode; ulong auto_increment_increment, auto_increment_offset; char charset[6]; uint time_zone_len; /* 0 means uninited */ diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 53f7cfe944f..b6801d92ca8 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -474,9 +474,9 @@ ulong slave_exec_mode_options; ulonglong slave_type_conversions_options; ulong thread_cache_size=0; ulong binlog_cache_size=0; -ulonglong max_binlog_cache_size=0; +ulong max_binlog_cache_size=0; ulong binlog_stmt_cache_size=0; -ulonglong max_binlog_stmt_cache_size=0; +ulong max_binlog_stmt_cache_size=0; ulong query_cache_size=0; ulong refresh_version; /* Increments on each reload */ query_id_t global_query_id; @@ -811,7 +811,7 @@ static PSI_rwlock_info all_server_rwlocks[]= }; #ifdef HAVE_MMAP -PSI_cond_key key_PAGE_cond, key_COND_active, key_COND_pool, key_COND_queue_busy; +PSI_cond_key key_PAGE_cond, key_COND_active, key_COND_pool; #endif /* HAVE_MMAP */ PSI_cond_key key_BINLOG_COND_prep_xids, key_BINLOG_update_cond, @@ -823,8 +823,11 @@ PSI_cond_key key_BINLOG_COND_prep_xids, key_BINLOG_update_cond, key_relay_log_info_data_cond, key_relay_log_info_log_space_cond, key_relay_log_info_start_cond, key_relay_log_info_stop_cond, key_TABLE_SHARE_cond, key_user_level_lock_cond, - key_COND_thread_count, key_COND_thread_cache, key_COND_flush_thread_cache; + key_COND_thread_count, key_COND_thread_cache, key_COND_flush_thread_cache, + key_BINLOG_COND_queue_busy; PSI_cond_key key_RELAYLOG_update_cond, key_COND_wakeup_ready; +PSI_cond_key key_RELAYLOG_COND_queue_busy; +PSI_cond_key key_TC_LOG_MMAP_COND_queue_busy; static PSI_cond_info all_server_conds[]= { @@ -835,10 +838,13 @@ static PSI_cond_info all_server_conds[]= { &key_PAGE_cond, "PAGE::cond", 0}, { &key_COND_active, "TC_LOG_MMAP::COND_active", 0}, { &key_COND_pool, "TC_LOG_MMAP::COND_pool", 0}, + { &key_TC_LOG_MMAP_COND_queue_busy, "TC_LOG_MMAP::COND_queue_busy", 0}, #endif /* HAVE_MMAP */ { &key_BINLOG_COND_prep_xids, "MYSQL_BIN_LOG::COND_prep_xids", 0}, { &key_BINLOG_update_cond, "MYSQL_BIN_LOG::update_cond", 0}, + { &key_BINLOG_COND_queue_busy, "MYSQL_BIN_LOG::COND_queue_busy", 0}, { &key_RELAYLOG_update_cond, "MYSQL_RELAY_LOG::update_cond", 0}, + { &key_RELAYLOG_COND_queue_busy, "MYSQL_RELAY_LOG::COND_queue_busy", 0}, { &key_COND_wakeup_ready, "THD::COND_wakeup_ready", 0}, { &key_COND_cache_status_changed, "Query_cache::COND_cache_status_changed", 0}, { &key_COND_manager, "COND_manager", PSI_FLAG_GLOBAL}, @@ -2213,7 +2219,7 @@ static void network_init(void) extra_ip_sock= activate_tcp_port(mysqld_extra_port); } -#ifdef __NT__ +#ifdef _WIN32 /* create named pipe */ if (Service.IsNT() && mysqld_unix_port[0] && !opt_bootstrap && opt_enable_named_pipe) @@ -3543,7 +3549,8 @@ static int init_common_variables() mysql_bin_log.set_psi_keys(key_BINLOG_LOCK_index, key_BINLOG_update_cond, key_file_binlog, - key_file_binlog_index); + key_file_binlog_index, + key_BINLOG_COND_queue_busy); #endif /* @@ -5110,6 +5117,7 @@ int mysqld_main(int argc, char **argv) } #endif mysqld_exit(0); + return 0; } #endif /* !EMBEDDED_LIBRARY */ diff --git a/sql/mysqld.h b/sql/mysqld.h index 1ad46f94817..7b760c911d0 100644 --- a/sql/mysqld.h +++ b/sql/mysqld.h @@ -166,7 +166,7 @@ extern ulong what_to_log,flush_time; extern ulong max_prepared_stmt_count, prepared_stmt_count; extern ulong open_files_limit; extern ulong binlog_cache_size, binlog_stmt_cache_size; -extern ulonglong max_binlog_cache_size, max_binlog_stmt_cache_size; +extern ulong max_binlog_cache_size, max_binlog_stmt_cache_size; extern ulong max_binlog_size, max_relay_log_size; extern ulong opt_binlog_rows_event_max_size; extern ulong rpl_recovery_rank, thread_cache_size; @@ -247,8 +247,7 @@ extern PSI_rwlock_key key_rwlock_LOCK_grant, key_rwlock_LOCK_logger, key_rwlock_LOCK_system_variables_hash, key_rwlock_query_cache_query_lock; #ifdef HAVE_MMAP -extern PSI_cond_key key_PAGE_cond, key_COND_active, key_COND_pool, - key_COND_queue_busy; +extern PSI_cond_key key_PAGE_cond, key_COND_active, key_COND_pool; #endif /* HAVE_MMAP */ extern PSI_cond_key key_BINLOG_COND_prep_xids, key_BINLOG_update_cond, @@ -262,6 +261,8 @@ extern PSI_cond_key key_BINLOG_COND_prep_xids, key_BINLOG_update_cond, key_TABLE_SHARE_cond, key_user_level_lock_cond, key_COND_thread_count, key_COND_thread_cache, key_COND_flush_thread_cache; extern PSI_cond_key key_RELAYLOG_update_cond, key_COND_wakeup_ready; +extern PSI_cond_key key_RELAYLOG_COND_queue_busy; +extern PSI_cond_key key_TC_LOG_MMAP_COND_queue_busy; extern PSI_thread_key key_thread_bootstrap, key_thread_delayed_insert, key_thread_handle_manager, key_thread_kill_server, key_thread_main, diff --git a/sql/partition_info.cc b/sql/partition_info.cc index e62b895a839..7c8a520879f 100644 --- a/sql/partition_info.cc +++ b/sql/partition_info.cc @@ -2088,7 +2088,7 @@ bool partition_info::fix_column_value_functions(THD *thd, { uchar *val_ptr; uint len= field->pack_length(); - ulong save_sql_mode; + ulonglong save_sql_mode; bool save_got_warning; if (!(column_item= get_column_item(column_item, diff --git a/sql/rpl_rli.cc b/sql/rpl_rli.cc index 26d405306c9..2e5202d7cb6 100644 --- a/sql/rpl_rli.cc +++ b/sql/rpl_rli.cc @@ -61,7 +61,8 @@ Relay_log_info::Relay_log_info(bool is_slave_recovery) relay_log.set_psi_keys(key_RELAYLOG_LOCK_index, key_RELAYLOG_update_cond, key_file_relaylog, - key_file_relaylog_index); + key_file_relaylog_index, + key_RELAYLOG_COND_queue_busy); #endif group_relay_log_name[0]= event_relay_log_name[0]= diff --git a/sql/set_var.h b/sql/set_var.h index d34b1db8b71..2c345f3af5f 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -305,8 +305,8 @@ int sql_set_variables(THD *thd, List<set_var_base> *var_list); bool fix_delay_key_write(sys_var *self, THD *thd, enum_var_type type); -ulong expand_sql_mode(ulonglong sql_mode); -bool sql_mode_string_representation(THD *thd, ulong sql_mode, LEX_STRING *ls); +ulonglong expand_sql_mode(ulonglong sql_mode); +bool sql_mode_string_representation(THD *thd, ulonglong sql_mode, LEX_STRING *ls); extern sys_var *Sys_autocommit_ptr; diff --git a/sql/sp.cc b/sql/sp.cc index b693569753f..af864989abd 100644 --- a/sql/sp.cc +++ b/sql/sp.cc @@ -43,11 +43,11 @@ create_string(THD *thd, String *buf, st_sp_chistics *chistics, const LEX_STRING *definer_user, const LEX_STRING *definer_host, - ulong sql_mode); + ulonglong sql_mode); static int db_load_routine(THD *thd, int type, sp_name *name, sp_head **sphp, - ulong sql_mode, const char *params, const char *returns, + ulonglong sql_mode, const char *params, const char *returns, const char *body, st_sp_chistics &chistics, const char *definer, longlong created, longlong modified, Stored_program_creation_ctx *creation_ctx); @@ -542,7 +542,7 @@ db_find_routine(THD *thd, int type, sp_name *name, sp_head **sphp) char buff[65]; String str(buff, sizeof(buff), &my_charset_bin); bool saved_time_zone_used= thd->time_zone_used; - ulong sql_mode, saved_mode= thd->variables.sql_mode; + ulonglong sql_mode, saved_mode= thd->variables.sql_mode; Open_tables_backup open_tables_state_backup; Stored_program_creation_ctx *creation_ctx; @@ -716,11 +716,11 @@ Silence_deprecated_warning::handle_condition( @retval 0 error */ -static sp_head *sp_compile(THD *thd, String *defstr, ulong sql_mode, +static sp_head *sp_compile(THD *thd, String *defstr, ulonglong sql_mode, Stored_program_creation_ctx *creation_ctx) { sp_head *sp; - ulong old_sql_mode= thd->variables.sql_mode; + ulonglong old_sql_mode= thd->variables.sql_mode; ha_rows old_select_limit= thd->variables.select_limit; sp_rcontext *old_spcont= thd->spcont; Silence_deprecated_warning warning_handler; @@ -798,7 +798,7 @@ Bad_db_error_handler::handle_condition(THD *thd, static int db_load_routine(THD *thd, int type, sp_name *name, sp_head **sphp, - ulong sql_mode, const char *params, const char *returns, + ulonglong sql_mode, const char *params, const char *returns, const char *body, st_sp_chistics &chistics, const char *definer, longlong created, longlong modified, Stored_program_creation_ctx *creation_ctx) @@ -971,7 +971,7 @@ sp_create_routine(THD *thd, int type, sp_head *sp) int ret; TABLE *table; char definer[USER_HOST_BUFF_SIZE]; - ulong saved_mode= thd->variables.sql_mode; + ulonglong saved_mode= thd->variables.sql_mode; MDL_key::enum_mdl_namespace mdl_type= type == TYPE_ENUM_FUNCTION ? MDL_key::FUNCTION : MDL_key::PROCEDURE; @@ -2127,7 +2127,6 @@ int sp_cache_routine(THD *thd, int type, sp_name *name, Returns TRUE on success, FALSE on (alloc) failure. */ static bool - create_string(THD *thd, String *buf, int type, const char *db, ulong dblen, @@ -2138,9 +2137,9 @@ create_string(THD *thd, String *buf, st_sp_chistics *chistics, const LEX_STRING *definer_user, const LEX_STRING *definer_host, - ulong sql_mode) + ulonglong sql_mode) { - ulong old_sql_mode= thd->variables.sql_mode; + ulonglong old_sql_mode= thd->variables.sql_mode; /* Make some room to begin with */ if (buf->alloc(100 + dblen + 1 + namelen + paramslen + returnslen + bodylen + chistics->comment.length + 10 /* length of " DEFINER= "*/ + diff --git a/sql/sp_head.cc b/sql/sp_head.cc index ff104d04aec..f8802acb75b 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -1195,7 +1195,7 @@ sp_head::execute(THD *thd, bool merge_da_on_success) sp_rcontext *ctx= thd->spcont; bool err_status= FALSE; uint ip= 0; - ulong save_sql_mode; + ulonglong save_sql_mode; bool save_abort_on_warning; Query_arena *old_arena; /* per-instruction arena */ @@ -2477,7 +2477,7 @@ sp_head::do_cont_backpatch() void sp_head::set_info(longlong created, longlong modified, - st_sp_chistics *chistics, ulong sql_mode) + st_sp_chistics *chistics, ulonglong sql_mode) { m_created= created; m_modified= modified; diff --git a/sql/sp_head.h b/sql/sp_head.h index 0f6fddc75f0..5442d5d84b4 100644 --- a/sql/sp_head.h +++ b/sql/sp_head.h @@ -172,7 +172,7 @@ public: const char *m_tmp_query; ///< Temporary pointer to sub query string st_sp_chistics *m_chistics; - ulong m_sql_mode; ///< For SHOW CREATE and execution + ulonglong m_sql_mode; ///< For SHOW CREATE and execution LEX_STRING m_qname; ///< db.name bool m_explicit_name; ///< Prepend the db name? */ LEX_STRING m_db; @@ -394,7 +394,7 @@ public: Create_field *field_def); void set_info(longlong created, longlong modified, - st_sp_chistics *chistics, ulong sql_mode); + st_sp_chistics *chistics, ulonglong sql_mode); void set_definer(const char *definer, uint definerlen); void set_definer(const LEX_STRING *user_name, const LEX_STRING *host_name); diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 1f34712b044..7a453bc6090 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -740,7 +740,7 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables) bool check_no_resolve= specialflag & SPECIAL_NO_RESOLVE; char tmp_name[SAFE_NAME_LEN+1]; int password_length; - ulong old_sql_mode= thd->variables.sql_mode; + ulonglong old_sql_mode= thd->variables.sql_mode; DBUG_ENTER("acl_load"); thd->variables.sql_mode&= ~MODE_PAD_CHAR_TO_FULL_LENGTH; @@ -4307,7 +4307,7 @@ static my_bool grant_load(THD *thd, TABLE_LIST *tables) bool check_no_resolve= specialflag & SPECIAL_NO_RESOLVE; MEM_ROOT **save_mem_root_ptr= my_pthread_getspecific_ptr(MEM_ROOT**, THR_MALLOC); - ulong old_sql_mode= thd->variables.sql_mode; + ulonglong old_sql_mode= thd->variables.sql_mode; DBUG_ENTER("grant_load"); thd->variables.sql_mode&= ~MODE_PAD_CHAR_TO_FULL_LENGTH; @@ -6541,7 +6541,7 @@ bool mysql_drop_user(THD *thd, List <LEX_USER> &list) List_iterator <LEX_USER> user_list(list); TABLE_LIST tables[GRANT_TABLES]; bool some_users_deleted= FALSE; - ulong old_sql_mode= thd->variables.sql_mode; + ulonglong old_sql_mode= thd->variables.sql_mode; bool save_binlog_row_based; DBUG_ENTER("mysql_drop_user"); diff --git a/sql/sql_cache.cc b/sql/sql_cache.cc index db0da4bdae6..452cc0b02b8 100644 --- a/sql/sql_cache.cc +++ b/sql/sql_cache.cc @@ -1422,7 +1422,7 @@ void Query_cache::store_query(THD *thd, TABLE_LIST *tables_used) DBUG_PRINT("qcache", ("\ long %d, 4.1: %d, bin_proto: %d, more results %d, pkt_nr: %d, \ CS client: %u, CS result: %u, CS conn: %u, limit: %lu, TZ: 0x%lx, \ -sql mode: 0x%lx, sort len: %lu, conncat len: %lu, div_precision: %lu, \ +sql mode: 0x%llx, sort len: %lu, conncat len: %lu, div_precision: %lu, \ def_week_frmt: %lu, in_trans: %d, autocommit: %d", (int)flags.client_long_flag, (int)flags.client_protocol_41, @@ -1824,7 +1824,7 @@ Query_cache::send_result_to_client(THD *thd, char *org_sql, uint query_length) DBUG_PRINT("qcache", ("\ long %d, 4.1: %d, bin_proto: %d, more results %d, pkt_nr: %d, \ CS client: %u, CS result: %u, CS conn: %u, limit: %lu, TZ: 0x%lx, \ -sql mode: 0x%lx, sort len: %lu, conncat len: %lu, div_precision: %lu, \ +sql mode: 0x%llx, sort len: %lu, conncat len: %lu, div_precision: %lu, \ def_week_frmt: %lu, in_trans: %d, autocommit: %d", (int)flags.client_long_flag, (int)flags.client_protocol_41, diff --git a/sql/sql_cache.h b/sql/sql_cache.h index 36a05b49fa9..87b861b34f8 100644 --- a/sql/sql_cache.h +++ b/sql/sql_cache.h @@ -537,7 +537,7 @@ struct Query_cache_query_flags uint collation_connection_num; ha_rows limit; Time_zone *time_zone; - ulong sql_mode; + ulonglong sql_mode; ulong max_sort_length; ulong group_concat_max_len; ulong default_week_format; diff --git a/sql/sql_db.cc b/sql/sql_db.cc index 1cd615394fb..8013d2bd6e2 100644 --- a/sql/sql_db.cc +++ b/sql/sql_db.cc @@ -1660,7 +1660,7 @@ bool mysql_upgrade_db(THD *thd, LEX_STRING *old_db) /* Lock the old name, the new name will be locked by mysql_create_db().*/ if (lock_schema_name(thd, old_db->str)) - DBUG_RETURN(-1); + DBUG_RETURN(1); /* Let's remember if we should do "USE newdb" afterwards. diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index b6ab3e4a7ff..f8327ccee04 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -1877,7 +1877,7 @@ public: enum_duplicates dup; my_time_t start_time; ulong start_time_sec_part; - ulong sql_mode; + ulonglong sql_mode; bool auto_increment_field_not_null; bool query_start_used, ignore, log_query, query_start_sec_part_used; bool stmt_depends_on_first_successful_insert_id_in_prev_stmt; diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 1b0279c9969..abd29ea6a02 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -7156,7 +7156,7 @@ copy_data_between_tables(THD *thd, TABLE *from,TABLE *to, List<Item> all_fields; ha_rows examined_rows; bool auto_increment_field_copied= 0; - ulong save_sql_mode= thd->variables.sql_mode; + ulonglong save_sql_mode= thd->variables.sql_mode; ulonglong prev_insert_id, time_to_report_progress; List_iterator<Create_field> it(create); Create_field *def; diff --git a/sql/sql_time.cc b/sql/sql_time.cc index e30c74a148e..5972c8918ba 100644 --- a/sql/sql_time.cc +++ b/sql/sql_time.cc @@ -245,7 +245,7 @@ to_ascii(CHARSET_INFO *cs, wc < 128) { src+= cnvres; - *dst++= wc; + *dst++= static_cast<char>(wc); } *dst= '\0'; return dst - dst0; @@ -255,7 +255,7 @@ to_ascii(CHARSET_INFO *cs, /* Character set-aware version of str_to_time() */ timestamp_type str_to_time(CHARSET_INFO *cs, const char *str,uint length, - MYSQL_TIME *l_time, ulong fuzzydate, int *warning) + MYSQL_TIME *l_time, ulonglong fuzzydate, int *warning) { char cnv[32]; if ((cs->state & MY_CS_NONASCII) != 0) @@ -270,7 +270,7 @@ str_to_time(CHARSET_INFO *cs, const char *str,uint length, /* Character set-aware version of str_to_datetime() */ timestamp_type str_to_datetime(CHARSET_INFO *cs, const char *str, uint length, - MYSQL_TIME *l_time, uint flags, int *was_cut) + MYSQL_TIME *l_time, ulonglong flags, int *was_cut) { char cnv[32]; if ((cs->state & MY_CS_NONASCII) != 0) @@ -293,7 +293,7 @@ timestamp_type str_to_datetime(CHARSET_INFO *cs, timestamp_type str_to_datetime_with_warn(CHARSET_INFO *cs, const char *str, uint length, MYSQL_TIME *l_time, - ulong flags) + ulonglong flags) { int was_cut; THD *thd= current_thd; @@ -324,7 +324,7 @@ str_to_datetime_with_warn(CHARSET_INFO *cs, @returns 0 for success, 1 for a failure */ static bool number_to_time_with_warn(bool neg, ulonglong nr, ulong sec_part, - MYSQL_TIME *ltime, ulong fuzzydate, + MYSQL_TIME *ltime, ulonglong fuzzydate, const ErrConv *str, const char *field_name) { @@ -356,7 +356,7 @@ static bool number_to_time_with_warn(bool neg, ulonglong nr, ulong sec_part, bool double_to_datetime_with_warn(double value, MYSQL_TIME *ltime, - ulong fuzzydate, const char *field_name) + ulonglong fuzzydate, const char *field_name) { const ErrConvDouble str(value); bool neg= value < 0; @@ -375,7 +375,7 @@ bool double_to_datetime_with_warn(double value, MYSQL_TIME *ltime, bool decimal_to_datetime_with_warn(const my_decimal *value, MYSQL_TIME *ltime, - ulong fuzzydate, const char *field_name) + ulonglong fuzzydate, const char *field_name) { const ErrConvDecimal str(value); ulonglong nr; @@ -387,7 +387,7 @@ bool decimal_to_datetime_with_warn(const my_decimal *value, MYSQL_TIME *ltime, bool int_to_datetime_with_warn(longlong value, MYSQL_TIME *ltime, - ulong fuzzydate, const char *field_name) + ulonglong fuzzydate, const char *field_name) { const ErrConvInteger str(value); bool neg= value < 0; diff --git a/sql/sql_time.h b/sql/sql_time.h index 7d0d9610872..026a15cb796 100644 --- a/sql/sql_time.h +++ b/sql/sql_time.h @@ -36,18 +36,18 @@ ulong convert_month_to_period(ulong month); void get_date_from_daynr(long daynr,uint *year, uint *month, uint *day); my_time_t TIME_to_timestamp(THD *thd, const MYSQL_TIME *t, uint *error_code); bool str_to_time_with_warn(CHARSET_INFO *cs, const char *str, uint length, - MYSQL_TIME *l_time, ulong fuzzydate); + MYSQL_TIME *l_time, ulonglong fuzzydate); timestamp_type str_to_datetime_with_warn(CHARSET_INFO *cs, const char *str, uint length, MYSQL_TIME *l_time, - ulong flags); + ulonglong flags); bool double_to_datetime_with_warn(double value, MYSQL_TIME *ltime, - ulong fuzzydate, + ulonglong fuzzydate, const char *name); bool decimal_to_datetime_with_warn(const my_decimal *value, MYSQL_TIME *ltime, - ulong fuzzydate, + ulonglong fuzzydate, const char *name); bool int_to_datetime_with_warn(longlong value, MYSQL_TIME *ltime, - ulong fuzzydate, + ulonglong fuzzydate, const char *name); void make_truncated_value_warning(THD *thd, MYSQL_ERROR::enum_warning_level level, @@ -87,11 +87,11 @@ bool parse_date_time_format(timestamp_type format_type, DATE_TIME_FORMAT *date_time_format); /* Character set-aware version of str_to_time() */ timestamp_type str_to_time(CHARSET_INFO *cs, const char *str,uint length, - MYSQL_TIME *l_time, ulong fuzzydate, int *warning); + MYSQL_TIME *l_time, ulonglong fuzzydate, int *warning); /* Character set-aware version of str_to_datetime() */ timestamp_type str_to_datetime(CHARSET_INFO *cs, const char *str, uint length, - MYSQL_TIME *l_time, uint flags, int *was_cut); + MYSQL_TIME *l_time, ulonglong flags, int *was_cut); /* convenience wrapper */ inline bool parse_date_time_format(timestamp_type format_type, diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc index 30da842e0c5..0ecc43b512f 100644 --- a/sql/sql_trigger.cc +++ b/sql/sql_trigger.cc @@ -1349,7 +1349,7 @@ bool Table_triggers_list::check_n_load(THD *thd, const char *db, List_iterator_fast<LEX_STRING> it_db_cl_name(triggers->db_cl_names); LEX *old_lex= thd->lex, lex; sp_rcontext *save_spcont= thd->spcont; - ulong save_sql_mode= thd->variables.sql_mode; + ulonglong save_sql_mode= thd->variables.sql_mode; LEX_STRING *on_table_name; thd->lex= &lex; @@ -1849,7 +1849,7 @@ Table_triggers_list::change_table_name_in_triggers(THD *thd, { char path_buff[FN_REFLEN]; LEX_STRING *def, *on_table_name, new_def; - ulong save_sql_mode= thd->variables.sql_mode; + ulonglong save_sql_mode= thd->variables.sql_mode; List_iterator_fast<LEX_STRING> it_def(definitions_list); List_iterator_fast<LEX_STRING> it_on_table_name(on_table_names_list); List_iterator_fast<ulonglong> it_mode(definition_modes_list); diff --git a/sql/sql_view.cc b/sql/sql_view.cc index cb1c57ea0ba..c09b39c2450 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -1225,7 +1225,7 @@ bool mysql_make_view(THD *thd, File_parser *parser, TABLE_LIST *table, view_select= &lex->select_lex; view_select->select_number= ++thd->select_number; - ulong saved_mode= thd->variables.sql_mode; + ulonglong saved_mode= thd->variables.sql_mode; /* switch off modes which can prevent normal parsing of VIEW - MODE_REAL_AS_FLOAT affect only CREATE TABLE parsing + MODE_PIPES_AS_CONCAT affect expression parsing diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc index 168c8a9c998..37dfb95bc6f 100644 --- a/sql/sys_vars.cc +++ b/sql/sys_vars.cc @@ -1040,20 +1040,20 @@ static Sys_var_ulong Sys_max_allowed_packet( BLOCK_SIZE(1024), NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(check_max_allowed_packet)); -static Sys_var_ulonglong Sys_max_binlog_cache_size( +static Sys_var_ulong Sys_max_binlog_cache_size( "max_binlog_cache_size", "Sets the total size of the transactional cache", GLOBAL_VAR(max_binlog_cache_size), CMD_LINE(REQUIRED_ARG), - VALID_RANGE(IO_SIZE, ULONGLONG_MAX), - DEFAULT((ULONGLONG_MAX/IO_SIZE)*IO_SIZE), + VALID_RANGE(IO_SIZE, ULONG_MAX), + DEFAULT((ULONG_MAX/IO_SIZE)*IO_SIZE), BLOCK_SIZE(IO_SIZE)); -static Sys_var_ulonglong Sys_max_binlog_stmt_cache_size( +static Sys_var_ulong Sys_max_binlog_stmt_cache_size( "max_binlog_stmt_cache_size", "Sets the total size of the statement cache", GLOBAL_VAR(max_binlog_stmt_cache_size), CMD_LINE(REQUIRED_ARG), - VALID_RANGE(IO_SIZE, ULONGLONG_MAX), - DEFAULT((ULONGLONG_MAX/IO_SIZE)*IO_SIZE), + VALID_RANGE(IO_SIZE, ULONG_MAX), + DEFAULT((ULONG_MAX/IO_SIZE)*IO_SIZE), BLOCK_SIZE(IO_SIZE)); static bool fix_max_binlog_size(sys_var *self, THD *thd, enum_var_type type) @@ -1977,7 +1977,7 @@ static Sys_var_ulong Sys_sort_buffer( VALID_RANGE(MIN_SORT_MEMORY, ULONG_MAX), DEFAULT(MAX_SORT_MEMORY), BLOCK_SIZE(1)); -export ulong expand_sql_mode(ulonglong sql_mode) +export ulonglong expand_sql_mode(ulonglong sql_mode) { if (sql_mode & MODE_ANSI) { @@ -2064,7 +2064,7 @@ static const char *sql_mode_names[]= "PAD_CHAR_TO_FULL_LENGTH", 0 }; -export bool sql_mode_string_representation(THD *thd, ulong sql_mode, +export bool sql_mode_string_representation(THD *thd, ulonglong sql_mode, LEX_STRING *ls) { set_to_string(thd, ls, sql_mode, sql_mode_names); diff --git a/sql/sys_vars.h b/sql/sys_vars.h index 1b9a22b1db7..f152c944a3e 100644 --- a/sql/sys_vars.h +++ b/sql/sys_vars.h @@ -154,12 +154,12 @@ public: } bool session_update(THD *thd, set_var *var) { - session_var(thd, T)= var->save_result.ulonglong_value; + session_var(thd, T)= static_cast<T>(var->save_result.ulonglong_value); return false; } bool global_update(THD *thd, set_var *var) { - global_var(T)= var->save_result.ulonglong_value; + global_var(T)= static_cast<T>(var->save_result.ulonglong_value); return false; } bool check_update_type(Item_result type) @@ -276,12 +276,12 @@ public: } bool session_update(THD *thd, set_var *var) { - session_var(thd, ulong)= var->save_result.ulonglong_value; + session_var(thd, ulong)= static_cast<ulong>(var->save_result.ulonglong_value); return false; } bool global_update(THD *thd, set_var *var) { - global_var(ulong)= var->save_result.ulonglong_value; + global_var(ulong)= static_cast<ulong>(var->save_result.ulonglong_value); return false; } void session_save_default(THD *thd, set_var *var) @@ -324,12 +324,12 @@ public: } bool session_update(THD *thd, set_var *var) { - session_var(thd, my_bool)= var->save_result.ulonglong_value; + session_var(thd, my_bool)= var->save_result.ulonglong_value != 0; return false; } bool global_update(THD *thd, set_var *var) { - global_var(my_bool)= var->save_result.ulonglong_value; + global_var(my_bool)= var->save_result.ulonglong_value != 0; return false; } void session_save_default(THD *thd, set_var *var) @@ -651,7 +651,7 @@ public: const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, ulonglong min_val, ulonglong max_val, ulonglong def_val, - ulonglong block_size, PolyLock *lock, + uint block_size, PolyLock *lock, enum binlog_status_enum binlog_status_arg, on_check_function on_check_func, keycache_update_function on_update_func, @@ -1410,7 +1410,7 @@ public: Sys_var_session_special(const char *name_arg, const char *comment, int flag_args, CMD_LINE getopt, - ulonglong min_val, ulonglong max_val, ulonglong block_size, + ulonglong min_val, ulonglong max_val, uint block_size, PolyLock *lock, enum binlog_status_enum binlog_status_arg, on_check_function on_check_func, session_special_update_function update_func_arg, |