diff options
author | Sergei Golubchik <serg@mariadb.org> | 2015-05-18 11:54:55 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2015-06-02 18:53:37 +0200 |
commit | 196e8529837558a72baf31d012285cc283b8e95d (patch) | |
tree | 75feb69d20c5fb5944dd6195bf00440143497232 /include/my_sys.h | |
parent | 1841557e407038e3611b0788eaf70fd3d8eb043e (diff) | |
download | mariadb-git-196e8529837558a72baf31d012285cc283b8e95d.tar.gz |
misc IO_CACHE cleanups
* remove unused (and not implemented) WRITE_NET type
* remove cast in my_b_write() macro. my_b_* macros are
function-like, casts are responsibility of the caller
* replace hackish _my_b_write(info,0,0) with the explicit
my_b_flush_io_cache() in my_b_write_byte()
* remove unused my_b_fill_cache()
* replace pbool -> my_bool
* make internal IO_CACHE functions static
* reformat comments, correct typos, remove obsolete comments (ISAM)
* assert valid cache type in init_functions()
* use IO_ROUND_DN() macro where appropriate
* remove unused DBUG_EXECUTE_IF in _my_b_cache_write()
* remove unnecessary __attribute__((unused))
* fix goto error in parse_file.cc
* remove redundant reinit_io_cache() in uniques.cc
* don't do reinit_io_cache() if the cache was not initialized
in ma_check.c
* extract duplicate functionality from various _my_b_*_read
functions into a common wrapper. Same for _my_b_*_write
* create _my_b_cache_write_r instead of having if's in
_my_b_cache_write (similar to existing _my_b_cache_read and
_my_b_cache_read_r)
* don't call mysql_file_write() from my_b_flush_io_cache(),
call info->write_function() instead
Diffstat (limited to 'include/my_sys.h')
-rw-r--r-- | include/my_sys.h | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/include/my_sys.h b/include/my_sys.h index 17ad872e4e9..3d930d31bc2 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -285,7 +285,7 @@ enum cache_type { TYPE_NOT_SET= 0, READ_CACHE, WRITE_CACHE, SEQ_READ_APPEND /* sequential read or append */, - READ_FIFO, READ_NET,WRITE_NET}; + READ_FIFO, READ_NET}; enum flush_type { @@ -517,14 +517,12 @@ extern my_error_reporter my_charset_error_reporter; #define my_b_read(info,Buffer,Count) \ ((info)->read_pos + (Count) <= (info)->read_end ?\ (memcpy(Buffer,(info)->read_pos,(size_t) (Count)), \ - ((info)->read_pos+=(Count)),0) :\ - (*(info)->read_function)((info),Buffer,Count)) + ((info)->read_pos+=(Count)), 0) : _my_b_read((info), (Buffer), (Count))) #define my_b_write(info,Buffer,Count) \ ((info)->write_pos + (Count) <=(info)->write_end ?\ (memcpy((info)->write_pos, (Buffer), (size_t)(Count)),\ - ((info)->write_pos+=(Count)),0) : \ - (*(info)->write_function)((info),(uchar *)(Buffer),(Count))) + ((info)->write_pos+=(Count)), 0) : _my_b_write((info), (Buffer), (Count))) #define my_b_get(info) \ ((info)->read_pos != (info)->read_end ?\ @@ -535,10 +533,7 @@ extern my_error_reporter my_charset_error_reporter; #define my_b_write_byte(info,chr) \ (((info)->write_pos < (info)->write_end) ?\ ((*(info)->write_pos++)=(chr)) :\ - (_my_b_write(info,0,0) , ((*(info)->write_pos++)=(chr)))) - -#define my_b_fill_cache(info) \ - (((info)->read_end=(info)->read_pos),(*(info)->read_function)(info,0,0)) + ((my_b_flush_io_cache(info, 1)), ((*(info)->write_pos++)=(chr)))) #define my_b_tell(info) ((info)->pos_in_file + \ (size_t) (*(info)->current_pos - (info)->request_pos)) @@ -741,18 +736,15 @@ void my_store_ptr(uchar *buff, size_t pack_length, my_off_t pos); my_off_t my_get_ptr(uchar *ptr, size_t pack_length); extern int init_io_cache(IO_CACHE *info,File file,size_t cachesize, enum cache_type type,my_off_t seek_offset, - pbool use_async_io, myf cache_myflags); + my_bool use_async_io, myf cache_myflags); extern my_bool reinit_io_cache(IO_CACHE *info,enum cache_type type, - my_off_t seek_offset,pbool use_async_io, - pbool clear_cache); + my_off_t seek_offset, my_bool use_async_io, + my_bool clear_cache); extern void setup_io_cache(IO_CACHE* info); extern int _my_b_read(IO_CACHE *info,uchar *Buffer,size_t Count); -extern int _my_b_read_r(IO_CACHE *info,uchar *Buffer,size_t Count); extern void init_io_cache_share(IO_CACHE *read_cache, IO_CACHE_SHARE *cshare, IO_CACHE *write_cache, uint num_threads); extern void remove_io_thread(IO_CACHE *info); -extern int _my_b_seq_read(IO_CACHE *info,uchar *Buffer,size_t Count); -extern int _my_b_net_read(IO_CACHE *info,uchar *Buffer,size_t Count); extern int _my_b_get(IO_CACHE *info); extern int _my_b_async_read(IO_CACHE *info,uchar *Buffer,size_t Count); extern int _my_b_write(IO_CACHE *info,const uchar *Buffer,size_t Count); |