From f2b0874f80a8d7f1c93f274c321514b2f02f7a09 Mon Sep 17 00:00:00 2001 From: "jimw@mysql.com" <> Date: Sat, 18 Jun 2005 01:55:42 +0200 Subject: [PATCH] Clean up warnings and build problems on Windows. (Bug #11045) --- VC++Files/sql/mysqld.dsp | 2 +- sql/examples/ha_archive.cc | 10 +++++----- sql/examples/ha_archive.h | 6 +++--- sql/ha_federated.cc | 9 ++------- sql/item_strfunc.cc | 1 - sql/sql_acl.cc | 2 -- sql/sql_insert.cc | 2 +- sql/sql_lex.cc | 9 +++++---- sql/sql_lex.h | 2 +- sql/sql_union.cc | 4 +++- sql/sql_yacc.yy | 2 +- sql/table.cc | 5 +++-- 12 files changed, 25 insertions(+), 29 deletions(-) diff --git a/VC++Files/sql/mysqld.dsp b/VC++Files/sql/mysqld.dsp index 4b49f5290c7..e8f24b300cb 100644 --- a/VC++Files/sql/mysqld.dsp +++ b/VC++Files/sql/mysqld.dsp @@ -84,7 +84,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=xilink6.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\vio.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_debug\bdb.lib ..\lib_debug\innodb.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqld-debug.exe" /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\vio.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_debug\bdb.lib ..\lib_debug\innodb.lib ..\extra\yassl\Debug\yassl.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqld-debug.exe" /pdbtype:sept !ELSEIF "$(CFG)" == "mysqld - Win32 nt" diff --git a/sql/examples/ha_archive.cc b/sql/examples/ha_archive.cc index 93cedcbf251..3bf1441852f 100644 --- a/sql/examples/ha_archive.cc +++ b/sql/examples/ha_archive.cc @@ -259,7 +259,7 @@ error: This method reads the header of a meta file and returns whether or not it was successful. *rows will contain the current number of rows in the data file upon success. */ -int ha_archive::read_meta_file(File meta_file, ulonglong *rows) +int ha_archive::read_meta_file(File meta_file, ha_rows *rows) { uchar meta_buffer[META_BUFFER_SIZE]; ulonglong check_point; @@ -273,7 +273,7 @@ int ha_archive::read_meta_file(File meta_file, ulonglong *rows) /* Parse out the meta data, we ignore version at the moment */ - *rows= uint8korr(meta_buffer + 2); + *rows= (ha_rows)uint8korr(meta_buffer + 2); check_point= uint8korr(meta_buffer + 10); DBUG_PRINT("ha_archive::read_meta_file", ("Check %d", (uint)meta_buffer[0])); @@ -296,7 +296,7 @@ int ha_archive::read_meta_file(File meta_file, ulonglong *rows) By setting dirty you say whether or not the file represents the actual state of the data file. Upon ::open() we set to dirty, and upon ::close() we set to clean. */ -int ha_archive::write_meta_file(File meta_file, ulonglong rows, bool dirty) +int ha_archive::write_meta_file(File meta_file, ha_rows rows, bool dirty) { uchar meta_buffer[META_BUFFER_SIZE]; ulonglong check_point= 0; //Reserved for the future @@ -787,7 +787,7 @@ int ha_archive::rnd_pos(byte * buf, byte *pos) DBUG_ENTER("ha_archive::rnd_pos"); statistic_increment(table->in_use->status_var.ha_read_rnd_next_count, &LOCK_status); - current_position= my_get_ptr(pos, ref_length); + current_position= (z_off_t)my_get_ptr(pos, ref_length); (void)gzseek(archive, current_position, SEEK_SET); DBUG_RETURN(get_row(archive, buf)); @@ -801,7 +801,7 @@ int ha_archive::repair(THD* thd, HA_CHECK_OPT* check_opt) { int rc; byte *buf; - ulonglong rows_recorded= 0; + ha_rows rows_recorded= 0; gzFile rebuild_file; // Archive file we are working with File meta_file; // Meta file we use char data_file_name[FN_REFLEN]; diff --git a/sql/examples/ha_archive.h b/sql/examples/ha_archive.h index 2f310d8c69b..454d253abe5 100644 --- a/sql/examples/ha_archive.h +++ b/sql/examples/ha_archive.h @@ -36,7 +36,7 @@ typedef struct st_archive_share { gzFile archive_write; /* Archive file we are working with */ bool dirty; /* Flag for if a flush should occur */ bool crashed; /* Meta file is crashed */ - ulonglong rows_recorded; /* Number of rows in tables */ + ha_rows rows_recorded; /* Number of rows in tables */ } ARCHIVE_SHARE; /* @@ -88,8 +88,8 @@ public: int rnd_next(byte *buf); int rnd_pos(byte * buf, byte *pos); int get_row(gzFile file_to_read, byte *buf); - int read_meta_file(File meta_file, ulonglong *rows); - int write_meta_file(File meta_file, ulonglong rows, bool dirty); + int read_meta_file(File meta_file, ha_rows *rows); + int write_meta_file(File meta_file, ha_rows rows, bool dirty); ARCHIVE_SHARE *get_share(const char *table_name, TABLE *table); int free_share(ARCHIVE_SHARE *share); bool auto_repair() const { return 1; } // For the moment we just do this diff --git a/sql/ha_federated.cc b/sql/ha_federated.cc index 89210a2f3cd..bf6674cf5cd 100644 --- a/sql/ha_federated.cc +++ b/sql/ha_federated.cc @@ -842,7 +842,7 @@ static FEDERATED_SHARE *get_share(const char *table_name, TABLE *table) query.length(0); uint table_name_length, table_base_name_length; - char *tmp_table_name, *tmp_table_base_name, *table_base_name, *select_query; + char *tmp_table_name, *table_base_name, *select_query; /* share->table_name has the file location - we want the table's name! */ table_base_name= (char*) table->s->table_name; @@ -963,7 +963,6 @@ const char **ha_federated::bas_ext() const int ha_federated::open(const char *name, int mode, uint test_if_locked) { - int rc; DBUG_ENTER("ha_federated::open"); if (!(share= get_share(name, table))) @@ -1076,7 +1075,7 @@ int ha_federated::write_row(byte *buf) { uint x= 0, num_fields= 0; Field **field; - ulong current_query_id= 1; + query_id_it current_query_id= 1; ulong tmp_query_id= 1; uint all_fields_have_same_query_id= 1; @@ -1471,8 +1470,6 @@ int ha_federated::index_read_idx(byte *buf, uint index, const byte *key, __attribute__ ((unused))) { char index_value[IO_SIZE]; - char key_value[IO_SIZE]; - char test_value[IO_SIZE]; String index_string(index_value, sizeof(index_value), &my_charset_bin); index_string.length(0); uint keylen; @@ -1538,7 +1535,6 @@ int ha_federated::index_read_idx(byte *buf, uint index, const byte *key, /* Initialized at each key walk (called multiple times unlike rnd_init()) */ int ha_federated::index_init(uint keynr) { - int error; DBUG_ENTER("ha_federated::index_init"); DBUG_PRINT("info", ("table: '%s' key: %d", table->s->table_name, keynr)); @@ -1570,7 +1566,6 @@ int ha_federated::index_next(byte *buf) int ha_federated::rnd_init(bool scan) { DBUG_ENTER("ha_federated::rnd_init"); - int num_fields, rows; /* This 'scan' flag is incredibly important for this handler to work diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index 539bed58e66..88f91b3f457 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -446,7 +446,6 @@ String *Item_func_des_decrypt::val_str(String *str) { DBUG_ASSERT(fixed == 1); #ifdef HAVE_OPENSSL - DES_key_schedule ks1, ks2, ks3; DES_cblock ivec; struct st_des_keyblock keyblock; struct st_des_keyschedule keyschedule; diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 04da0dd5eb5..c9f727f47d4 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -2476,7 +2476,6 @@ static int replace_routine_table(THD *thd, GRANT_NAME *grant_name, int old_row_exists= 1; int error=0; ulong store_proc_rights; - byte *key; DBUG_ENTER("replace_routine_table"); if (!initialized) @@ -3216,7 +3215,6 @@ my_bool grant_init(THD *org_thd) do { GRANT_NAME *mem_check; - longlong proc_type; HASH *hash; if (!(mem_check=new GRANT_NAME(p_table))) { diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index 5ca75554c6f..750fe373b41 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -192,7 +192,7 @@ static int check_update_fields(THD *thd, TABLE_LIST *insert_table_list, List &update_fields) { TABLE *table= insert_table_list->table; - ulong timestamp_query_id; + query_id_it timestamp_query_id; LINT_INIT(timestamp_query_id); /* diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 08f0c3badf7..43a7e06724d 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -1755,12 +1755,13 @@ bool st_lex::need_correct_ident() void st_select_lex_unit::set_limit(SELECT_LEX *sl) { - ulonglong select_limit_val; + ha_rows select_limit_val; DBUG_ASSERT(! thd->current_arena->is_stmt_prepare()); - select_limit_val= sl->select_limit ? sl->select_limit->val_uint() : - HA_POS_ERROR; - offset_limit_cnt= sl->offset_limit ? sl->offset_limit->val_uint() : ULL(0); + select_limit_val= (ha_rows)(sl->select_limit ? sl->select_limit->val_uint() : + HA_POS_ERROR); + offset_limit_cnt= (ha_rows)(sl->offset_limit ? sl->offset_limit->val_uint() : + ULL(0)); select_limit_cnt= select_limit_val + offset_limit_cnt; if (select_limit_cnt < select_limit_val) select_limit_cnt= HA_POS_ERROR; // no limit diff --git a/sql/sql_lex.h b/sql/sql_lex.h index 052873640c6..1d3289e4084 100644 --- a/sql/sql_lex.h +++ b/sql/sql_lex.h @@ -304,7 +304,7 @@ protected: *link_next, **link_prev; /* list of whole SELECT_LEX */ public: - ulonglong options; + ulong options; /* result of this query can't be cached, bit field, can be : UNCACHEABLE_DEPENDENT diff --git a/sql/sql_union.cc b/sql/sql_union.cc index f59d7fffe85..3d3acf40f37 100644 --- a/sql/sql_union.cc +++ b/sql/sql_union.cc @@ -448,7 +448,9 @@ bool st_select_lex_unit::exec() table->no_keyread=1; } res= sl->join->error; - offset_limit_cnt= sl->offset_limit ? sl->offset_limit->val_uint() : 0; + offset_limit_cnt= (ha_rows)(sl->offset_limit ? + sl->offset_limit->val_uint() : + 0); if (!res) { examined_rows+= thd->examined_row_count; diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 00ef8b581f1..8918cd45406 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -5641,7 +5641,7 @@ delete_limit_clause: ulong_num: NUM { int error; $$= (ulong) my_strtoll10($1.str, (char**) 0, &error); } - | HEX_NUM { int error; $$= (ulong) strtol($1.str, (char**) 0, 16); } + | HEX_NUM { $$= (ulong) strtol($1.str, (char**) 0, 16); } | LONG_NUM { int error; $$= (ulong) my_strtoll10($1.str, (char**) 0, &error); } | ULONGLONG_NUM { int error; $$= (ulong) my_strtoll10($1.str, (char**) 0, &error); } | DECIMAL_NUM { int error; $$= (ulong) my_strtoll10($1.str, (char**) 0, &error); } diff --git a/sql/table.cc b/sql/table.cc index f7dc0446a77..e591330ed01 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -745,8 +745,9 @@ int openfrm(THD *thd, const char *name, const char *alias, uint db_stat, error. */ keyinfo->key_length-= (key_part->length - field->key_length()); - key_part->store_length-= (key_part->length - field->key_length()); - key_part->length= field->key_length(); + key_part->store_length-= (uint16)(key_part->length - + field->key_length()); + key_part->length= (uint16)field->key_length(); sql_print_error("Found wrong key definition in %s; Please do \"ALTER TABLE '%s' FORCE \" to fix it!", name, share->table_name); push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, ER_CRASHED_ON_USAGE,