diff options
author | unknown <monty@mysql.com/nosik.monty.fi> | 2007-08-13 16:11:25 +0300 |
---|---|---|
committer | unknown <monty@mysql.com/nosik.monty.fi> | 2007-08-13 16:11:25 +0300 |
commit | 09a53f28a73d8000bab902611f609a44d87f329d (patch) | |
tree | a462885d0de8206ed3a0b18affdd892bafca84c8 /storage/myisam | |
parent | f338fd010a0a29e4c52c41b3ef4962f36be6a1d1 (diff) | |
download | mariadb-git-09a53f28a73d8000bab902611f609a44d87f329d.tar.gz |
Fixed a lot of compiler warnings and errors detected by Forte C++ on Solaris
Faster thr_alarm()
Added 'Opened_files' status variable to track calls to my_open()
Don't give warnings when running mysql_install_db
Added option --source-install to mysql_install_db
I had to do the following renames() as used polymorphism didn't work with Forte compiler on 64 bit systems
index_read() -> index_read_map()
index_read_idx() -> index_read_idx_map()
index_read_last() -> index_read_last_map()
BUILD/compile-solaris-sparc-forte:
Updated script to current Solaris installations
Now we compile by default for 64 bits
client/mysql.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
client/mysql_upgrade.c:
Fixed compiler warning (on Forte)
client/mysqladmin.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
client/mysqlcheck.c:
Fixed compiler warning (on Forte)
client/mysqldump.c:
Fixed compiler warning (on Forte)
client/mysqlslap.c:
Fixed compiler warning (on Forte)
client/mysqltest.c:
Fixed compiler warning (on Forte)
client/sql_string.cc:
Avoid compiler warnings when using C function pointers in C++
configure.in:
Added detection of mtmalloc and ieeefp.h
extra/replace.c:
Fixed compiler warning (on Forte)
include/m_ctype.h:
Added some typedef's to make it easy to use C function pointers in C++
include/my_sys.h:
Added my_file_total_opened (counter for calls to my_open())
include/myisam.h:
Fixed compiler warning (on Forte)
libmysql/libmysql.c:
Fixed compiler warning (on Forte) by adding casts and change types
libmysql/manager.c:
Fixed compiler warning (on Forte) by adding casts and change types
mysql-test/r/ctype_cp932_binlog_stm.result:
Updated positions
(Needed because we didn't before correctly restore collation_database after running stored procedure
mysys/my_fopen.c:
Count number of opened files
mysys/my_open.c:
Count number of opened files
mysys/my_static.c:
Count number of opened files
mysys/thr_alarm.c:
Optimization to do less alarm() and pthread_sigmask() calls.
Idea is to remember time for next pending alarm and not reschedule a new alarm if it's after the current one.
Before we only did this if there was other pending alarms.
We don't have to use pthread_sigmask() in case of 'USE_ONE_SIGNAL_HAND' as the alarm()
signal will be blocked for the calling thread anyway and no other thread will have the alarm() signal enabled to call process_alarm()
regex/regcomp.c:
Fixed compiler warning (on Forte) by adding casts and change types
scripts/mysql_install_db.sh:
Added option --source-install to allow one to create a mysql database from the source tree without installing MySQL
Don't give (unnecessary) warnings
server-tools/instance-manager/angel.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
server-tools/instance-manager/thread_registry.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/event_db_repository.cc:
index_read() -> index_read_map()
sql/event_queue.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/field.cc:
Fixed compiler warnings about hidden fields
sql/ha_partition.cc:
Fixed compiler warnings about hidden fields
index_read() -> index_read_map()
sql/ha_partition.h:
index_read() -> index_read_map()
sql/handler.cc:
Added PAGE option to row types (to prepare for future)
index_read() -> index_read_map()
sql/handler.h:
Added ROW_TYPE_PAGE (for future)
Added flag to signal if table was to be created transactionally
I had to do the following renames() as used polymorphism didn't work with Forte compiler on 64 bit systems
index_read() -> index_read_map()
index_read_idx() -> index_read_idx_map()
index_read_last() -> index_read_last_map()
sql/item.cc:
Fixed indentation
Renamed local variable to avoid hiding class variable
sql/item_cmpfunc.cc:
Renamed local variable to avoid hiding class variable
sql/item_cmpfunc.h:
Removed not used variable
sql/item_func.cc:
Renamed local variable to avoid hiding class variable
sql/item_strfunc.cc:
Moved functions from Item_strfunc.cc
sql/item_strfunc.h:
Move functions to item_strfunc.cc
Use C function pointer type to avoid compiler warnings (with Forte)
sql/item_subselect.cc:
index_read() -> index_read_map()
sql/item_xmlfunc.cc:
Renamed local variable to avoid hiding class variable
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/key.cc:
Fixed indentation
sql/log.cc:
Renamed local variable to avoid hiding class variable
sql/log_event.cc:
Removed call to my_time() when creating class instance of Log_event() as this may have static instances.
(One can't call my_time() before my_init())
index_read() -> index_read_map()
Renamed local variable to avoid hiding class variable
sql/log_event_old.cc:
Renamed local variable to avoid hiding class variable
sql/mysql_priv.h:
Made all create_backup_ctx() declarations identical.
This lifted up a bug where wrong create_backup_ctx() was called in some cases.
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/mysqld.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
Fixed indentation
Don't call end_thr_alarm() when calling unireg_abort() as unireg_abort() already calls end_thr_alarm()
Added variable 'Opened_files' (number of calls to my_open() or my_fopen())
Don't print 'loose' warnings when using --bootstrap (to avoid warnings when running mysql_install_db)
Fixed compiler warnings
sql/opt_range.cc:
index_read() -> index_read_map()
sql/opt_sum.cc:
index_read() -> index_read_map()
sql/partition_info.cc:
Renamed local variable to avoid hiding class variable
sql/rpl_filter.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/set_var.cc:
Renamed local variable to avoid hiding class variable
Added 'process_key_cache_t' type to avoid compiler warning (on Forte)
sql/set_var.h:
Added 'process_key_cache_t' type to avoid compiler warning (on Forte)
sql/sp.cc:
More debugging
index_read() -> index_read_map()
sql/sp_cache.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/sp_head.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
Moved 'saved_creation_ctx' higher up to be able to free objects allocated by create_backup_ctx()
sql/sql_acl.cc:
index_read() -> index_read_map()
sql/sql_class.cc:
Renamed local variable to avoid hiding class variable
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/sql_class.h:
Renamed local variable to avoid hiding class variable
sql/sql_db.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/sql_delete.cc:
Renamed local variable to avoid hiding class variable
sql/sql_handler.cc:
index_read() -> index_read_map()
sql/sql_help.cc:
index_read() -> index_read_map()
sql/sql_insert.cc:
index_read() -> index_read_map()
Renamed local variable to avoid hiding class variable
sql/sql_lex.cc:
Renamed local variable to avoid hiding class variable
sql/sql_plugin.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
index_read() -> index_read_map()
Don't give warnings about not used plugins if we are using --warnings=0
sql/sql_select.cc:
index_read() -> index_read_map()
sql-common/client.c:
Fixed compiler warning (on Forte)
sql-common/my_time.c:
Removed never accessed code
Fixed compiler warning (on Forte)
sql/sql_servers.cc:
index_read() -> index_read_map()
sql/sql_show.cc:
Added TRANSACTIONAL to SHOW CREATE
Fixed ROW_TYPE_PAGE
sql/sql_string.cc:
Avoid compiler warnings when using C function pointers in C++
sql/sql_table.cc:
Set create_info->transactional if we used TRANSACTIONAL=1
sql/sql_udf.cc:
index_read() -> index_read_map()
sql/sql_yacc.yy:
Added TRANSACTIONAL=0|1 to CREATE (for future)
Added row type PAGE (was only partionally handled before)
sql/strfunc.cc:
Avoid compiler warnings when using C function pointers in C++
sql/table.cc:
More DBUG statements
Declare all create_backup_ctx() functions identically
Remember if table was created with TRANSACTIONAL flag or not (future safe)
Renamed local variable to avoid hiding class variable
sql/table.h:
Remember if table was created with TRANSACTIONAL=1
sql/tztime.cc:
index_read() -> index_read_map()
sql-common/pack.c:
Fixed compiler warning (on Forte)
storage/archive/archive_reader.c:
Fixed compiler warning (on Forte)
storage/archive/azio.c:
Fixed compiler warning (on Forte)
storage/blackhole/ha_blackhole.cc:
index_read() -> index_read_map()
storage/blackhole/ha_blackhole.h:
index_read() -> index_read_map()
storage/csv/ha_tina.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
storage/example/ha_example.cc:
index_read() -> index_read_map()
storage/example/ha_example.h:
index_read() -> index_read_map()
storage/heap/ha_heap.cc:
index_read() -> index_read_map()
storage/heap/ha_heap.h:
index_read() -> index_read_map()
storage/heap/hp_test1.c:
Fixed compiler warning (on Forte)
storage/heap/hp_test2.c:
Fixed compiler warning (on Forte)
storage/myisam/ft_boolean_search.c:
Fixed compiler warning (on Forte)
storage/myisam/ft_nlq_search.c:
Fixed compiler warning (on Forte)
storage/myisam/ft_parser.c:
Fixed compiler warning (on Forte)
storage/myisam/ft_stopwords.c:
Fixed compiler warning (on Forte)
storage/myisam/ha_myisam.cc:
index_read() -> index_read_map()
storage/myisam/ha_myisam.h:
index_read() -> index_read_map()
storage/myisam/mi_check.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_delete.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_dynrec.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_extra.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_key.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_keycache.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_locking.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_log.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_open.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_packrec.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_page.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_rkey.c:
Added comment
storage/myisam/mi_search.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_statrec.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_test1.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_test2.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_test3.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_update.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_write.c:
Fixed compiler warning (on Forte)
storage/myisam/myisamdef.h:
Fixed that file_read/file_write returns type size_t
Changed some functions to use uchar * as argument/return value instead of char*
This fixed some compiler warnings on Forte
storage/myisam/myisamlog.c:
Fixed compiler warning (on Forte)
storage/myisam/myisampack.c:
Fixed compiler warning (on Forte)
storage/myisam/rt_test.c:
Fixed compiler warning (on Forte)
storage/myisam/sort.c:
Fixed compiler warning (on Forte) by adding casts or changing variables to uchar*
storage/myisam/sp_test.c:
Fixed compiler warning (on Forte) by adding casts or changing variables to uchar*
storage/myisammrg/ha_myisammrg.cc:
index_read() -> index_read_map()
storage/myisammrg/ha_myisammrg.h:
index_read() -> index_read_map()
storage/myisammrg/myrg_create.c:
Fixed compiler warning (on Forte) by adding casts or changing variable types
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
Tdummy -> align (as in other part of cluster code)
storage/ndb/src/kernel/vm/DynArr256.cpp:
Removed not used variable
storage/ndb/src/ndbapi/Ndb.cpp:
Removed not used variable
strings/strtod.c:
Include ieeefp.h to avoid compiler warning
tests/bug25714.c:
Fixed compiler warning
tests/mysql_client_test.c:
Remove not used variable
Fixed indentation
Removed never reached code
Fixed compiler warning (on Forte) by adding casts or changing variable types
vio/viosocket.c:
Fixed compiler warning (on Forte) by adding casts or changing variable types
Diffstat (limited to 'storage/myisam')
31 files changed, 270 insertions, 253 deletions
diff --git a/storage/myisam/ft_boolean_search.c b/storage/myisam/ft_boolean_search.c index c881f7a7480..15f4e1e1d34 100644 --- a/storage/myisam/ft_boolean_search.c +++ b/storage/myisam/ft_boolean_search.c @@ -227,7 +227,7 @@ static int ftb_query_add_word(MYSQL_FTPARSER_PARAM *param, if (! ftb_param->up_quot) break; phrase_word= (FT_WORD *)alloc_root(&ftb_param->ftb->mem_root, sizeof(FT_WORD)); tmp_element= (LIST *)alloc_root(&ftb_param->ftb->mem_root, sizeof(LIST)); - phrase_word->pos= word; + phrase_word->pos= (uchar*) word; phrase_word->len= word_len; tmp_element->data= (void *)phrase_word; ftb_param->ftbe->phrase= list_add(ftb_param->ftbe->phrase, tmp_element); @@ -253,7 +253,7 @@ static int ftb_query_add_word(MYSQL_FTPARSER_PARAM *param, if (info->yesno > 0) ftbe->up->ythresh++; ftb_param->ftbe= ftbe; ftb_param->depth++; - ftb_param->up_quot= info->quot; + ftb_param->up_quot= (uchar*) info->quot; break; case FT_TOKEN_RIGHT_PAREN: if (ftb_param->ftbe->document) @@ -288,13 +288,13 @@ static int ftb_parse_query_internal(MYSQL_FTPARSER_PARAM *param, MYSQL_FTPARSER_BOOLEAN_INFO info; CHARSET_INFO *cs= ftb_param->ftb->charset; uchar **start= (uchar**) &query; - char *end= query + len; + uchar *end= (uchar*) query + len; FT_WORD w; info.prev= ' '; info.quot= 0; while (ft_get_word(cs, start, end, &w, &info)) - param->mysql_add_word(param, w.pos, w.len, &info); + param->mysql_add_word(param, (char*) w.pos, w.len, &info); return(0); } @@ -321,7 +321,7 @@ static int _ftb_parse_query(FTB *ftb, uchar *query, uint len, param->mysql_add_word= ftb_query_add_word; param->mysql_ftparam= (void *)&ftb_param; param->cs= ftb->charset; - param->doc= query; + param->doc= (char*) query; param->length= len; param->flags= 0; param->mode= MYSQL_FTPARSER_FULL_BOOLEAN_INFO; @@ -606,7 +606,7 @@ static int ftb_phrase_add_word(MYSQL_FTPARSER_PARAM *param, MY_FTB_PHRASE_PARAM *phrase_param= param->mysql_ftparam; FT_WORD *w= (FT_WORD *)phrase_param->document->data; LIST *phrase, *document; - w->pos= word; + w->pos= (uchar*) word; w->len= word_len; phrase_param->document= phrase_param->document->prev; if (phrase_param->phrase_length > phrase_param->document_length) @@ -636,11 +636,11 @@ static int ftb_check_phrase_internal(MYSQL_FTPARSER_PARAM *param, { FT_WORD word; MY_FTB_PHRASE_PARAM *phrase_param= param->mysql_ftparam; - const char *docend= document + len; + const uchar *docend= (uchar*) document + len; while (ft_simple_get_word(phrase_param->cs, (uchar**) &document, docend, &word, FALSE)) { - param->mysql_add_word(param, word.pos, word.len, 0); + param->mysql_add_word(param, (char*) word.pos, word.len, 0); if (phrase_param->match) break; } @@ -685,7 +685,7 @@ static int _ftb_check_phrase(FTB *ftb, const uchar *document, uint len, param->mysql_add_word= ftb_phrase_add_word; param->mysql_ftparam= (void *)&ftb_param; param->cs= ftb->charset; - param->doc= (uchar *)document; + param->doc= (char *) document; param->length= len; param->flags= 0; param->mode= MYSQL_FTPARSER_WITH_STOPWORDS; @@ -830,10 +830,11 @@ int ft_boolean_read_next(FT_INFO *ftb, char *record) /* Clear all states, except that the table was updated */ info->update&= (HA_STATE_CHANGED | HA_STATE_ROW_CHANGED); - if (!(*info->read_record)(info,curdoc,record)) + if (!(*info->read_record)(info,curdoc, (uchar*) record)) { info->update|= HA_STATE_AKTIV; /* Record is read */ - if (ftb->with_scan && ft_boolean_find_relevance(ftb,record,0)==0) + if (ftb->with_scan && + ft_boolean_find_relevance(ftb,(uchar*) record,0)==0) continue; /* no match */ my_errno=0; goto err; @@ -896,10 +897,10 @@ static int ftb_find_relevance_parse(MYSQL_FTPARSER_PARAM *param, { MY_FTB_FIND_PARAM *ftb_param= param->mysql_ftparam; FT_INFO *ftb= ftb_param->ftb; - char *end= doc + len; + uchar *end= (uchar*) doc + len; FT_WORD w; while (ft_simple_get_word(ftb->charset, (uchar**) &doc, end, &w, TRUE)) - param->mysql_add_word(param, w.pos, w.len, 0); + param->mysql_add_word(param, (char*) w.pos, w.len, 0); return(0); } @@ -955,7 +956,7 @@ float ft_boolean_find_relevance(FT_INFO *ftb, uchar *record, uint length) { if (!ftsi.pos) continue; - param->doc= (uchar *)ftsi.pos; + param->doc= (char *)ftsi.pos; param->length= ftsi.len; if (unlikely(parser->parse(param))) return 0; diff --git a/storage/myisam/ft_nlq_search.c b/storage/myisam/ft_nlq_search.c index 4774b819aa2..282fa6751d8 100644 --- a/storage/myisam/ft_nlq_search.c +++ b/storage/myisam/ft_nlq_search.c @@ -83,7 +83,7 @@ static int walk_and_match(FT_WORD *word, uint32 count, ALL_IN_ONE *aio) word->weight=LWS_FOR_QUERY; - keylen=_ft_make_key(info,aio->keynr,(char*) keybuff,word,0); + keylen=_ft_make_key(info,aio->keynr,keybuff,word,0); keylen-=HA_FT_WLEN; doc_cnt=0; @@ -317,7 +317,7 @@ int ft_nlq_read_next(FT_INFO *handler, char *record) info->update&= (HA_STATE_CHANGED | HA_STATE_ROW_CHANGED); info->lastpos=handler->doc[handler->curdoc].dpos; - if (!(*info->read_record)(info,info->lastpos,record)) + if (!(*info->read_record)(info,info->lastpos,(uchar*) record)) { info->update|= HA_STATE_AKTIV; /* Record is read */ return 0; diff --git a/storage/myisam/ft_parser.c b/storage/myisam/ft_parser.c index befe2bab066..df2423aa50f 100644 --- a/storage/myisam/ft_parser.c +++ b/storage/myisam/ft_parser.c @@ -83,7 +83,7 @@ my_bool ft_boolean_check_syntax_string(const uchar *str) uint i, j; if (!str || - (strlen(str)+1 != sizeof(ft_boolean_syntax)) || + (strlen((char*) str)+1 != sizeof(ft_boolean_syntax)) || (str[0] != ' ' && str[1] != ' ')) return 1; for (i=0; i<sizeof(ft_boolean_syntax); i++) @@ -127,7 +127,7 @@ uchar ft_get_word(CHARSET_INFO *cs, uchar **start, uchar *end, break; if (*doc == FTB_RQUOT && param->quot) { - param->quot=doc; + param->quot= (char*) doc; *start=doc+1; param->type= FT_TOKEN_RIGHT_PAREN; goto ret; @@ -138,7 +138,8 @@ uchar ft_get_word(CHARSET_INFO *cs, uchar **start, uchar *end, { /* param->prev=' '; */ *start=doc+1; - if (*doc == FTB_LQUOT) param->quot=*start; + if (*doc == FTB_LQUOT) + param->quot= (char*) *start; param->type= (*doc == FTB_RBR ? FT_TOKEN_RIGHT_PAREN : FT_TOKEN_LEFT_PAREN); goto ret; } @@ -174,7 +175,8 @@ uchar ft_get_word(CHARSET_INFO *cs, uchar **start, uchar *end, if ((param->trunc=(doc<end && *doc == FTB_TRUNC))) doc++; - if (((length >= ft_min_word_len && !is_stopword(word->pos, word->len)) + if (((length >= ft_min_word_len && !is_stopword((char*) word->pos, + word->len)) || param->trunc) && length < ft_max_word_len) { *start=doc; @@ -190,7 +192,8 @@ uchar ft_get_word(CHARSET_INFO *cs, uchar **start, uchar *end, } if (param->quot) { - param->quot=*start=doc; + *start= doc; + param->quot= (char*) doc; param->type= 3; /* FT_RBR */ goto ret; } @@ -235,7 +238,7 @@ uchar ft_simple_get_word(CHARSET_INFO *cs, uchar **start, const uchar *end, if (skip_stopwords == FALSE || (length >= ft_min_word_len && length < ft_max_word_len && - !is_stopword(word->pos, word->len))) + !is_stopword((char*) word->pos, word->len))) { *start= doc; DBUG_RETURN(1); @@ -271,7 +274,7 @@ static int ft_add_word(MYSQL_FTPARSER_PARAM *param, w.pos= ptr; } else - w.pos= word; + w.pos= (uchar*) word; w.len= word_len; if (!tree_insert(wtree, &w, 0, wtree->custom_arg)) { @@ -293,7 +296,7 @@ static int ft_parse_internal(MYSQL_FTPARSER_PARAM *param, DBUG_ENTER("ft_parse_internal"); while (ft_simple_get_word(wtree->custom_arg, &doc, end, &w, TRUE)) - if (param->mysql_add_word(param, w.pos, w.len, 0)) + if (param->mysql_add_word(param, (char*) w.pos, w.len, 0)) DBUG_RETURN(1); DBUG_RETURN(0); } @@ -314,7 +317,7 @@ int ft_parse(TREE *wtree, uchar *doc, int doclen, param->mysql_add_word= ft_add_word; param->mysql_ftparam= &my_param; param->cs= wtree->custom_arg; - param->doc= doc; + param->doc= (char*) doc; param->length= doclen; param->mode= MYSQL_FTPARSER_SIMPLE_MODE; DBUG_RETURN(parser->parse(param)); @@ -392,7 +395,9 @@ MYSQL_FTPARSER_PARAM *ftparser_call_initializer(MI_INFO *info, mysql_add_word == 0 - parser is not initialized mysql_add_word != 0 - parser is initialized, or no initialization needed. */ - info->ftparser_param[ftparser_nr].mysql_add_word= (void *)1; + info->ftparser_param[ftparser_nr].mysql_add_word= + (int (*)(struct st_mysql_ftparser_param *, char *, int, + MYSQL_FTPARSER_BOOLEAN_INFO *)) 1; if (parser->init && parser->init(&info->ftparser_param[ftparser_nr])) return 0; } diff --git a/storage/myisam/ft_stopwords.c b/storage/myisam/ft_stopwords.c index e6a90bc927a..59866d9a351 100644 --- a/storage/myisam/ft_stopwords.c +++ b/storage/myisam/ft_stopwords.c @@ -82,7 +82,7 @@ int ft_init_stopwords() end=start+len; while (ft_simple_get_word(default_charset_info, &start, end, &w, TRUE)) { - if (ft_add_stopword(my_strndup(w.pos, w.len, MYF(0)))) + if (ft_add_stopword(my_strndup((char*) w.pos, w.len, MYF(0)))) goto err1; } error=0; diff --git a/storage/myisam/ha_myisam.cc b/storage/myisam/ha_myisam.cc index 77334b2cfba..bc6e5706c21 100644 --- a/storage/myisam/ha_myisam.cc +++ b/storage/myisam/ha_myisam.cc @@ -1576,8 +1576,9 @@ int ha_myisam::delete_row(const uchar *buf) return mi_delete(file,buf); } -int ha_myisam::index_read(uchar *buf, const uchar *key, key_part_map keypart_map, - enum ha_rkey_function find_flag) +int ha_myisam::index_read_map(uchar *buf, const uchar *key, + key_part_map keypart_map, + enum ha_rkey_function find_flag) { DBUG_ASSERT(inited==INDEX); ha_statistic_increment(&SSV::ha_read_key_count); @@ -1586,9 +1587,9 @@ int ha_myisam::index_read(uchar *buf, const uchar *key, key_part_map keypart_map return error; } -int ha_myisam::index_read_idx(uchar *buf, uint index, const uchar *key, - key_part_map keypart_map, - enum ha_rkey_function find_flag) +int ha_myisam::index_read_idx_map(uchar *buf, uint index, const uchar *key, + key_part_map keypart_map, + enum ha_rkey_function find_flag) { ha_statistic_increment(&SSV::ha_read_key_count); int error=mi_rkey(file, buf, index, key, keypart_map, find_flag); @@ -1596,8 +1597,8 @@ int ha_myisam::index_read_idx(uchar *buf, uint index, const uchar *key, return error; } -int ha_myisam::index_read_last(uchar *buf, const uchar *key, - key_part_map keypart_map) +int ha_myisam::index_read_last_map(uchar *buf, const uchar *key, + key_part_map keypart_map) { DBUG_ENTER("ha_myisam::index_read_last"); DBUG_ASSERT(inited==INDEX); diff --git a/storage/myisam/ha_myisam.h b/storage/myisam/ha_myisam.h index 635f314b3da..e8594fc9039 100644 --- a/storage/myisam/ha_myisam.h +++ b/storage/myisam/ha_myisam.h @@ -65,11 +65,12 @@ class ha_myisam: public handler int write_row(uchar * buf); int update_row(const uchar * old_data, uchar * new_data); int delete_row(const uchar * buf); - int index_read(uchar *buf, const uchar *key, key_part_map keypart_map, - enum ha_rkey_function find_flag); - int index_read_idx(uchar *buf, uint index, const uchar *key, - key_part_map keypart_map, enum ha_rkey_function find_flag); - int index_read_last(uchar *buf, const uchar *key, key_part_map keypart_map); + int index_read_map(uchar *buf, const uchar *key, key_part_map keypart_map, + enum ha_rkey_function find_flag); + int index_read_idx_map(uchar *buf, uint index, const uchar *key, + key_part_map keypart_map, + enum ha_rkey_function find_flag); + int index_read_last_map(uchar *buf, const uchar *key, key_part_map keypart_map); int index_next(uchar * buf); int index_prev(uchar * buf); int index_first(uchar * buf); diff --git a/storage/myisam/mi_check.c b/storage/myisam/mi_check.c index 255f17eada7..fe6b716877c 100644 --- a/storage/myisam/mi_check.c +++ b/storage/myisam/mi_check.c @@ -173,7 +173,7 @@ int chk_del(MI_CHECK *param, register MI_INFO *info, uint test_flag) printf(" %9s",llstr(next_link,buff)); if (next_link >= info->state->data_file_length) goto wrong; - if (my_pread(info->dfile,(char*) buff,delete_link_length, + if (my_pread(info->dfile, (uchar*) buff,delete_link_length, next_link,MYF(MY_NABP))) { if (test_flag & T_VERBOSE) puts(""); @@ -250,7 +250,8 @@ static int check_k_link(MI_CHECK *param, register MI_INFO *info, uint nr) my_off_t next_link; uint block_size=(nr+1)*MI_MIN_KEY_BLOCK_LENGTH; ha_rows records; - char llbuff[21], llbuff2[21], *buff; + char llbuff[21], llbuff2[21]; + uchar *buff; DBUG_ENTER("check_k_link"); DBUG_PRINT("enter", ("block_size: %u", block_size)); @@ -1672,7 +1673,7 @@ static int writekeys(MI_SORT_PARAM *sort_param) { if (info->s->keyinfo[i].flag & HA_FULLTEXT ) { - if (_mi_ft_add(info,i,(char*) key,buff,filepos)) + if (_mi_ft_add(info, i, key, buff, filepos)) goto err; } #ifdef HAVE_SPATIAL @@ -1703,7 +1704,7 @@ static int writekeys(MI_SORT_PARAM *sort_param) { if (info->s->keyinfo[i].flag & HA_FULLTEXT) { - if (_mi_ft_del(info,i,(char*) key,buff,filepos)) + if (_mi_ft_del(info,i, key,buff,filepos)) break; } else @@ -2742,7 +2743,7 @@ int mi_repair_parallel(MI_CHECK *param, register MI_INFO *info, sort_param[i].filepos=new_header_length; sort_param[i].max_pos=sort_param[i].pos=share->pack.header_length; - sort_param[i].record= (((char *)(sort_param+share->base.keys))+ + sort_param[i].record= (((uchar *)(sort_param+share->base.keys))+ (share->base.pack_reclength * i)); if (!mi_alloc_rec_buff(info, -1, &sort_param[i].rec_buff)) { @@ -3586,7 +3587,7 @@ int sort_write_record(MI_SORT_PARAM *sort_param) DBUG_RETURN(1); sort_info->buff_length=reclength; } - from=sort_info->buff+ALIGN_SIZE(MI_MAX_DYN_BLOCK_HEADER); + from= sort_info->buff+ALIGN_SIZE(MI_MAX_DYN_BLOCK_HEADER); } /* We can use info->checksum here as only one thread calls this. */ info->checksum=mi_checksum(info,sort_param->record); @@ -4268,7 +4269,7 @@ int write_data_suffix(SORT_INFO *sort_info, my_bool fix_datafile) if (info->s->options & HA_OPTION_COMPRESS_RECORD && fix_datafile) { - char buff[MEMMAP_EXTRA_MARGIN]; + uchar buff[MEMMAP_EXTRA_MARGIN]; bzero(buff,sizeof(buff)); if (my_b_write(&info->rec_cache,buff,sizeof(buff))) { diff --git a/storage/myisam/mi_delete.c b/storage/myisam/mi_delete.c index 29a84570f1e..6fe31f30c19 100644 --- a/storage/myisam/mi_delete.c +++ b/storage/myisam/mi_delete.c @@ -78,7 +78,7 @@ int mi_delete(MI_INFO *info,const uchar *record) info->s->keyinfo[i].version++; if (info->s->keyinfo[i].flag & HA_FULLTEXT ) { - if (_mi_ft_del(info,i,(char*) old_key,record,info->lastpos)) + if (_mi_ft_del(info,i, old_key,record,info->lastpos)) goto err; } else @@ -250,7 +250,7 @@ static int d_search(register MI_INFO *info, register MI_KEYDEF *keyinfo, if (info->ft1_to_ft2) { /* we're in ft1->ft2 conversion mode. Saving key data */ - insert_dynamic(info->ft1_to_ft2, (char*) (lastkey+off)); + insert_dynamic(info->ft1_to_ft2, (lastkey+off)); } else { @@ -806,7 +806,7 @@ static uint remove_key(MI_KEYDEF *keyinfo, uint nod_flag, if (next_length > prev_length) { /* We have to copy data from the current key to the next key */ - bmove_upp((char*) keypos,(char*) (lastkey+next_length), + bmove_upp(keypos, (lastkey+next_length), (next_length-prev_length)); keypos-=(next_length-prev_length)+prev_pack_length; store_key_length(keypos,prev_length); @@ -853,7 +853,7 @@ static uint remove_key(MI_KEYDEF *keyinfo, uint nod_flag, if (next_length >= prev_length) { /* Key after is based on deleted key */ uint pack_length,tmp; - bmove_upp((char*) keypos,(char*) (lastkey+next_length), + bmove_upp(keypos, (lastkey+next_length), tmp=(next_length-prev_length)); rest_length+=tmp; pack_length= prev_length ? get_pack_length(rest_length): 0; diff --git a/storage/myisam/mi_dynrec.c b/storage/myisam/mi_dynrec.c index eba868bfb82..cdd70abe9ad 100644 --- a/storage/myisam/mi_dynrec.c +++ b/storage/myisam/mi_dynrec.c @@ -91,7 +91,7 @@ my_bool mi_dynmap_file(MI_INFO *info, my_off_t size) DBUG_RETURN(1); } #if defined(HAVE_MADVISE) - madvise(info->s->file_map, size, MADV_RANDOM); + madvise((char*) info->s->file_map, size, MADV_RANDOM); #endif info->s->mmaped_length= size; DBUG_RETURN(0); @@ -112,7 +112,7 @@ void mi_remap_file(MI_INFO *info, my_off_t size) { if (info->s->file_map) { - VOID(my_munmap(info->s->file_map, + VOID(my_munmap((char*) info->s->file_map, (size_t) info->s->mmaped_length + MEMMAP_EXTRA_MARGIN)); mi_dynmap_file(info, size); } @@ -135,8 +135,8 @@ void mi_remap_file(MI_INFO *info, my_off_t size) 0 ok */ -uint mi_mmap_pread(MI_INFO *info, uchar *Buffer, - uint Count, my_off_t offset, myf MyFlags) +size_t mi_mmap_pread(MI_INFO *info, uchar *Buffer, + size_t Count, my_off_t offset, myf MyFlags) { DBUG_PRINT("info", ("mi_read with mmap %d\n", info->dfile)); if (info->s->concurrent_insert) @@ -167,8 +167,8 @@ uint mi_mmap_pread(MI_INFO *info, uchar *Buffer, /* wrapper for my_pread in case if mmap isn't used */ -uint mi_nommap_pread(MI_INFO *info, uchar *Buffer, - uint Count, my_off_t offset, myf MyFlags) +size_t mi_nommap_pread(MI_INFO *info, uchar *Buffer, + size_t Count, my_off_t offset, myf MyFlags) { return my_pread(info->dfile, Buffer, Count, offset, MyFlags); } @@ -190,8 +190,8 @@ uint mi_nommap_pread(MI_INFO *info, uchar *Buffer, !=0 error. In this case return error from pwrite */ -uint mi_mmap_pwrite(MI_INFO *info, uchar *Buffer, - uint Count, my_off_t offset, myf MyFlags) +size_t mi_mmap_pwrite(MI_INFO *info, const uchar *Buffer, + size_t Count, my_off_t offset, myf MyFlags) { DBUG_PRINT("info", ("mi_write with mmap %d\n", info->dfile)); if (info->s->concurrent_insert) @@ -224,8 +224,8 @@ uint mi_mmap_pwrite(MI_INFO *info, uchar *Buffer, /* wrapper for my_pwrite in case if mmap isn't used */ -uint mi_nommap_pwrite(MI_INFO *info, uchar *Buffer, - uint Count, my_off_t offset, myf MyFlags) +size_t mi_nommap_pwrite(MI_INFO *info, const uchar *Buffer, + size_t Count, my_off_t offset, myf MyFlags) { return my_pwrite(info->dfile, Buffer, Count, offset, MyFlags); } @@ -424,7 +424,7 @@ static bool unlink_deleted_block(MI_INFO *info, MI_BLOCK_INFO *block_info) & BLOCK_DELETED)) DBUG_RETURN(1); /* Something is wrong */ mi_sizestore(tmp.header+4,block_info->next_filepos); - if (info->s->file_write(info,(char*) tmp.header+4,8, + if (info->s->file_write(info, tmp.header+4,8, block_info->prev_filepos+4, MYF(MY_NABP))) DBUG_RETURN(1); /* Unlink block from next block */ @@ -434,7 +434,7 @@ static bool unlink_deleted_block(MI_INFO *info, MI_BLOCK_INFO *block_info) & BLOCK_DELETED)) DBUG_RETURN(1); /* Something is wrong */ mi_sizestore(tmp.header+12,block_info->prev_filepos); - if (info->s->file_write(info,(char*) tmp.header+12,8, + if (info->s->file_write(info, tmp.header+12,8, block_info->next_filepos+12, MYF(MY_NABP))) DBUG_RETURN(1); @@ -483,7 +483,7 @@ static int update_backward_delete_link(MI_INFO *info, my_off_t delete_block, if (_mi_get_block_info(&block_info,info->dfile,delete_block) & BLOCK_DELETED) { - char buff[8]; + uchar buff[8]; mi_sizestore(buff,filepos); if (info->s->file_write(info,buff, 8, delete_block+12, MYF(MY_NABP))) DBUG_RETURN(1); /* Error on write */ @@ -1564,7 +1564,7 @@ static int _mi_cmp_buffer(File file, const uchar *buff, my_off_t filepos, uint length) { uint next_length; - char temp_buff[IO_SIZE*2]; + uchar temp_buff[IO_SIZE*2]; DBUG_ENTER("_mi_cmp_buffer"); next_length= IO_SIZE*2 - (uint) (filepos & (IO_SIZE-1)); @@ -1572,7 +1572,7 @@ static int _mi_cmp_buffer(File file, const uchar *buff, my_off_t filepos, while (length > IO_SIZE*2) { if (my_pread(file,temp_buff,next_length,filepos, MYF(MY_NABP)) || - memcmp((uchar*) buff,temp_buff,next_length)) + memcmp(buff, temp_buff, next_length)) goto err; filepos+=next_length; buff+=next_length; @@ -1581,7 +1581,7 @@ static int _mi_cmp_buffer(File file, const uchar *buff, my_off_t filepos, } if (my_pread(file,temp_buff,length,filepos,MYF(MY_NABP))) goto err; - DBUG_RETURN(memcmp((uchar*) buff,temp_buff,length)); + DBUG_RETURN(memcmp(buff,temp_buff,length)); err: DBUG_RETURN(1); } @@ -1815,11 +1815,11 @@ uint _mi_get_block_info(MI_BLOCK_INFO *info, File file, my_off_t filepos) my_pread() may leave the file pointer untouched. */ VOID(my_seek(file,filepos,MY_SEEK_SET,MYF(0))); - if (my_read(file,(char*) header,sizeof(info->header),MYF(0)) != + if (my_read(file, header, sizeof(info->header),MYF(0)) != sizeof(info->header)) goto err; } - DBUG_DUMP("header",(uchar*) header,MI_BLOCK_INFO_HEADER_LENGTH); + DBUG_DUMP("header",header,MI_BLOCK_INFO_HEADER_LENGTH); if (info->second_read) { if (info->header[0] <= 6 || info->header[0] == 13) diff --git a/storage/myisam/mi_extra.c b/storage/myisam/mi_extra.c index 30802a50513..1b4c79d13de 100644 --- a/storage/myisam/mi_extra.c +++ b/storage/myisam/mi_extra.c @@ -78,7 +78,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function, void *extra_arg) if (_mi_memmap_file(info)) { /* We don't nead MADV_SEQUENTIAL if small file */ - madvise(share->file_map,share->state.state.data_file_length, + madvise((char*) share->file_map, share->state.state.data_file_length, share->state.state.data_file_length <= RECORD_CACHE_SIZE*16 ? MADV_RANDOM : MADV_SEQUENTIAL); pthread_mutex_unlock(&share->intern_lock); @@ -158,7 +158,8 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function, void *extra_arg) } #if defined(HAVE_MMAP) && defined(HAVE_MADVISE) if (info->opt_flag & MEMMAP_USED) - madvise(share->file_map,share->state.state.data_file_length,MADV_RANDOM); + madvise((char*) share->file_map, share->state.state.data_file_length, + MADV_RANDOM); #endif break; case HA_EXTRA_FLUSH_CACHE: @@ -435,7 +436,8 @@ int mi_reset(MI_INFO *info) mi_alloc_rec_buff(info, -1, &info->rec_buff); #if defined(HAVE_MMAP) && defined(HAVE_MADVISE) if (info->opt_flag & MEMMAP_USED) - madvise(share->file_map,share->state.state.data_file_length,MADV_RANDOM); + madvise((char*) share->file_map, share->state.state.data_file_length, + MADV_RANDOM); #endif info->opt_flag&= ~(KEY_READ_USED | REMEMBER_OLD_POS); info->quick_mode=0; diff --git a/storage/myisam/mi_key.c b/storage/myisam/mi_key.c index 5b3662c4f28..3f445ebf44d 100644 --- a/storage/myisam/mi_key.c +++ b/storage/myisam/mi_key.c @@ -108,7 +108,7 @@ uint _mi_make_key(register MI_INFO *info, uint keynr, uchar *key, { if (type != HA_KEYTYPE_NUM) { - length= cs->cset->lengthsp(cs, pos, length); + length= cs->cset->lengthsp(cs, (char*) pos, length); } else { @@ -380,7 +380,8 @@ static int _mi_put_key_in_record(register MI_INFO *info, uint keynr, { memcpy(pos,key,(size_t) length); keyseg->charset->cset->fill(keyseg->charset, - pos + length, keyseg->length - length, + (char*) pos + length, + keyseg->length - length, ' '); } else diff --git a/storage/myisam/mi_keycache.c b/storage/myisam/mi_keycache.c index 6694893e9c3..5cf3fede1ae 100644 --- a/storage/myisam/mi_keycache.c +++ b/storage/myisam/mi_keycache.c @@ -104,7 +104,8 @@ int mi_assign_to_key_cache(MI_INFO *info, share->key_cache= key_cache; /* store the key cache in the global hash structure for future opens */ - if (multi_key_cache_set(share->unique_file_name, share->unique_name_length, + if (multi_key_cache_set((uchar*) share->unique_file_name, + share->unique_name_length, share->key_cache)) error= my_errno; pthread_mutex_unlock(&share->intern_lock); diff --git a/storage/myisam/mi_locking.c b/storage/myisam/mi_locking.c index 6aa62b70ae3..ec359d13a14 100644 --- a/storage/myisam/mi_locking.c +++ b/storage/myisam/mi_locking.c @@ -520,7 +520,7 @@ int _mi_test_if_changed(register MI_INFO *info) int _mi_mark_file_changed(MI_INFO *info) { - char buff[3]; + uchar buff[3]; register MYISAM_SHARE *share=info->s; DBUG_ENTER("_mi_mark_file_changed"); @@ -553,7 +553,7 @@ int _mi_mark_file_changed(MI_INFO *info) int _mi_decrement_open_count(MI_INFO *info) { - char buff[2]; + uchar buff[2]; register MYISAM_SHARE *share=info->s; int lock_error=0,write_error=0; if (share->global_changed) diff --git a/storage/myisam/mi_log.c b/storage/myisam/mi_log.c index 91d3bb6f702..8b9ca038fec 100644 --- a/storage/myisam/mi_log.c +++ b/storage/myisam/mi_log.c @@ -76,7 +76,7 @@ int mi_log(int activate_log) void _myisam_log(enum myisam_log_commands command, MI_INFO *info, const uchar *buffert, uint length) { - char buff[11]; + uchar buff[11]; int error,old_errno; ulong pid=(ulong) GETPID(); old_errno=my_errno; @@ -100,7 +100,7 @@ void _myisam_log(enum myisam_log_commands command, MI_INFO *info, void _myisam_log_command(enum myisam_log_commands command, MI_INFO *info, const uchar *buffert, uint length, int result) { - char buff[9]; + uchar buff[9]; int error,old_errno; ulong pid=(ulong) GETPID(); @@ -124,7 +124,7 @@ void _myisam_log_command(enum myisam_log_commands command, MI_INFO *info, void _myisam_log_record(enum myisam_log_commands command, MI_INFO *info, const uchar *record, my_off_t filepos, int result) { - char buff[21],*pos; + uchar buff[21],*pos; int error,old_errno; uint length; ulong pid=(ulong) GETPID(); @@ -134,7 +134,7 @@ void _myisam_log_record(enum myisam_log_commands command, MI_INFO *info, length=info->s->base.reclength; else length=info->s->base.reclength+ _my_calc_total_blob_length(info,record); - buff[0]=(char) command; + buff[0]=(uchar) command; mi_int2store(buff+1,info->dfile); mi_int4store(buff+3,pid); mi_int2store(buff+7,result); @@ -142,8 +142,8 @@ void _myisam_log_record(enum myisam_log_commands command, MI_INFO *info, mi_int4store(buff+17,length); pthread_mutex_lock(&THR_LOCK_myisam); error=my_lock(myisam_log_file,F_WRLCK,0L,F_TO_EOF,MYF(MY_SEEK_NOT_DONE)); - VOID(my_write(myisam_log_file,buff,sizeof(buff),MYF(0))); - VOID(my_write(myisam_log_file,(uchar*) record,info->s->base.reclength,MYF(0))); + VOID(my_write(myisam_log_file, buff,sizeof(buff),MYF(0))); + VOID(my_write(myisam_log_file, record,info->s->base.reclength,MYF(0))); if (info->s->base.blobs) { MI_BLOB *blob,*end; @@ -152,7 +152,8 @@ void _myisam_log_record(enum myisam_log_commands command, MI_INFO *info, blob != end ; blob++) { - memcpy_fixed(&pos,record+blob->offset+blob->pack_length,sizeof(char*)); + memcpy_fixed((uchar*) &pos, record+blob->offset+blob->pack_length, + sizeof(char*)); VOID(my_write(myisam_log_file,pos,blob->length,MYF(0))); } } diff --git a/storage/myisam/mi_open.c b/storage/myisam/mi_open.c index 405dca641d1..b848c822f75 100644 --- a/storage/myisam/mi_open.c +++ b/storage/myisam/mi_open.c @@ -79,7 +79,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) key_parts,unique_key_parts,fulltext_keys,uniques; char name_buff[FN_REFLEN], org_name[FN_REFLEN], index_name[FN_REFLEN], data_name[FN_REFLEN]; - char *disk_cache, *disk_pos, *end_pos; + uchar *disk_cache, *disk_pos, *end_pos; MI_INFO info,*m_info,*old_info; MYISAM_SHARE share_buff,*share; ulong rec_per_key_part[MI_MAX_POSSIBLE_KEY*MI_MAX_KEY_SEG]; @@ -104,7 +104,8 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) share_buff.state.rec_per_key_part=rec_per_key_part; share_buff.state.key_root=key_root; share_buff.state.key_del=key_del; - share_buff.key_cache= multi_key_cache_search(name_buff, strlen(name_buff)); + share_buff.key_cache= multi_key_cache_search((uchar*) name_buff, + strlen(name_buff)); DBUG_EXECUTE_IF("myisam_pretend_crashed_table_on_open", if (strstr(name, "/t1")) @@ -121,7 +122,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) } share->mode=open_mode; errpos=1; - if (my_read(kfile,(char*) share->state.header.file_version,head_length, + if (my_read(kfile, share->state.header.file_version, head_length, MYF(MY_NABP))) { my_errno= HA_ERR_NOT_A_TABLE; @@ -165,7 +166,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) info_length=mi_uint2korr(share->state.header.header_length); base_pos=mi_uint2korr(share->state.header.base_pos); - if (!(disk_cache=(char*) my_alloca(info_length+128))) + if (!(disk_cache= (uchar*) my_alloca(info_length+128))) { my_errno=ENOMEM; goto err; @@ -202,15 +203,14 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) } share->state_diff_length=len-MI_STATE_INFO_SIZE; - mi_state_info_read((uchar*) disk_cache, &share->state); + mi_state_info_read(disk_cache, &share->state); len= mi_uint2korr(share->state.header.base_info_length); if (len != MI_BASE_INFO_SIZE) { DBUG_PRINT("warning",("saved_base_info_length: %d base_info_length: %d", len,MI_BASE_INFO_SIZE)); } - disk_pos= (char*) - my_n_base_info_read((uchar*) disk_cache + base_pos, &share->base); + disk_pos= my_n_base_info_read(disk_cache + base_pos, &share->base); share->state.state_length=base_pos; if (!(open_flags & HA_OPEN_FOR_REPAIR) && @@ -504,7 +504,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) } else if (share->options & HA_OPTION_PACK_RECORD) share->data_file_type = DYNAMIC_RECORD; - my_afree((uchar*) disk_cache); + my_afree(disk_cache); mi_setup_functions(share); share->is_log_table= FALSE; #ifdef THREAD @@ -642,7 +642,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) if (myisam_log_file >= 0) { intern_filename(name_buff,share->index_file_name); - _myisam_log(MI_LOG_OPEN, m_info,name_buff, strlen(name_buff)); + _myisam_log(MI_LOG_OPEN, m_info, (uchar*) name_buff, strlen(name_buff)); } DBUG_RETURN(m_info); @@ -669,7 +669,7 @@ err: VOID(my_lock(kfile, F_UNLCK, 0L, F_TO_EOF, MYF(MY_SEEK_NOT_DONE))); /* fall through */ case 2: - my_afree((uchar*) disk_cache); + my_afree(disk_cache); /* fall through */ case 1: VOID(my_close(kfile,MYF(0))); @@ -961,7 +961,7 @@ uchar *mi_state_info_read(uchar *ptr, MI_STATE_INFO *state) uint mi_state_info_read_dsk(File file, MI_STATE_INFO *state, my_bool pRead) { - char buff[MI_STATE_INFO_SIZE + MI_STATE_EXTRA_SIZE]; + uchar buff[MI_STATE_INFO_SIZE + MI_STATE_EXTRA_SIZE]; if (!myisam_single_user) { @@ -972,7 +972,7 @@ uint mi_state_info_read_dsk(File file, MI_STATE_INFO *state, my_bool pRead) } else if (my_read(file, buff, state->state_length,MYF(MY_NABP))) return 1; - mi_state_info_read((uchar*) buff, state); + mi_state_info_read(buff, state); } return 0; } @@ -1076,7 +1076,7 @@ uint mi_keydef_write(File file, MI_KEYDEF *keydef) return my_write(file, buff, (size_t) (ptr-buff), MYF(MY_NABP)) != 0; } -char *mi_keydef_read(char *ptr, MI_KEYDEF *keydef) +uchar *mi_keydef_read(uchar *ptr, MI_KEYDEF *keydef) { keydef->keysegs = (uint) *ptr++; keydef->key_alg = *ptr++; /* Rtree or Btree */ @@ -1121,7 +1121,7 @@ int mi_keyseg_write(File file, const HA_KEYSEG *keyseg) } -char *mi_keyseg_read(char *ptr, HA_KEYSEG *keyseg) +uchar *mi_keyseg_read(uchar *ptr, HA_KEYSEG *keyseg) { keyseg->type = *ptr++; keyseg->language = *ptr++; @@ -1160,7 +1160,7 @@ uint mi_uniquedef_write(File file, MI_UNIQUEDEF *def) return my_write(file, buff, (size_t) (ptr-buff), MYF(MY_NABP)) != 0; } -char *mi_uniquedef_read(char *ptr, MI_UNIQUEDEF *def) +uchar *mi_uniquedef_read(uchar *ptr, MI_UNIQUEDEF *def) { def->keysegs = mi_uint2korr(ptr); def->key = ptr[2]; @@ -1184,7 +1184,7 @@ uint mi_recinfo_write(File file, MI_COLUMNDEF *recinfo) return my_write(file, buff, (size_t) (ptr-buff), MYF(MY_NABP)) != 0; } -char *mi_recinfo_read(char *ptr, MI_COLUMNDEF *recinfo) +uchar *mi_recinfo_read(uchar *ptr, MI_COLUMNDEF *recinfo) { recinfo->type= mi_sint2korr(ptr); ptr +=2; recinfo->length=mi_uint2korr(ptr); ptr +=2; diff --git a/storage/myisam/mi_packrec.c b/storage/myisam/mi_packrec.c index 1231ef026f7..305b7e5532c 100644 --- a/storage/myisam/mi_packrec.c +++ b/storage/myisam/mi_packrec.c @@ -136,7 +136,7 @@ my_bool _mi_read_pack_info(MI_INFO *info, pbool fix_keys) uint i,trees,huff_tree_bits,rec_reflength,length; uint16 *decode_table,*tmp_buff; ulong elements,intervall_length; - char *disk_cache; + uchar *disk_cache; uchar *intervall_buff; uchar header[HEAD_LENGTH]; MYISAM_SHARE *share=info->s; @@ -216,7 +216,7 @@ my_bool _mi_read_pack_info(MI_INFO *info, pbool fix_keys) MYF(MY_WME | MY_ZEROFILL)))) goto err1; tmp_buff=share->decode_tables+length; - disk_cache=(uchar*) (tmp_buff+OFFSET_TABLE_SIZE); + disk_cache= (uchar*) (tmp_buff+OFFSET_TABLE_SIZE); if (my_read(file,disk_cache, (uint) (share->pack.header_length-sizeof(header)), @@ -224,7 +224,7 @@ my_bool _mi_read_pack_info(MI_INFO *info, pbool fix_keys) goto err2; huff_tree_bits=max_bit(trees ? trees-1 : 0); - init_bit_buffer(&bit_buff, (uchar*) disk_cache, + init_bit_buffer(&bit_buff, disk_cache, (uint) (share->pack.header_length-sizeof(header))); /* Read new info for each field */ for (i=0 ; i < share->base.fields ; i++) @@ -1368,7 +1368,7 @@ uint _mi_pack_get_block_info(MI_INFO *myisam, MI_BIT_BUFF *bit_buff, position is ok */ VOID(my_seek(file,filepos,MY_SEEK_SET,MYF(0))); - if (my_read(file,(char*) header,ref_length,MYF(MY_NABP))) + if (my_read(file, header,ref_length,MYF(MY_NABP))) return BLOCK_FATAL_ERROR; DBUG_DUMP("header",(uchar*) header,ref_length); } @@ -1507,7 +1507,7 @@ my_bool _mi_memmap_file(MI_INFO *info) void _mi_unmap_file(MI_INFO *info) { - VOID(my_munmap(info->s->file_map, + VOID(my_munmap((char*) info->s->file_map, (size_t) info->s->mmaped_length + MEMMAP_EXTRA_MARGIN)); } diff --git a/storage/myisam/mi_page.c b/storage/myisam/mi_page.c index ede379feea6..23a2526f756 100644 --- a/storage/myisam/mi_page.c +++ b/storage/myisam/mi_page.c @@ -107,7 +107,7 @@ int _mi_dispose(register MI_INFO *info, MI_KEYDEF *keyinfo, my_off_t pos, int level) { my_off_t old_link; - char buff[8]; + uchar buff[8]; DBUG_ENTER("_mi_dispose"); DBUG_PRINT("enter",("pos: %ld", (long) pos)); @@ -128,7 +128,7 @@ int _mi_dispose(register MI_INFO *info, MI_KEYDEF *keyinfo, my_off_t pos, my_off_t _mi_new(register MI_INFO *info, MI_KEYDEF *keyinfo, int level) { my_off_t pos; - char buff[8]; + uchar buff[8]; DBUG_ENTER("_mi_new"); if ((pos= info->s->state.key_del[keyinfo->block_size_index]) == diff --git a/storage/myisam/mi_rkey.c b/storage/myisam/mi_rkey.c index 3dcaa27d3ca..c9bf04d665a 100644 --- a/storage/myisam/mi_rkey.c +++ b/storage/myisam/mi_rkey.c @@ -45,6 +45,7 @@ int mi_rkey(MI_INFO *info, uchar *buf, int inx, const uchar *key, info->once_flags&= ~USE_PACKED_KEYS; /* Reset flag */ /* key is already packed!; This happens when we are using a MERGE TABLE + In this key 'key_part_map' is the length of the key ! */ key_buff=info->lastkey+info->s->base.max_key_length; pack_key_length= keypart_map; diff --git a/storage/myisam/mi_search.c b/storage/myisam/mi_search.c index acc8c073297..2195ac178dd 100644 --- a/storage/myisam/mi_search.c +++ b/storage/myisam/mi_search.c @@ -836,7 +836,7 @@ uint _mi_get_pack_key(register MI_KEYDEF *keyinfo, uint nod_flag, if (tot_length >= 255 && *start != 255) { /* length prefix changed from a length of one to a length of 3 */ - bmove_upp((char*) key+length+3,(char*) key+length+1,length); + bmove_upp(key+length+3, key+length+1, length); *key=255; mi_int2store(key+1,tot_length); key+=3+length; diff --git a/storage/myisam/mi_statrec.c b/storage/myisam/mi_statrec.c index 93e91fb9e32..e3771560c01 100644 --- a/storage/myisam/mi_statrec.c +++ b/storage/myisam/mi_statrec.c @@ -26,14 +26,14 @@ int _mi_write_static_record(MI_INFO *info, const uchar *record) { my_off_t filepos=info->s->state.dellink; info->rec_cache.seek_not_done=1; /* We have done a seek */ - if (info->s->file_read(info,(char*) &temp[0],info->s->base.rec_reflength, + if (info->s->file_read(info, &temp[0],info->s->base.rec_reflength, info->s->state.dellink+1, MYF(MY_NABP))) goto err; info->s->state.dellink= _mi_rec_pos(info->s,temp); info->state->del--; info->state->empty-=info->s->base.pack_reclength; - if (info->s->file_write(info, (char*) record, info->s->base.reclength, + if (info->s->file_write(info, record, info->s->base.reclength, filepos, MYF(MY_NABP))) goto err; @@ -48,29 +48,29 @@ int _mi_write_static_record(MI_INFO *info, const uchar *record) } if (info->opt_flag & WRITE_CACHE_USED) { /* Cash in use */ - if (my_b_write(&info->rec_cache, (uchar*) record, + if (my_b_write(&info->rec_cache, record, info->s->base.reclength)) goto err; if (info->s->base.pack_reclength != info->s->base.reclength) { uint length=info->s->base.pack_reclength - info->s->base.reclength; - bzero((char*) temp,length); - if (my_b_write(&info->rec_cache, (uchar*) temp,length)) + bzero(temp,length); + if (my_b_write(&info->rec_cache, temp,length)) goto err; } } else { info->rec_cache.seek_not_done=1; /* We have done a seek */ - if (info->s->file_write(info,(char*) record,info->s->base.reclength, + if (info->s->file_write(info, record, info->s->base.reclength, info->state->data_file_length, info->s->write_flag)) goto err; if (info->s->base.pack_reclength != info->s->base.reclength) { uint length=info->s->base.pack_reclength - info->s->base.reclength; - bzero((char*) temp,length); - if (info->s->file_write(info, (uchar*) temp,length, + bzero(temp,length); + if (info->s->file_write(info, temp,length, info->state->data_file_length+ info->s->base.reclength, info->s->write_flag)) @@ -89,9 +89,9 @@ int _mi_update_static_record(MI_INFO *info, my_off_t pos, const uchar *record) { info->rec_cache.seek_not_done=1; /* We have done a seek */ return (info->s->file_write(info, - (char*) record,info->s->base.reclength, - pos, - MYF(MY_NABP)) != 0); + record, info->s->base.reclength, + pos, + MYF(MY_NABP)) != 0); } @@ -129,11 +129,11 @@ int _mi_cmp_static_record(register MI_INFO *info, register const uchar *old) if ((info->opt_flag & READ_CHECK_USED)) { /* If check isn't disabled */ info->rec_cache.seek_not_done=1; /* We have done a seek */ - if (info->s->file_read(info, (char*) info->rec_buff, info->s->base.reclength, + if (info->s->file_read(info, info->rec_buff, info->s->base.reclength, info->lastpos, MYF(MY_NABP))) DBUG_RETURN(-1); - if (memcmp((uchar*) info->rec_buff, (uchar*) old, + if (memcmp(info->rec_buff, old, (uint) info->s->base.reclength)) { DBUG_DUMP("read",old,info->s->base.reclength); @@ -152,7 +152,7 @@ int _mi_cmp_static_unique(MI_INFO *info, MI_UNIQUEDEF *def, DBUG_ENTER("_mi_cmp_static_unique"); info->rec_cache.seek_not_done=1; /* We have done a seek */ - if (info->s->file_read(info, (char*) info->rec_buff, info->s->base.reclength, + if (info->s->file_read(info, info->rec_buff, info->s->base.reclength, pos, MYF(MY_NABP))) DBUG_RETURN(-1); DBUG_RETURN(mi_unique_comp(def, record, info->rec_buff, @@ -178,7 +178,7 @@ int _mi_read_static_record(register MI_INFO *info, register my_off_t pos, return(-1); info->rec_cache.seek_not_done=1; /* We have done a seek */ - error=info->s->file_read(info,(char*) record,info->s->base.reclength, + error=info->s->file_read(info, record, info->s->base.reclength, pos,MYF(MY_NABP)) != 0; fast_mi_writeinfo(info); if (! error) diff --git a/storage/myisam/mi_test1.c b/storage/myisam/mi_test1.c index 08627ba7e92..a68bcbed56c 100644 --- a/storage/myisam/mi_test1.c +++ b/storage/myisam/mi_test1.c @@ -40,9 +40,9 @@ static HA_KEYSEG uniqueseg[10]; static int run_test(const char *filename); static void get_options(int argc, char *argv[]); -static void create_key(char *key,uint rownr); -static void create_record(char *record,uint rownr); -static void update_record(char *record); +static void create_key(uchar *key,uint rownr); +static void create_record(uchar *record,uint rownr); +static void update_record(uchar *record); int main(int argc,char *argv[]) { @@ -62,7 +62,7 @@ static int run_test(const char *filename) int i,j,error,deleted,rec_length,uniques=0; ha_rows found,row_count; my_off_t pos; - char record[MAX_REC_LENGTH],key[MAX_REC_LENGTH],read_record[MAX_REC_LENGTH]; + uchar record[MAX_REC_LENGTH],key[MAX_REC_LENGTH],read_record[MAX_REC_LENGTH]; MI_UNIQUEDEF uniquedef; MI_CREATE_INFO create_info; @@ -327,20 +327,20 @@ err: } -static void create_key_part(char *key,uint rownr) +static void create_key_part(uchar *key,uint rownr) { if (!unique_key) rownr&=7; /* Some identical keys */ if (keyinfo[0].seg[0].type == HA_KEYTYPE_NUM) { - sprintf(key,"%*d",keyinfo[0].seg[0].length,rownr); + sprintf((char*) key,"%*d",keyinfo[0].seg[0].length,rownr); } else if (keyinfo[0].seg[0].type == HA_KEYTYPE_VARTEXT1 || keyinfo[0].seg[0].type == HA_KEYTYPE_VARTEXT2) { /* Alpha record */ /* Create a key that may be easily packed */ bfill(key,keyinfo[0].seg[0].length,rownr < 10 ? 'A' : 'B'); - sprintf(key+keyinfo[0].seg[0].length-2,"%-2d",rownr); + sprintf((char*) key+keyinfo[0].seg[0].length-2,"%-2d",rownr); if ((rownr & 7) == 0) { /* Change the key to force a unpack of the next key */ @@ -350,12 +350,12 @@ static void create_key_part(char *key,uint rownr) else { /* Alpha record */ if (keyinfo[0].seg[0].flag & HA_SPACE_PACK) - sprintf(key,"%-*d",keyinfo[0].seg[0].length,rownr); + sprintf((char*) key,"%-*d",keyinfo[0].seg[0].length,rownr); else { /* Create a key that may be easily packed */ bfill(key,keyinfo[0].seg[0].length,rownr < 10 ? 'A' : 'B'); - sprintf(key+keyinfo[0].seg[0].length-2,"%-2d",rownr); + sprintf((char*) key+keyinfo[0].seg[0].length-2,"%-2d",rownr); if ((rownr & 7) == 0) { /* Change the key to force a unpack of the next key */ @@ -366,7 +366,7 @@ static void create_key_part(char *key,uint rownr) } -static void create_key(char *key,uint rownr) +static void create_key(uchar *key,uint rownr) { if (keyinfo[0].seg[0].null_bit) { @@ -382,7 +382,7 @@ static void create_key(char *key,uint rownr) { uint tmp; create_key_part(key+2,rownr); - tmp=strlen(key+2); + tmp=strlen((char*) key+2); int2store(key,tmp); } else @@ -390,13 +390,13 @@ static void create_key(char *key,uint rownr) } -static char blob_key[MAX_REC_LENGTH]; -static char blob_record[MAX_REC_LENGTH+20*20]; +static uchar blob_key[MAX_REC_LENGTH]; +static uchar blob_record[MAX_REC_LENGTH+20*20]; -static void create_record(char *record,uint rownr) +static void create_record(uchar *record,uint rownr) { - char *pos; + uchar *pos; bzero((char*) record,MAX_REC_LENGTH); record[0]=1; /* delete marker */ if (rownr == 0 && keyinfo[0].seg[0].null_bit) @@ -406,9 +406,9 @@ static void create_record(char *record,uint rownr) if (recinfo[1].type == FIELD_BLOB) { uint tmp; - char *ptr; + uchar *ptr; create_key_part(blob_key,rownr); - tmp=strlen(blob_key); + tmp=strlen((char*) blob_key); int4store(pos,tmp); ptr=blob_key; memcpy_fixed(pos+4,&ptr,sizeof(char*)); @@ -418,7 +418,7 @@ static void create_record(char *record,uint rownr) { uint tmp, pack_length= HA_VARCHAR_PACKLENGTH(recinfo[1].length-1); create_key_part(pos+pack_length,rownr); - tmp= strlen(pos+pack_length); + tmp= strlen((char*) pos+pack_length); if (pack_length == 1) *(uchar*) pos= (uchar) tmp; else @@ -433,10 +433,10 @@ static void create_record(char *record,uint rownr) if (recinfo[2].type == FIELD_BLOB) { uint tmp; - char *ptr;; - sprintf(blob_record,"... row: %d", rownr); - strappend(blob_record,max(MAX_REC_LENGTH-rownr,10),' '); - tmp=strlen(blob_record); + uchar *ptr;; + sprintf((char*) blob_record,"... row: %d", rownr); + strappend((char*) blob_record,max(MAX_REC_LENGTH-rownr,10),' '); + tmp=strlen((char*) blob_record); int4store(pos,tmp); ptr=blob_record; memcpy_fixed(pos+4,&ptr,sizeof(char*)); @@ -444,28 +444,28 @@ static void create_record(char *record,uint rownr) else if (recinfo[2].type == FIELD_VARCHAR) { uint tmp, pack_length= HA_VARCHAR_PACKLENGTH(recinfo[1].length-1); - sprintf(pos+pack_length, "... row: %d", rownr); - tmp= strlen(pos+pack_length); + sprintf((char*) pos+pack_length, "... row: %d", rownr); + tmp= strlen((char*) pos+pack_length); if (pack_length == 1) - *(uchar*) pos= (uchar) tmp; + *pos= (uchar) tmp; else int2store(pos,tmp); } else { - sprintf(pos,"... row: %d", rownr); - strappend(pos,recinfo[2].length,' '); + sprintf((char*) pos,"... row: %d", rownr); + strappend((char*) pos,recinfo[2].length,' '); } } /* change row to test re-packing of rows and reallocation of keys */ -static void update_record(char *record) +static void update_record(uchar *record) { - char *pos=record+1; + uchar *pos=record+1; if (recinfo[1].type == FIELD_BLOB) { - char *column,*ptr; + uchar *column,*ptr; int length; length=uint4korr(pos); /* Long blob */ memcpy_fixed(&column,pos+4,sizeof(char*)); @@ -474,7 +474,8 @@ static void update_record(char *record) memcpy_fixed(pos+4,&ptr,sizeof(char*)); /* Store pointer to new key */ if (keyinfo[0].seg[0].type != HA_KEYTYPE_NUM) default_charset_info->cset->casedn(default_charset_info, - blob_key, length, blob_key, length); + (char*) blob_key, length, + (char*) blob_key, length); pos+=recinfo[1].length; } else if (recinfo[1].type == FIELD_VARCHAR) @@ -482,22 +483,22 @@ static void update_record(char *record) uint pack_length= HA_VARCHAR_PACKLENGTH(recinfo[1].length-1); uint length= pack_length == 1 ? (uint) *(uchar*) pos : uint2korr(pos); default_charset_info->cset->casedn(default_charset_info, - pos + pack_length, length, - pos + pack_length, length); + (char*) pos + pack_length, length, + (char*) pos + pack_length, length); pos+=recinfo[1].length; } else { if (keyinfo[0].seg[0].type != HA_KEYTYPE_NUM) default_charset_info->cset->casedn(default_charset_info, - pos, keyinfo[0].seg[0].length, - pos, keyinfo[0].seg[0].length); + (char*) pos, keyinfo[0].seg[0].length, + (char*) pos, keyinfo[0].seg[0].length); pos+=recinfo[1].length; } if (recinfo[2].type == FIELD_BLOB) { - char *column; + uchar *column; int length; length=uint4korr(pos); memcpy_fixed(&column,pos+4,sizeof(char*)); @@ -505,7 +506,7 @@ static void update_record(char *record) bfill(blob_record+length,20,'.'); /* Make it larger */ length+=20; int4store(pos,length); - column=blob_record; + column= blob_record; memcpy_fixed(pos+4,&column,sizeof(char*)); } else if (recinfo[2].type == FIELD_VARCHAR) diff --git a/storage/myisam/mi_test2.c b/storage/myisam/mi_test2.c index 99d0c23d2a4..902801b5e6e 100644 --- a/storage/myisam/mi_test2.c +++ b/storage/myisam/mi_test2.c @@ -37,7 +37,7 @@ static void get_options(int argc, char *argv[]); static uint rnd(uint max_value); static void fix_length(uchar *record,uint length); -static void put_blob_in_record(char *blob_pos,char **blob_buffer); +static void put_blob_in_record(uchar *blob_pos,char **blob_buffer); static void copy_key(struct st_myisam_info *info,uint inx, uchar *record,uchar *key); @@ -53,8 +53,8 @@ static uint key_cache_block_size= KEY_CACHE_BLOCK_SIZE; static uint keys=MYISAM_KEYS,recant=1000; static uint use_blob=0; static uint16 key1[1001],key3[5000]; -static char record[300],record2[300],key[100],key2[100], - read_record[300],read_record2[300],read_record3[300]; +static uchar record[300],record2[300],key[100],key2[100]; +static uchar read_record[300],read_record2[300],read_record3[300]; static HA_KEYSEG glob_keyseg[MYISAM_KEYS][MAX_PARTS]; /* Test program */ @@ -231,7 +231,7 @@ int main(int argc, char *argv[]) for (i=0 ; i < recant ; i++) { n1=rnd(1000); n2=rnd(100); n3=rnd(5000); - sprintf(record,"%6d:%4d:%8d:Pos: %4d ",n1,n2,n3,write_count); + sprintf((char*) record,"%6d:%4d:%8d:Pos: %4d ",n1,n2,n3,write_count); int4store(record+STANDARD_LENGTH-4,(long) i); fix_length(record,(uint) STANDARD_LENGTH+rnd(60)); put_blob_in_record(record+blob_pos,&blob_buffer); @@ -262,7 +262,7 @@ int main(int argc, char *argv[]) for (j=rnd(1000)+1 ; j>0 && key1[j] == 0 ; j--) ; if (!j) for (j=999 ; j>0 && key1[j] == 0 ; j--) ; - sprintf(key,"%6d",j); + sprintf((char*) key,"%6d",j); if (mi_rkey(file,read_record,0,key,HA_WHOLE_KEY,HA_READ_KEY_EXACT)) { printf("Test in loop: Can't find key: \"%s\"\n",key); @@ -290,7 +290,7 @@ int main(int argc, char *argv[]) for (j=rnd(1000)+1 ; j>0 && key1[j] == 0 ; j--) ; if (j != 0) { - sprintf(key,"%6d",j); + sprintf((char*) key,"%6d",j); if (mi_rkey(file,read_record,0,key,HA_WHOLE_KEY,HA_READ_KEY_EXACT)) { printf("can't find key1: \"%s\"\n",key); @@ -304,8 +304,8 @@ int main(int argc, char *argv[]) goto err; } opt_delete++; - key1[atoi(read_record+keyinfo[0].seg[0].start)]--; - key3[atoi(read_record+keyinfo[2].seg[0].start)]=0; + key1[atoi((char*) read_record+keyinfo[0].seg[0].start)]--; + key3[atoi((char*) read_record+keyinfo[2].seg[0].start)]=0; } else puts("Warning: Skipping delete test because no dupplicate keys"); @@ -317,17 +317,17 @@ int main(int argc, char *argv[]) for (i=0 ; i<recant/10 ; i++) { n1=rnd(1000); n2=rnd(100); n3=rnd(5000); - sprintf(record2,"%6d:%4d:%8d:XXX: %4d ",n1,n2,n3,update); + sprintf((char*) record2,"%6d:%4d:%8d:XXX: %4d ",n1,n2,n3,update); int4store(record2+STANDARD_LENGTH-4,(long) i); fix_length(record2,(uint) STANDARD_LENGTH+rnd(60)); for (j=rnd(1000)+1 ; j>0 && key1[j] == 0 ; j--) ; if (j != 0) { - sprintf(key,"%6d",j); + sprintf((char*) key,"%6d",j); if (mi_rkey(file,read_record,0,key,HA_WHOLE_KEY,HA_READ_KEY_EXACT)) { - printf("can't find key1: \"%s\"\n",key); + printf("can't find key1: \"%s\"\n",(char*) key); goto err; } if (use_blob) @@ -350,8 +350,8 @@ int main(int argc, char *argv[]) } else { - key1[atoi(read_record+keyinfo[0].seg[0].start)]--; - key3[atoi(read_record+keyinfo[2].seg[0].start)]=0; + key1[atoi((char*) read_record+keyinfo[0].seg[0].start)]--; + key3[atoi((char*) read_record+keyinfo[2].seg[0].start)]=0; key1[n1]++; key3[n3]=1; update++; } @@ -367,7 +367,7 @@ int main(int argc, char *argv[]) dupp_keys=key1[i]; j=i; } } - sprintf(key,"%6d",j); + sprintf((char*) key,"%6d",j); start=keyinfo[0].seg[0].start; length=keyinfo[0].seg[0].length; if (dupp_keys) @@ -652,8 +652,8 @@ int main(int argc, char *argv[]) key_range min_key, max_key; if (j > k) swap_variables(int, j, k); - sprintf(key,"%6d",j); - sprintf(key2,"%6d",k); + sprintf((char*) key,"%6d",j); + sprintf((char*) key2,"%6d",k); min_key.key= key; min_key.length= USE_WHOLE_KEY; @@ -1009,13 +1009,13 @@ static void fix_length(uchar *rec, uint length) bmove(rec+STANDARD_LENGTH, "0123456789012345678901234567890123456789012345678901234567890", length-STANDARD_LENGTH); - strfill(rec+length,STANDARD_LENGTH+60-length,' '); + strfill((char*) rec+length,STANDARD_LENGTH+60-length,' '); } /* fix_length */ /* Put maybe a blob in record */ -static void put_blob_in_record(char *blob_pos, char **blob_buffer) +static void put_blob_in_record(uchar *blob_pos, char **blob_buffer) { ulong i,length; if (use_blob) diff --git a/storage/myisam/mi_test3.c b/storage/myisam/mi_test3.c index ed9cd8e7b8c..5bdc33b8518 100644 --- a/storage/myisam/mi_test3.c +++ b/storage/myisam/mi_test3.c @@ -48,9 +48,9 @@ int test_read(MI_INFO *,int),test_write(MI_INFO *,int,int), test_update(MI_INFO *,int,int),test_rrnd(MI_INFO *,int); struct record { - char id[8]; - char nr[4]; - char text[10]; + uchar id[8]; + uchar nr[4]; + uchar text[10]; } record; @@ -362,8 +362,8 @@ int test_write(MI_INFO *file,int id,int lock_type) mi_extra(file,HA_EXTRA_WRITE_CACHE,0); } - sprintf(record.id,"%7d",getpid()); - strnmov(record.text,"Testing...", sizeof(record.text)); + sprintf((char*) record.id,"%7d",getpid()); + strnmov((char*) record.text,"Testing...", sizeof(record.text)); tries=(uint) rnd(100)+10; for (i=count=0 ; i < tries ; i++) @@ -419,7 +419,7 @@ int test_update(MI_INFO *file,int id,int lock_type) } } bzero((char*) &new_record,sizeof(new_record)); - strmov(new_record.text,"Updated"); + strmov((char*) new_record.text,"Updated"); found=next=prev=update=0; for (i=0 ; i < 100 ; i++) diff --git a/storage/myisam/mi_update.c b/storage/myisam/mi_update.c index 924cdfcbc21..956334b7806 100644 --- a/storage/myisam/mi_update.c +++ b/storage/myisam/mi_update.c @@ -102,7 +102,7 @@ int mi_update(register MI_INFO *info, const uchar *oldrec, uchar *newrec) key_changed|=HA_STATE_WRITTEN; } changed|=((ulonglong) 1 << i); - if (_mi_ft_update(info,i,(char*) old_key,oldrec,newrec,pos)) + if (_mi_ft_update(info,i, old_key,oldrec,newrec,pos)) goto err; } } @@ -207,8 +207,8 @@ err: { if (share->keyinfo[i].flag & HA_FULLTEXT) { - if ((flag++ && _mi_ft_del(info,i,(char*) new_key,newrec,pos)) || - _mi_ft_add(info,i,(char*) old_key,oldrec,pos)) + if ((flag++ && _mi_ft_del(info,i, new_key,newrec,pos)) || + _mi_ft_add(info,i, old_key,oldrec,pos)) break; } else diff --git a/storage/myisam/mi_write.c b/storage/myisam/mi_write.c index 8ae979f8bf6..719008d3513 100644 --- a/storage/myisam/mi_write.c +++ b/storage/myisam/mi_write.c @@ -112,7 +112,7 @@ int mi_write(MI_INFO *info, uchar *record) } if (share->keyinfo[i].flag & HA_FULLTEXT ) { - if (_mi_ft_add(info,i,(char*) buff,record,filepos)) + if (_mi_ft_add(info,i, buff, record, filepos)) { if (local_lock_tree) rw_unlock(&share->key_root_lock[i]); @@ -200,7 +200,7 @@ err: rw_wrlock(&share->key_root_lock[i]); if (share->keyinfo[i].flag & HA_FULLTEXT) { - if (_mi_ft_del(info,i,(char*) buff,record,filepos)) + if (_mi_ft_del(info,i, buff,record,filepos)) { if (local_lock_tree) rw_unlock(&share->key_root_lock[i]); @@ -562,7 +562,7 @@ int _mi_insert(register MI_INFO *info, register MI_KEYDEF *keyinfo, we cannot easily dispatch an empty page here */ b+=blen+ft2len+2; for (a=anc_buff+a_length ; b < a ; b+=ft2len+2) - insert_dynamic(info->ft1_to_ft2, (char*) b); + insert_dynamic(info->ft1_to_ft2, b); /* fixing the page's length - it contains only one key now */ mi_putint(anc_buff,2+blen+ft2len+2,0); diff --git a/storage/myisam/myisamdef.h b/storage/myisam/myisamdef.h index f68d66d4cbb..721d6b9f271 100644 --- a/storage/myisam/myisamdef.h +++ b/storage/myisam/myisamdef.h @@ -181,8 +181,8 @@ typedef struct st_mi_isam_share { /* Shared between opens */ ha_checksum (*calc_checksum)(struct st_myisam_info*, const uchar *); int (*compare_unique)(struct st_myisam_info*, MI_UNIQUEDEF *, const uchar *record, my_off_t pos); - uint (*file_read)(MI_INFO *, uchar *, uint, my_off_t, myf); - uint (*file_write)(MI_INFO *, uchar *, uint, my_off_t, myf); + size_t (*file_read)(MI_INFO *, uchar *, size_t, my_off_t, myf); + size_t (*file_write)(MI_INFO *, const uchar *, size_t, my_off_t, myf); invalidator_by_filename invalidator; /* query cache invalidator */ ulong this_process; /* processid */ ulong last_process; /* For table-change-check */ @@ -346,7 +346,7 @@ typedef struct st_mi_sort_param NEAR int (*write_keys)(struct st_mi_sort_param *, register uchar **, uint , struct st_buffpek *, IO_CACHE *); NEAR uint (*read_to_buffer)(IO_CACHE *,struct st_buffpek *, uint); - NEAR int (*write_key)(struct st_mi_sort_param *, IO_CACHE *,char *, + NEAR int (*write_key)(struct st_mi_sort_param *, IO_CACHE *,uchar *, uint, uint); } MI_SORT_PARAM; @@ -717,14 +717,14 @@ extern void _mi_unmap_file(MI_INFO *info); extern uint save_pack_length(uint version, uchar *block_buff, ulong length); extern uint read_pack_length(uint version, const uchar *buf, ulong *length); extern uint calc_pack_length(uint version, ulong length); -extern uint mi_mmap_pread(MI_INFO *info, uchar *Buffer, - uint Count, my_off_t offset, myf MyFlags); -extern uint mi_mmap_pwrite(MI_INFO *info, uchar *Buffer, - uint Count, my_off_t offset, myf MyFlags); -extern uint mi_nommap_pread(MI_INFO *info, uchar *Buffer, - uint Count, my_off_t offset, myf MyFlags); -extern uint mi_nommap_pwrite(MI_INFO *info, uchar *Buffer, - uint Count, my_off_t offset, myf MyFlags); +extern size_t mi_mmap_pread(MI_INFO *info, uchar *Buffer, + size_t Count, my_off_t offset, myf MyFlags); +extern size_t mi_mmap_pwrite(MI_INFO *info, const uchar *Buffer, + size_t Count, my_off_t offset, myf MyFlags); +extern size_t mi_nommap_pread(MI_INFO *info, uchar *Buffer, + size_t Count, my_off_t offset, myf MyFlags); +extern size_t mi_nommap_pwrite(MI_INFO *info, const uchar *Buffer, + size_t Count, my_off_t offset, myf MyFlags); uint mi_state_info_write(File file, MI_STATE_INFO *state, uint pWrite); uchar *mi_state_info_read(uchar *ptr, MI_STATE_INFO *state); @@ -732,13 +732,13 @@ uint mi_state_info_read_dsk(File file, MI_STATE_INFO *state, my_bool pRead); uint mi_base_info_write(File file, MI_BASE_INFO *base); uchar *my_n_base_info_read(uchar *ptr, MI_BASE_INFO *base); int mi_keyseg_write(File file, const HA_KEYSEG *keyseg); -char *mi_keyseg_read(char *ptr, HA_KEYSEG *keyseg); +uchar *mi_keyseg_read(uchar *ptr, HA_KEYSEG *keyseg); uint mi_keydef_write(File file, MI_KEYDEF *keydef); -char *mi_keydef_read(char *ptr, MI_KEYDEF *keydef); +uchar *mi_keydef_read(uchar *ptr, MI_KEYDEF *keydef); uint mi_uniquedef_write(File file, MI_UNIQUEDEF *keydef); -char *mi_uniquedef_read(char *ptr, MI_UNIQUEDEF *keydef); +uchar *mi_uniquedef_read(uchar *ptr, MI_UNIQUEDEF *keydef); uint mi_recinfo_write(File file, MI_COLUMNDEF *recinfo); -char *mi_recinfo_read(char *ptr, MI_COLUMNDEF *recinfo); +uchar *mi_recinfo_read(uchar *ptr, MI_COLUMNDEF *recinfo); extern int mi_disable_indexes(MI_INFO *info); extern int mi_enable_indexes(MI_INFO *info); extern int mi_indexes_are_disabled(MI_INFO *info); diff --git a/storage/myisam/myisamlog.c b/storage/myisam/myisamlog.c index 1cf4ad730cb..6566a7a7a02 100644 --- a/storage/myisam/myisamlog.c +++ b/storage/myisam/myisamlog.c @@ -32,7 +32,8 @@ struct file_info { long process; int filenr,id; uint rnd; - char *name, *show_name, *record; + char *name, *show_name; + uchar *record; MI_INFO *isam; bool closed,used; ulong accessed; @@ -815,7 +816,7 @@ static int find_record_with_key(struct file_info *file_info, uchar *record) info->s->keyinfo[key].flag & HA_NOSAME) { VOID(_mi_make_key(info,key,tmp_key,record,0L)); - return mi_rkey(info,file_info->record,(int) key,(char*) tmp_key,0, + return mi_rkey(info,file_info->record,(int) key,tmp_key,0, HA_READ_KEY_EXACT); } } diff --git a/storage/myisam/myisampack.c b/storage/myisam/myisampack.c index 5f7c4ee8f2e..37428ddd279 100644 --- a/storage/myisam/myisampack.c +++ b/storage/myisam/myisampack.c @@ -513,14 +513,14 @@ static int compress(PACK_MRG_INFO *mrg,char *result_table) { /* Make a new indexfile based on first file in list */ uint length; - char *buff; + uchar *buff; strmov(org_name,result_table); /* Fix error messages */ VOID(fn_format(new_name,result_table,"",MI_NAME_IEXT,2)); if ((join_isam_file=my_create(new_name,0,tmpfile_createflag,MYF(MY_WME))) < 0) goto err; length=(uint) share->base.keystart; - if (!(buff=my_malloc(length,MYF(MY_WME)))) + if (!(buff= (uchar*) my_malloc(length,MYF(MY_WME)))) goto err; if (my_pread(share->kfile,buff,length,0L,MYF(MY_WME | MY_NABP)) || my_write(join_isam_file,buff,length, @@ -644,7 +644,7 @@ static int compress(PACK_MRG_INFO *mrg,char *result_table) new_length=file_buffer.pos_in_file; if (!error && !test_only) { - char buff[MEMMAP_EXTRA_MARGIN]; /* End marginal for memmap */ + uchar buff[MEMMAP_EXTRA_MARGIN]; /* End marginal for memmap */ bzero(buff,sizeof(buff)); error=my_write(file_buffer.file,buff,sizeof(buff), MYF(MY_WME | MY_NABP | MY_WAIT_IF_FULL)) != 0; diff --git a/storage/myisam/rt_test.c b/storage/myisam/rt_test.c index 55b52c0c3bf..7d15afd12ef 100644 --- a/storage/myisam/rt_test.c +++ b/storage/myisam/rt_test.c @@ -28,9 +28,9 @@ #define KEYALG HA_KEY_ALG_RTREE static int read_with_pos(MI_INFO * file, int silent); -static void create_record(char *record,uint rownr); -static void create_record1(char *record,uint rownr); -static void print_record(char * record,my_off_t offs,const char * tail); +static void create_record(uchar *record,uint rownr); +static void create_record1(uchar *record,uint rownr); +static void print_record(uchar * record,my_off_t offs,const char * tail); static int run_test(const char *filename); static double rt_data[]= @@ -108,8 +108,8 @@ static int run_test(const char *filename) int i; int error; int row_count=0; - char record[MAX_REC_LENGTH]; - char read_record[MAX_REC_LENGTH]; + uchar record[MAX_REC_LENGTH]; + uchar read_record[MAX_REC_LENGTH]; int upd= 10; ha_rows hrows; @@ -342,7 +342,7 @@ static int read_with_pos (MI_INFO * file,int silent) { int error; int i; - char read_record[MAX_REC_LENGTH]; + uchar read_record[MAX_REC_LENGTH]; if (!silent) printf("- Reading rows with position\n"); @@ -385,12 +385,12 @@ static void bprint_record(char * record, #endif -static void print_record(char * record, +static void print_record(uchar * record, my_off_t offs __attribute__((unused)), const char * tail) { int i; - char * pos; + uchar * pos; double c; printf(" rec=(%d)",(unsigned char)record[0]); @@ -407,16 +407,16 @@ static void print_record(char * record, -static void create_record1(char *record,uint rownr) +static void create_record1(uchar *record,uint rownr) { int i; - char * pos; + uchar * pos; double c=rownr+10; bzero((char*) record,MAX_REC_LENGTH); record[0]=0x01; /* DEL marker */ - for ( pos=record+1, i=0; i<2*ndims; i++) + for (pos=record+1, i=0; i<2*ndims; i++) { memcpy(pos,&c,sizeof(c)); float8store(pos,c); @@ -426,7 +426,7 @@ static void create_record1(char *record,uint rownr) #ifdef NOT_USED -static void create_record0(char *record,uint rownr) +static void create_record0(uchar *record,uint rownr) { int i; char * pos; @@ -449,16 +449,16 @@ static void create_record0(char *record,uint rownr) #endif -static void create_record(char *record,uint rownr) +static void create_record(uchar *record,uint rownr) { int i; - char *pos; + uchar *pos; double *data= rt_data+rownr*4; record[0]=0x01; /* DEL marker */ - for ( pos=record+1, i=0; i<ndims*2; i++) + for (pos=record+1, i=0; i<ndims*2; i++) { - float8store(pos,data[i]); - pos+=8; + float8store(pos,data[i]); + pos+=8; } } diff --git a/storage/myisam/sort.c b/storage/myisam/sort.c index bf3281e7d32..27e4bd37af7 100644 --- a/storage/myisam/sort.c +++ b/storage/myisam/sort.c @@ -78,10 +78,10 @@ static int NEAR_F write_keys_varlen(MI_SORT_PARAM *info,uchar **sort_keys, static uint NEAR_F read_to_buffer_varlen(IO_CACHE *fromfile,BUFFPEK *buffpek, uint sort_length); static int NEAR_F write_merge_key(MI_SORT_PARAM *info, IO_CACHE *to_file, - char *key, uint sort_length, uint count); + uchar *key, uint sort_length, uint count); static int NEAR_F write_merge_key_varlen(MI_SORT_PARAM *info, IO_CACHE *to_file, - char* key, uint sort_length, + uchar* key, uint sort_length, uint count); static inline int my_var_write(MI_SORT_PARAM *info, IO_CACHE *to_file, uchar *bufs); @@ -116,7 +116,7 @@ int _create_index_by_sort(MI_SORT_PARAM *info,my_bool no_messages, { info->write_keys=write_keys_varlen; info->read_to_buffer=read_to_buffer_varlen; - info->write_key=write_merge_key_varlen; + info->write_key= write_merge_key_varlen; } else { @@ -858,16 +858,16 @@ static uint NEAR_F read_to_buffer_varlen(IO_CACHE *fromfile, BUFFPEK *buffpek, static int NEAR_F write_merge_key_varlen(MI_SORT_PARAM *info, - IO_CACHE *to_file,char* key, + IO_CACHE *to_file, uchar* key, uint sort_length, uint count) { uint idx; + uchar *bufs = key; - char *bufs = key; for (idx=1;idx<=count;idx++) { int err; - if ((err= my_var_write(info,to_file, (uchar*) bufs))) + if ((err= my_var_write(info, to_file, bufs))) return (err); bufs=bufs+sort_length; } @@ -876,10 +876,10 @@ static int NEAR_F write_merge_key_varlen(MI_SORT_PARAM *info, static int NEAR_F write_merge_key(MI_SORT_PARAM *info __attribute__((unused)), - IO_CACHE *to_file, char* key, + IO_CACHE *to_file, uchar *key, uint sort_length, uint count) { - return my_b_write(to_file,(uchar*) key,(uint) sort_length*count); + return my_b_write(to_file, key, (size_t) sort_length*count); } /* @@ -924,7 +924,7 @@ merge_buffers(MI_SORT_PARAM *info, uint keys, IO_CACHE *from_file, sort_length)); if (error == -1) goto err; /* purecov: inspected */ - queue_insert(&queue,(char*) buffpek); + queue_insert(&queue,(uchar*) buffpek); } while (queue.elements > 1) diff --git a/storage/myisam/sp_test.c b/storage/myisam/sp_test.c index 96ba05e8a74..dee32ba423e 100644 --- a/storage/myisam/sp_test.c +++ b/storage/myisam/sp_test.c @@ -24,11 +24,11 @@ #define MAX_REC_LENGTH 1024 #define KEYALG HA_KEY_ALG_RTREE -static void create_linestring(char *record,uint rownr); -static void print_record(char * record,my_off_t offs,const char * tail); +static void create_linestring(uchar *record,uint rownr); +static void print_record(uchar * record,my_off_t offs,const char * tail); -static void create_key(char *key,uint rownr); -static void print_key(const char *key,const char * tail); +static void create_key(uchar *key,uint rownr); +static void print_key(const uchar *key,const char * tail); static int run_test(const char *filename); static int read_with_pos(MI_INFO * file, int silent); @@ -64,9 +64,9 @@ int run_test(const char *filename) int i; int error; int row_count=0; - char record[MAX_REC_LENGTH]; - char key[MAX_REC_LENGTH]; - char read_record[MAX_REC_LENGTH]; + uchar record[MAX_REC_LENGTH]; + uchar key[MAX_REC_LENGTH]; + uchar read_record[MAX_REC_LENGTH]; int upd=10; ha_rows hrows; @@ -272,7 +272,7 @@ static int read_with_pos (MI_INFO * file,int silent) { int error; int i; - char read_record[MAX_REC_LENGTH]; + uchar read_record[MAX_REC_LENGTH]; int rows=0; if (!silent) @@ -300,7 +300,7 @@ static int read_with_pos (MI_INFO * file,int silent) #ifdef NOT_USED -static void bprint_record(char * record, +static void bprint_record(uchar * record, my_off_t offs __attribute__((unused)), const char * tail) { @@ -319,9 +319,9 @@ static void bprint_record(char * record, #endif -static void print_record(char * record, my_off_t offs,const char * tail) +static void print_record(uchar * record, my_off_t offs,const char * tail) { - char *pos; + uchar *pos; char *ptr; uint len; @@ -341,7 +341,7 @@ static void print_record(char * record, my_off_t offs,const char * tail) #ifdef NOT_USED -static void create_point(char *record,uint rownr) +static void create_point(uchar *record,uint rownr) { uint tmp; char *ptr; @@ -368,11 +368,11 @@ static void create_point(char *record,uint rownr) #endif -static void create_linestring(char *record,uint rownr) +static void create_linestring(uchar *record,uint rownr) { uint tmp; char *ptr; - char *pos=record; + uchar *pos= record; double x[200]; int i,j; int npoints=2; @@ -396,21 +396,21 @@ static void create_linestring(char *record,uint rownr) } -static void create_key(char *key,uint rownr) +static void create_key(uchar *key,uint rownr) { double c=rownr; - char *pos; + uchar *pos; uint i; bzero(key,MAX_REC_LENGTH); - for ( pos=key, i=0; i<2*SPDIMS; i++) + for (pos=key, i=0; i<2*SPDIMS; i++) { float8store(pos,c); pos+=sizeof(c); } } -static void print_key(const char *key,const char * tail) +static void print_key(const uchar *key,const char * tail) { double c; uint i; |