summaryrefslogtreecommitdiff
path: root/storage/myisam/myisamdef.h
diff options
context:
space:
mode:
authorunknown <vtkachenko@quadxeon.mysql.com>2005-12-01 13:34:48 +0100
committerunknown <vtkachenko@quadxeon.mysql.com>2005-12-01 13:34:48 +0100
commit4a115d65b06e1cb3dec2d9e9d828757b43f086d1 (patch)
treee6ef274482adb5428e869008911f300bfa799ee9 /storage/myisam/myisamdef.h
parentc86ba5f5e7aed6baefb1ec7d06a498485411768c (diff)
downloadmariadb-git-4a115d65b06e1cb3dec2d9e9d828757b43f086d1.tar.gz
Many files:
Added mmap support for MyISAM engine configure.in: Added mmap support for MyISAM engine include/my_base.h: Added mmap support for MyISAM engine include/my_sys.h: Added mmap support for MyISAM engine sql/ha_myisam.cc: Added mmap support for MyISAM engine sql/mysql_priv.h: Added mmap support for MyISAM engine sql/mysqld.cc: Added mmap support for MyISAM engine sql/records.cc: Added mmap support for MyISAM engine sql/set_var.cc: Added mmap support for MyISAM engine storage/myisam/mi_close.c: Added mmap support for MyISAM engine storage/myisam/mi_delete_all.c: Added mmap support for MyISAM engine storage/myisam/mi_dynrec.c: Added mmap support for MyISAM engine storage/myisam/mi_extra.c: Added mmap support for MyISAM engine storage/myisam/mi_locking.c: Added mmap support for MyISAM engine storage/myisam/mi_open.c: Added mmap support for MyISAM engine storage/myisam/mi_packrec.c: Added mmap support for MyISAM engine storage/myisam/mi_statrec.c: Added mmap support for MyISAM engine storage/myisam/myisamdef.h: Added mmap support for MyISAM engine
Diffstat (limited to 'storage/myisam/myisamdef.h')
-rw-r--r--storage/myisam/myisamdef.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/storage/myisam/myisamdef.h b/storage/myisam/myisamdef.h
index 6ccb52aff22..564acb82e69 100644
--- a/storage/myisam/myisamdef.h
+++ b/storage/myisam/myisamdef.h
@@ -179,6 +179,8 @@ typedef struct st_mi_isam_share { /* Shared between opens */
ha_checksum (*calc_checksum)(struct st_myisam_info*, const byte *);
int (*compare_unique)(struct st_myisam_info*, MI_UNIQUEDEF *,
const byte *record, my_off_t pos);
+ uint (*file_read)(MI_INFO *, byte *, uint, my_off_t, myf);
+ uint (*file_write)(MI_INFO *, byte *, uint, my_off_t, myf);
invalidator_by_filename invalidator; /* query cache invalidator */
ulong this_process; /* processid */
ulong last_process; /* For table-change-check */
@@ -207,6 +209,8 @@ typedef struct st_mi_isam_share { /* Shared between opens */
pthread_mutex_t intern_lock; /* Locking for use with _locking */
rw_lock_t *key_root_lock;
#endif
+ my_off_t mmaped_length;
+ rw_lock_t mmap_lock;
} MYISAM_SHARE;
@@ -685,6 +689,14 @@ extern void _mi_unmap_file(MI_INFO *info);
extern uint save_pack_length(uint version, byte *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, byte *Buffer,
+ uint Count, my_off_t offset, myf MyFlags);
+extern uint mi_mmap_pwrite(MI_INFO *info, byte *Buffer,
+ uint Count, my_off_t offset, myf MyFlags);
+extern uint mi_nommap_pread(MI_INFO *info, byte *Buffer,
+ uint Count, my_off_t offset, myf MyFlags);
+extern uint mi_nommap_pwrite(MI_INFO *info, byte *Buffer,
+ uint 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);