diff options
Diffstat (limited to 'storage/myisammrg')
-rwxr-xr-x[-rw-r--r--] | storage/myisammrg/CMakeLists.txt | 7 | ||||
-rw-r--r-- | storage/myisammrg/ha_myisammrg.cc | 121 | ||||
-rw-r--r-- | storage/myisammrg/ha_myisammrg.h | 35 | ||||
-rw-r--r-- | storage/myisammrg/myrg_close.c | 2 | ||||
-rw-r--r-- | storage/myisammrg/myrg_create.c | 4 | ||||
-rw-r--r-- | storage/myisammrg/myrg_def.h | 7 | ||||
-rw-r--r-- | storage/myisammrg/myrg_delete.c | 2 | ||||
-rw-r--r-- | storage/myisammrg/myrg_locking.c | 8 | ||||
-rw-r--r-- | storage/myisammrg/myrg_open.c | 25 | ||||
-rw-r--r-- | storage/myisammrg/myrg_queue.c | 4 | ||||
-rw-r--r-- | storage/myisammrg/myrg_rfirst.c | 4 | ||||
-rw-r--r-- | storage/myisammrg/myrg_rkey.c | 10 | ||||
-rw-r--r-- | storage/myisammrg/myrg_rlast.c | 4 | ||||
-rw-r--r-- | storage/myisammrg/myrg_rnext.c | 4 | ||||
-rw-r--r-- | storage/myisammrg/myrg_rnext_same.c | 4 | ||||
-rw-r--r-- | storage/myisammrg/myrg_rprev.c | 4 | ||||
-rw-r--r-- | storage/myisammrg/myrg_rrnd.c | 12 | ||||
-rw-r--r-- | storage/myisammrg/myrg_rsame.c | 2 | ||||
-rw-r--r-- | storage/myisammrg/myrg_update.c | 2 | ||||
-rw-r--r-- | storage/myisammrg/myrg_write.c | 2 |
20 files changed, 159 insertions, 104 deletions
diff --git a/storage/myisammrg/CMakeLists.txt b/storage/myisammrg/CMakeLists.txt index 8c8c8bcf9fb..848f2dfea43 100644..100755 --- a/storage/myisammrg/CMakeLists.txt +++ b/storage/myisammrg/CMakeLists.txt @@ -20,9 +20,14 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib ${CMAKE_SOURCE_DIR}/sql ${CMAKE_SOURCE_DIR}/regex ${CMAKE_SOURCE_DIR}/extra/yassl/include) -ADD_LIBRARY(myisammrg myrg_close.c myrg_create.c myrg_delete.c myrg_extra.c myrg_info.c + +SET(MYISAMMRG_SOURCES myrg_close.c myrg_create.c myrg_delete.c myrg_extra.c myrg_info.c ha_myisammrg.cc myrg_locking.c myrg_open.c myrg_panic.c myrg_queue.c myrg_range.c myrg_rfirst.c myrg_rkey.c myrg_rlast.c myrg_rnext.c myrg_rnext_same.c myrg_rprev.c myrg_rrnd.c myrg_rsame.c myrg_static.c myrg_update.c myrg_write.c) + +IF(NOT SOURCE_SUBLIBS) + ADD_LIBRARY(myisammrg ${MYISAMMRG_SOURCES}) +ENDIF(NOT SOURCE_SUBLIBS) diff --git a/storage/myisammrg/ha_myisammrg.cc b/storage/myisammrg/ha_myisammrg.cc index 96f7db6e633..8a914e8a2de 100644 --- a/storage/myisammrg/ha_myisammrg.cc +++ b/storage/myisammrg/ha_myisammrg.cc @@ -52,6 +52,24 @@ extern int check_definition(MI_KEYDEF *t1_keyinfo, MI_COLUMNDEF *t1_recinfo, uint t1_keys, uint t1_recs, MI_KEYDEF *t2_keyinfo, MI_COLUMNDEF *t2_recinfo, uint t2_keys, uint t2_recs, bool strict); +static void split_file_name(const char *file_name, + LEX_STRING *db, LEX_STRING *name); + + +extern "C" void myrg_print_wrong_table(const char *table_name) +{ + LEX_STRING db, name; + char buf[FN_REFLEN]; + split_file_name(table_name, &db, &name); + memcpy(buf, db.str, db.length); + buf[db.length]= '.'; + memcpy(buf + db.length + 1, name.str, name.length); + buf[db.length + name.length + 1]= 0; + push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_ERROR, + ER_ADMIN_WRONG_MRG_TABLE, ER(ER_ADMIN_WRONG_MRG_TABLE), + buf); +} + const char **ha_myisammrg::bas_ext() const { @@ -102,6 +120,8 @@ int ha_myisammrg::open(const char *name, int mode, uint test_if_locked) { DBUG_PRINT("error",("reclength: %lu mean_rec_length: %lu", table->s->reclength, stats.mean_rec_length)); + if (test_if_locked & HA_OPEN_FOR_REPAIR) + myrg_print_wrong_table(file->open_tables->table->filename); error= HA_ERR_WRONG_MRG_TABLE_DEF; goto err; } @@ -120,12 +140,19 @@ int ha_myisammrg::open(const char *name, int mode, uint test_if_locked) u_table->table->s->base.keys, u_table->table->s->base.fields, false)) { - my_free((gptr) recinfo, MYF(0)); error= HA_ERR_WRONG_MRG_TABLE_DEF; - goto err; + if (test_if_locked & HA_OPEN_FOR_REPAIR) + myrg_print_wrong_table(u_table->table->filename); + else + { + my_free((uchar*) recinfo, MYF(0)); + goto err; + } } } - my_free((gptr) recinfo, MYF(0)); + my_free((uchar*) recinfo, MYF(0)); + if (error == HA_ERR_WRONG_MRG_TABLE_DEF) + goto err; #if !defined(BIG_TABLES) || SIZEOF_OFF_T == 4 /* Merge table has more than 2G rows */ if (table->s->crashed) @@ -146,9 +173,9 @@ int ha_myisammrg::close(void) return myrg_close(file); } -int ha_myisammrg::write_row(byte * buf) +int ha_myisammrg::write_row(uchar * buf) { - statistic_increment(table->in_use->status_var.ha_write_count,&LOCK_status); + ha_statistic_increment(&SSV::ha_write_count); if (file->merge_insert_method == MERGE_INSERT_DISABLED || !file->tables) return (HA_ERR_TABLE_READONLY); @@ -164,95 +191,87 @@ int ha_myisammrg::write_row(byte * buf) return myrg_write(file,buf); } -int ha_myisammrg::update_row(const byte * old_data, byte * new_data) +int ha_myisammrg::update_row(const uchar * old_data, uchar * new_data) { - statistic_increment(table->in_use->status_var.ha_update_count,&LOCK_status); + ha_statistic_increment(&SSV::ha_update_count); if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_UPDATE) table->timestamp_field->set_time(); return myrg_update(file,old_data,new_data); } -int ha_myisammrg::delete_row(const byte * buf) +int ha_myisammrg::delete_row(const uchar * buf) { - statistic_increment(table->in_use->status_var.ha_delete_count,&LOCK_status); + ha_statistic_increment(&SSV::ha_delete_count); return myrg_delete(file,buf); } -int ha_myisammrg::index_read(byte * buf, const byte * key, - key_part_map keypart_map, - enum ha_rkey_function find_flag) +int ha_myisammrg::index_read_map(uchar * buf, const uchar * key, + key_part_map keypart_map, + enum ha_rkey_function find_flag) { - statistic_increment(table->in_use->status_var.ha_read_key_count, - &LOCK_status); + ha_statistic_increment(&SSV::ha_read_key_count); int error=myrg_rkey(file,buf,active_index, key, keypart_map, find_flag); table->status=error ? STATUS_NOT_FOUND: 0; return error; } -int ha_myisammrg::index_read_idx(byte * buf, uint index, const byte * key, - key_part_map keypart_map, - enum ha_rkey_function find_flag) +int ha_myisammrg::index_read_idx_map(uchar * buf, uint index, const uchar * key, + key_part_map keypart_map, + enum ha_rkey_function find_flag) { - statistic_increment(table->in_use->status_var.ha_read_key_count, - &LOCK_status); + ha_statistic_increment(&SSV::ha_read_key_count); int error=myrg_rkey(file,buf,index, key, keypart_map, find_flag); table->status=error ? STATUS_NOT_FOUND: 0; return error; } -int ha_myisammrg::index_read_last(byte * buf, const byte * key, - key_part_map keypart_map) +int ha_myisammrg::index_read_last_map(uchar *buf, const uchar *key, + key_part_map keypart_map) { - statistic_increment(table->in_use->status_var.ha_read_key_count, - &LOCK_status); + ha_statistic_increment(&SSV::ha_read_key_count); int error=myrg_rkey(file,buf,active_index, key, keypart_map, HA_READ_PREFIX_LAST); table->status=error ? STATUS_NOT_FOUND: 0; return error; } -int ha_myisammrg::index_next(byte * buf) +int ha_myisammrg::index_next(uchar * buf) { - statistic_increment(table->in_use->status_var.ha_read_next_count, - &LOCK_status); + ha_statistic_increment(&SSV::ha_read_next_count); int error=myrg_rnext(file,buf,active_index); table->status=error ? STATUS_NOT_FOUND: 0; return error; } -int ha_myisammrg::index_prev(byte * buf) +int ha_myisammrg::index_prev(uchar * buf) { - statistic_increment(table->in_use->status_var.ha_read_prev_count, - &LOCK_status); + ha_statistic_increment(&SSV::ha_read_prev_count); int error=myrg_rprev(file,buf, active_index); table->status=error ? STATUS_NOT_FOUND: 0; return error; } -int ha_myisammrg::index_first(byte * buf) +int ha_myisammrg::index_first(uchar * buf) { - statistic_increment(table->in_use->status_var.ha_read_first_count, - &LOCK_status); + ha_statistic_increment(&SSV::ha_read_first_count); int error=myrg_rfirst(file, buf, active_index); table->status=error ? STATUS_NOT_FOUND: 0; return error; } -int ha_myisammrg::index_last(byte * buf) +int ha_myisammrg::index_last(uchar * buf) { - statistic_increment(table->in_use->status_var.ha_read_last_count, - &LOCK_status); + ha_statistic_increment(&SSV::ha_read_last_count); int error=myrg_rlast(file, buf, active_index); table->status=error ? STATUS_NOT_FOUND: 0; return error; } -int ha_myisammrg::index_next_same(byte * buf, - const byte *key __attribute__((unused)), +int ha_myisammrg::index_next_same(uchar * buf, + const uchar *key __attribute__((unused)), uint length __attribute__((unused))) { - statistic_increment(table->in_use->status_var.ha_read_next_count, - &LOCK_status); + ha_statistic_increment(&SSV::ha_read_next_count); int error=myrg_rnext_same(file,buf); table->status=error ? STATUS_NOT_FOUND: 0; return error; @@ -265,26 +284,24 @@ int ha_myisammrg::rnd_init(bool scan) } -int ha_myisammrg::rnd_next(byte *buf) +int ha_myisammrg::rnd_next(uchar *buf) { - statistic_increment(table->in_use->status_var.ha_read_rnd_next_count, - &LOCK_status); + ha_statistic_increment(&SSV::ha_read_rnd_next_count); int error=myrg_rrnd(file, buf, HA_OFFSET_ERROR); table->status=error ? STATUS_NOT_FOUND: 0; return error; } -int ha_myisammrg::rnd_pos(byte * buf, byte *pos) +int ha_myisammrg::rnd_pos(uchar * buf, uchar *pos) { - statistic_increment(table->in_use->status_var.ha_read_rnd_count, - &LOCK_status); + ha_statistic_increment(&SSV::ha_read_rnd_count); int error=myrg_rrnd(file, buf, my_get_ptr(pos,ref_length)); table->status=error ? STATUS_NOT_FOUND: 0; return error; } -void ha_myisammrg::position(const byte *record) +void ha_myisammrg::position(const uchar *record) { ulonglong row_position= myrg_position(file); my_store_ptr(ref, ref_length, (my_off_t) row_position); @@ -474,8 +491,8 @@ void ha_myisammrg::update_create_info(HA_CREATE_INFO *create_info) goto err; create_info->merge_list.elements++; - (*create_info->merge_list.next) = (byte*) ptr; - create_info->merge_list.next= (byte**) &ptr->next_local; + (*create_info->merge_list.next) = (uchar*) ptr; + create_info->merge_list.next= (uchar**) &ptr->next_local; } *create_info->merge_list.next=0; } @@ -603,6 +620,13 @@ bool ha_myisammrg::check_if_incompatible_data(HA_CREATE_INFO *info, return COMPATIBLE_DATA_NO; } + +int ha_myisammrg::check(THD* thd, HA_CHECK_OPT* check_opt) +{ + return HA_ADMIN_OK; +} + + extern int myrg_panic(enum ha_panic_function flag); int myisammrg_panic(handlerton *hton, ha_panic_function flag) { @@ -615,7 +639,6 @@ static int myisammrg_init(void *p) myisammrg_hton= (handlerton *)p; - myisammrg_hton->state= SHOW_OPTION_YES; myisammrg_hton->db_type= DB_TYPE_MRG_MYISAM; myisammrg_hton->create= myisammrg_create_handler; myisammrg_hton->panic= myisammrg_panic; diff --git a/storage/myisammrg/ha_myisammrg.h b/storage/myisammrg/ha_myisammrg.h index 7bbe659d4b7..91aabe277f7 100644 --- a/storage/myisammrg/ha_myisammrg.h +++ b/storage/myisammrg/ha_myisammrg.h @@ -35,6 +35,7 @@ class ha_myisammrg: public handler ulonglong table_flags() const { return (HA_REC_NOT_IN_SEQ | HA_AUTO_PART_KEY | HA_NO_TRANSACTIONS | + HA_BINLOG_ROW_CAPABLE | HA_BINLOG_STMT_CAPABLE | HA_NULL_IN_KEY | HA_CAN_INDEX_BLOBS | HA_FILE_BASED | HA_ANY_INDEX_MAY_BE_UNIQUE | HA_CAN_BIT_FIELD | HA_NO_COPY_ON_ALTER); @@ -53,23 +54,24 @@ class ha_myisammrg: public handler int open(const char *name, int mode, uint test_if_locked); int close(void); - int write_row(byte * buf); - int update_row(const byte * old_data, byte * new_data); - int delete_row(const byte * buf); - int index_read(byte * buf, const byte * key, key_part_map keypart_map, - enum ha_rkey_function find_flag); - int index_read_idx(byte * buf, uint index, const byte * key, - key_part_map keypart_map, enum ha_rkey_function find_flag); - int index_read_last(byte * buf, const byte * key, key_part_map keypart_map); - int index_next(byte * buf); - int index_prev(byte * buf); - int index_first(byte * buf); - int index_last(byte * buf); - int index_next_same(byte *buf, const byte *key, uint keylen); + int write_row(uchar * buf); + int update_row(const uchar * old_data, uchar * new_data); + int delete_row(const uchar * buf); + 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); + int index_last(uchar * buf); + int index_next_same(uchar *buf, const uchar *key, uint keylen); int rnd_init(bool scan); - int rnd_next(byte *buf); - int rnd_pos(byte * buf, byte *pos); - void position(const byte *record); + int rnd_next(uchar *buf); + int rnd_pos(uchar * buf, uchar *pos); + void position(const uchar *record); ha_rows records_in_range(uint inx, key_range *min_key, key_range *max_key); int info(uint); int reset(void); @@ -84,4 +86,5 @@ class ha_myisammrg: public handler void append_create_info(String *packet); MYRG_INFO *myrg_info() { return file; } bool check_if_incompatible_data(HA_CREATE_INFO *info, uint table_changes); + int check(THD* thd, HA_CHECK_OPT* check_opt); }; diff --git a/storage/myisammrg/myrg_close.c b/storage/myisammrg/myrg_close.c index 971a83928b1..baae24634b3 100644 --- a/storage/myisammrg/myrg_close.c +++ b/storage/myisammrg/myrg_close.c @@ -30,7 +30,7 @@ int myrg_close(MYRG_INFO *info) pthread_mutex_lock(&THR_LOCK_open); myrg_open_list=list_delete(myrg_open_list,&info->open_list); pthread_mutex_unlock(&THR_LOCK_open); - my_free((gptr) info,MYF(0)); + my_free((uchar*) info,MYF(0)); if (error) { DBUG_RETURN(my_errno=error); diff --git a/storage/myisammrg/myrg_create.c b/storage/myisammrg/myrg_create.c index c4e91e7b29b..df81b730bfd 100644 --- a/storage/myisammrg/myrg_create.c +++ b/storage/myisammrg/myrg_create.c @@ -46,7 +46,7 @@ int myrg_create(const char *name, const char **table_names, fn_same(buff,name,4); *(end=strend(buff))='\n'; end[1]=0; - if (my_write(file,buff,(uint) (end-buff+1), + if (my_write(file,(char*) buff,(uint) (end-buff+1), MYF(MY_WME | MY_NABP))) goto err; } @@ -55,7 +55,7 @@ int myrg_create(const char *name, const char **table_names, { end=strxmov(buff,"#INSERT_METHOD=", get_type(&merge_insert_method,insert_method-1),"\n",NullS); - if (my_write(file,buff,(uint) (end-buff),MYF(MY_WME | MY_NABP))) + if (my_write(file, (uchar*) buff,(uint) (end-buff),MYF(MY_WME | MY_NABP))) goto err; } if (my_close(file,MYF(0))) diff --git a/storage/myisammrg/myrg_def.h b/storage/myisammrg/myrg_def.h index 344bd4edd3c..9c69da1424d 100644 --- a/storage/myisammrg/myrg_def.h +++ b/storage/myisammrg/myrg_def.h @@ -28,5 +28,8 @@ extern pthread_mutex_t THR_LOCK_open; #endif int _myrg_init_queue(MYRG_INFO *info,int inx,enum ha_rkey_function search_flag); -int _myrg_mi_read_record(MI_INFO *info, byte *buf); - +int _myrg_mi_read_record(MI_INFO *info, uchar *buf); +#ifdef __cplusplus +extern "C" +#endif +void myrg_print_wrong_table(const char *table_name); diff --git a/storage/myisammrg/myrg_delete.c b/storage/myisammrg/myrg_delete.c index f9604f66885..93d45198b36 100644 --- a/storage/myisammrg/myrg_delete.c +++ b/storage/myisammrg/myrg_delete.c @@ -17,7 +17,7 @@ #include "myrg_def.h" -int myrg_delete(MYRG_INFO *info, const byte *record) +int myrg_delete(MYRG_INFO *info, const uchar *record) { if (!info->current_table) return (my_errno= HA_ERR_NO_ACTIVE_RECORD); diff --git a/storage/myisammrg/myrg_locking.c b/storage/myisammrg/myrg_locking.c index a07833bc829..4f1e3f844a1 100644 --- a/storage/myisammrg/myrg_locking.c +++ b/storage/myisammrg/myrg_locking.c @@ -37,7 +37,15 @@ int myrg_lock_database(MYRG_INFO *info, int lock_type) (file->table)->owned_by_merge = TRUE; #endif if ((new_error=mi_lock_database(file->table,lock_type))) + { error=new_error; + if (lock_type != F_UNLCK) + { + while (--file >= info->open_tables) + mi_lock_database(file->table, F_UNLCK); + break; + } + } } return(error); } diff --git a/storage/myisammrg/myrg_open.c b/storage/myisammrg/myrg_open.c index 3dbb605463e..500d3a29327 100644 --- a/storage/myisammrg/myrg_open.c +++ b/storage/myisammrg/myrg_open.c @@ -40,6 +40,7 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking) IO_CACHE file; MI_INFO *isam=0; uint found_merge_insert_method= 0; + size_t name_buff_length; DBUG_ENTER("myrg_open"); LINT_INIT(key_parts); @@ -48,13 +49,13 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking) if ((fd=my_open(fn_format(name_buff,name,"",MYRG_NAME_EXT, MY_UNPACK_FILENAME|MY_APPEND_EXT), O_RDONLY | O_SHARE,MYF(0))) < 0) - goto err; - errpos=1; - if (init_io_cache(&file, fd, 4*IO_SIZE, READ_CACHE, 0, 0, + goto err; + errpos=1; + if (init_io_cache(&file, fd, 4*IO_SIZE, READ_CACHE, 0, 0, MYF(MY_WME | MY_NABP))) - goto err; - errpos=2; - dir_length=dirname_part(name_buff,name); + goto err; + errpos=2; + dir_length=dirname_part(name_buff, name, &name_buff_length); while ((length=my_b_gets(&file,buff,FN_REFLEN-1))) { if ((end=buff+length)[-1] == '\n') @@ -91,6 +92,11 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking) if (!(isam=mi_open(buff,mode,(handle_locking?HA_OPEN_WAIT_IF_LOCKED:0)))) { my_errno= HA_ERR_WRONG_MRG_TABLE_DEF; + if (handle_locking & HA_OPEN_FOR_REPAIR) + { + myrg_print_wrong_table(buff); + continue; + } goto err; } if (!m_info) /* First file */ @@ -119,6 +125,11 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking) if (m_info->reclength != isam->s->base.reclength) { my_errno=HA_ERR_WRONG_MRG_TABLE_DEF; + if (handle_locking & HA_OPEN_FOR_REPAIR) + { + myrg_print_wrong_table(buff); + continue; + } goto err; } m_info->options|= isam->s->options; @@ -132,6 +143,8 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking) m_info->tables); } + if (my_errno == HA_ERR_WRONG_MRG_TABLE_DEF) + goto err; if (!m_info && !(m_info= (MYRG_INFO*) my_malloc(sizeof(MYRG_INFO), MYF(MY_WME | MY_ZEROFILL)))) goto err; diff --git a/storage/myisammrg/myrg_queue.c b/storage/myisammrg/myrg_queue.c index 1d252207db1..d2579053784 100644 --- a/storage/myisammrg/myrg_queue.c +++ b/storage/myisammrg/myrg_queue.c @@ -15,7 +15,7 @@ #include "myrg_def.h" -static int queue_key_cmp(void *keyseg, byte *a, byte *b) +static int queue_key_cmp(void *keyseg, uchar *a, uchar *b) { MYRG_TABLE *ma= (MYRG_TABLE *)a; MYRG_TABLE *mb= (MYRG_TABLE *)b; @@ -69,7 +69,7 @@ int _myrg_init_queue(MYRG_INFO *info,int inx,enum ha_rkey_function search_flag) return error; } -int _myrg_mi_read_record(MI_INFO *info, byte *buf) +int _myrg_mi_read_record(MI_INFO *info, uchar *buf) { if (!(*info->read_record)(info,info->lastpos,buf)) { diff --git a/storage/myisammrg/myrg_rfirst.c b/storage/myisammrg/myrg_rfirst.c index 80736537d02..9d7b0f9e83f 100644 --- a/storage/myisammrg/myrg_rfirst.c +++ b/storage/myisammrg/myrg_rfirst.c @@ -17,7 +17,7 @@ /* Read first row according to specific key */ -int myrg_rfirst(MYRG_INFO *info, byte *buf, int inx) +int myrg_rfirst(MYRG_INFO *info, uchar *buf, int inx) { MYRG_TABLE *table; MI_INFO *mi; @@ -35,7 +35,7 @@ int myrg_rfirst(MYRG_INFO *info, byte *buf, int inx) return err; } /* adding to queue */ - queue_insert(&(info->by_key),(byte *)table); + queue_insert(&(info->by_key),(uchar *)table); } /* We have done a read in all tables */ info->last_used_table=table; diff --git a/storage/myisammrg/myrg_rkey.c b/storage/myisammrg/myrg_rkey.c index 2d744ae31ec..8e7886f5a43 100644 --- a/storage/myisammrg/myrg_rkey.c +++ b/storage/myisammrg/myrg_rkey.c @@ -35,10 +35,10 @@ SerG */ -int myrg_rkey(MYRG_INFO *info,byte *buf,int inx, const byte *key, +int myrg_rkey(MYRG_INFO *info,uchar *buf,int inx, const uchar *key, key_part_map keypart_map, enum ha_rkey_function search_flag) { - byte *key_buff; + uchar *key_buff; uint pack_key_length; uint16 last_used_keyseg; MYRG_TABLE *table; @@ -60,7 +60,7 @@ int myrg_rkey(MYRG_INFO *info,byte *buf,int inx, const byte *key, { err=mi_rkey(mi, 0, inx, key, keypart_map, search_flag); /* Get the saved packed key and packed key length. */ - key_buff=(byte*) mi->lastkey+mi->s->base.max_key_length; + key_buff=(uchar*) mi->lastkey+mi->s->base.max_key_length; pack_key_length=mi->pack_key_length; last_used_keyseg= mi->last_used_keyseg; } @@ -80,7 +80,7 @@ int myrg_rkey(MYRG_INFO *info,byte *buf,int inx, const byte *key, DBUG_RETURN(err); } /* adding to queue */ - queue_insert(&(info->by_key),(byte *)table); + queue_insert(&(info->by_key),(uchar *)table); } @@ -92,6 +92,6 @@ int myrg_rkey(MYRG_INFO *info,byte *buf,int inx, const byte *key, mi->once_flags|= RRND_PRESERVE_LASTINX; DBUG_PRINT("info", ("using table no: %d", (int) (info->current_table - info->open_tables + 1))); - DBUG_DUMP("result key", (byte*) mi->lastkey, mi->lastkey_length); + DBUG_DUMP("result key", (uchar*) mi->lastkey, mi->lastkey_length); DBUG_RETURN(_myrg_mi_read_record(mi,buf)); } diff --git a/storage/myisammrg/myrg_rlast.c b/storage/myisammrg/myrg_rlast.c index f364bf9b32f..8086a2f8104 100644 --- a/storage/myisammrg/myrg_rlast.c +++ b/storage/myisammrg/myrg_rlast.c @@ -17,7 +17,7 @@ /* Read last row with the same key as the previous read. */ -int myrg_rlast(MYRG_INFO *info, byte *buf, int inx) +int myrg_rlast(MYRG_INFO *info, uchar *buf, int inx) { MYRG_TABLE *table; MI_INFO *mi; @@ -35,7 +35,7 @@ int myrg_rlast(MYRG_INFO *info, byte *buf, int inx) return err; } /* adding to queue */ - queue_insert(&(info->by_key),(byte *)table); + queue_insert(&(info->by_key),(uchar *)table); } /* We have done a read in all tables */ info->last_used_table=table; diff --git a/storage/myisammrg/myrg_rnext.c b/storage/myisammrg/myrg_rnext.c index de1aa4df4b6..82d5cbf38b1 100644 --- a/storage/myisammrg/myrg_rnext.c +++ b/storage/myisammrg/myrg_rnext.c @@ -19,7 +19,7 @@ Read next row with the same key as previous read */ -int myrg_rnext(MYRG_INFO *info, byte *buf, int inx) +int myrg_rnext(MYRG_INFO *info, uchar *buf, int inx) { int err; MI_INFO *mi; @@ -42,7 +42,7 @@ int myrg_rnext(MYRG_INFO *info, byte *buf, int inx) else { /* Found here, adding to queue */ - queue_top(&(info->by_key))=(byte *)(info->current_table); + queue_top(&(info->by_key))=(uchar *)(info->current_table); queue_replaced(&(info->by_key)); } diff --git a/storage/myisammrg/myrg_rnext_same.c b/storage/myisammrg/myrg_rnext_same.c index 9c6b522ee8a..ad7bbfb0f6e 100644 --- a/storage/myisammrg/myrg_rnext_same.c +++ b/storage/myisammrg/myrg_rnext_same.c @@ -16,7 +16,7 @@ #include "myrg_def.h" -int myrg_rnext_same(MYRG_INFO *info, byte *buf) +int myrg_rnext_same(MYRG_INFO *info, uchar *buf) { int err; MI_INFO *mi; @@ -39,7 +39,7 @@ int myrg_rnext_same(MYRG_INFO *info, byte *buf) else { /* Found here, adding to queue */ - queue_top(&(info->by_key))=(byte *)(info->current_table); + queue_top(&(info->by_key))=(uchar *)(info->current_table); queue_replaced(&(info->by_key)); } diff --git a/storage/myisammrg/myrg_rprev.c b/storage/myisammrg/myrg_rprev.c index b1b86a93fad..66c94974940 100644 --- a/storage/myisammrg/myrg_rprev.c +++ b/storage/myisammrg/myrg_rprev.c @@ -19,7 +19,7 @@ Read previous row with the same key as previous read */ -int myrg_rprev(MYRG_INFO *info, byte *buf, int inx) +int myrg_rprev(MYRG_INFO *info, uchar *buf, int inx) { int err; MI_INFO *mi; @@ -42,7 +42,7 @@ int myrg_rprev(MYRG_INFO *info, byte *buf, int inx) else { /* Found here, adding to queue */ - queue_top(&(info->by_key))=(byte *)(info->current_table); + queue_top(&(info->by_key))=(uchar *)(info->current_table); queue_replaced(&(info->by_key)); } diff --git a/storage/myisammrg/myrg_rrnd.c b/storage/myisammrg/myrg_rrnd.c index 55e72b2170d..b598563680c 100644 --- a/storage/myisammrg/myrg_rrnd.c +++ b/storage/myisammrg/myrg_rrnd.c @@ -30,7 +30,7 @@ static MYRG_TABLE *find_table(MYRG_TABLE *start,MYRG_TABLE *end,ulonglong pos); HA_ERR_END_OF_FILE = EOF. */ -int myrg_rrnd(MYRG_INFO *info,byte *buf,ulonglong filepos) +int myrg_rrnd(MYRG_INFO *info,uchar *buf,ulonglong filepos) { int error; MI_INFO *isam_info; @@ -47,7 +47,7 @@ int myrg_rrnd(MYRG_INFO *info,byte *buf,ulonglong filepos) } isam_info=(info->current_table=info->open_tables)->table; if (info->cache_in_use) - mi_extra(isam_info,HA_EXTRA_CACHE,(byte*) &info->cache_size); + mi_extra(isam_info,HA_EXTRA_CACHE,(uchar*) &info->cache_size); filepos=isam_info->s->pack.header_length; isam_info->lastinx= (uint) -1; /* Can't forward or backward */ } @@ -60,20 +60,20 @@ int myrg_rrnd(MYRG_INFO *info,byte *buf,ulonglong filepos) for (;;) { isam_info->update&= HA_STATE_CHANGED; - if ((error=(*isam_info->s->read_rnd)(isam_info,(byte*) buf, + if ((error=(*isam_info->s->read_rnd)(isam_info,(uchar*) buf, (my_off_t) filepos,1)) != HA_ERR_END_OF_FILE) DBUG_RETURN(error); if (info->cache_in_use) mi_extra(info->current_table->table, HA_EXTRA_NO_CACHE, - (byte*) &info->cache_size); + (uchar*) &info->cache_size); if (info->current_table+1 == info->end_table) DBUG_RETURN(HA_ERR_END_OF_FILE); info->current_table++; info->last_used_table=info->current_table; if (info->cache_in_use) mi_extra(info->current_table->table, HA_EXTRA_CACHE, - (byte*) &info->cache_size); + (uchar*) &info->cache_size); info->current_table->file_offset= info->current_table[-1].file_offset+ info->current_table[-1].table->state->data_file_length; @@ -88,7 +88,7 @@ int myrg_rrnd(MYRG_INFO *info,byte *buf,ulonglong filepos) isam_info=info->current_table->table; isam_info->update&= HA_STATE_CHANGED; DBUG_RETURN((*isam_info->s->read_rnd) - (isam_info, (byte*) buf, + (isam_info, (uchar*) buf, (my_off_t) (filepos - info->current_table->file_offset), 0)); } diff --git a/storage/myisammrg/myrg_rsame.c b/storage/myisammrg/myrg_rsame.c index 56b16c0aa3c..2f7523759dc 100644 --- a/storage/myisammrg/myrg_rsame.c +++ b/storage/myisammrg/myrg_rsame.c @@ -15,7 +15,7 @@ #include "myrg_def.h" -int myrg_rsame(MYRG_INFO *info,byte *record,int inx) +int myrg_rsame(MYRG_INFO *info,uchar *record,int inx) { if (inx) /* not yet used, should be 0 */ return (my_errno=HA_ERR_WRONG_INDEX); diff --git a/storage/myisammrg/myrg_update.c b/storage/myisammrg/myrg_update.c index ba667d69f12..5d883be8484 100644 --- a/storage/myisammrg/myrg_update.c +++ b/storage/myisammrg/myrg_update.c @@ -17,7 +17,7 @@ #include "myrg_def.h" -int myrg_update(register MYRG_INFO *info,const byte *oldrec, byte *newrec) +int myrg_update(register MYRG_INFO *info,const uchar *oldrec, uchar *newrec) { if (!info->current_table) return (my_errno=HA_ERR_NO_ACTIVE_RECORD); diff --git a/storage/myisammrg/myrg_write.c b/storage/myisammrg/myrg_write.c index ed0a4a7996a..27534df2821 100644 --- a/storage/myisammrg/myrg_write.c +++ b/storage/myisammrg/myrg_write.c @@ -17,7 +17,7 @@ #include "myrg_def.h" -int myrg_write(register MYRG_INFO *info, byte *rec) +int myrg_write(register MYRG_INFO *info, uchar *rec) { /* [phi] MERGE_WRITE_DISABLED is handled by the else case */ if (info->merge_insert_method == MERGE_INSERT_TO_FIRST) |