diff options
author | monty@narttu.mysql.fi <> | 2003-05-19 16:35:49 +0300 |
---|---|---|
committer | monty@narttu.mysql.fi <> | 2003-05-19 16:35:49 +0300 |
commit | dd2b7918cdd5e0e643cff0305542ccd4aa8f1b6b (patch) | |
tree | 6025913cf3d482ba0783bf3420f7341c10cd574a /myisam/mi_open.c | |
parent | 524878e9358706ffb5908677c746a9060c66ad32 (diff) | |
parent | fc0df599dc72408419e80a5f1d3e07dc5f0fec88 (diff) | |
download | mariadb-git-dd2b7918cdd5e0e643cff0305542ccd4aa8f1b6b.tar.gz |
Merge with 4.0.13
Diffstat (limited to 'myisam/mi_open.c')
-rw-r--r-- | myisam/mi_open.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/myisam/mi_open.c b/myisam/mi_open.c index a1ce135f02f..6da1a0395c0 100644 --- a/myisam/mi_open.c +++ b/myisam/mi_open.c @@ -116,8 +116,10 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) errpos=1; if (my_read(kfile,(char*) share->state.header.file_version,head_length, MYF(MY_NABP))) + { + my_errno= HA_ERR_NOT_A_TABLE; goto err; - + } if (memcmp((byte*) share->state.header.file_version, (byte*) myisam_file_magic, 4)) { @@ -166,7 +168,10 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) } errpos=3; if (my_read(kfile,disk_cache,info_length,MYF(MY_NABP))) + { + my_errno=HA_ERR_CRASHED; goto err; + } len=mi_uint2korr(share->state.header.state_info_length); keys= (uint) share->state.header.keys; uniques= (uint) share->state.header.uniques; @@ -181,6 +186,12 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) } share->state_diff_length=len-MI_STATE_INFO_SIZE; + if (share->state.header.fulltext_keys) + { + /* Not supported in this version */ + my_errno= HA_ERR_UNSUPPORTED; + goto err; + } mi_state_info_read(disk_cache, &share->state); len= mi_uint2korr(share->state.header.base_info_length); if (len != MI_BASE_INFO_SIZE) |