diff options
author | unknown <monty@donna.mysql.com> | 2000-09-16 19:06:21 +0300 |
---|---|---|
committer | unknown <monty@donna.mysql.com> | 2000-09-16 19:06:21 +0300 |
commit | 5a4aa474d879ac9598941665bef6f0938efc91e1 (patch) | |
tree | 38f12ed194dbac086831cd3d00180599d1df8444 /myisam | |
parent | 8c6b365e7d8f19985e4732024524ac666f0c596c (diff) | |
download | mariadb-git-5a4aa474d879ac9598941665bef6f0938efc91e1.tar.gz |
Fix that REPAIR/ALTER TABLE use myisam_tempdir
include/myisam.h:
Don't assume too big tempoary disks
myisam/mi_check.c:
Don't assume too big tempoary disks
myisam/mi_static.c:
Don't assume too big tempoary disks
myisam/myisamdef.h:
Fix type
sql/ha_myisam.cc:
Set myisamchk to use MySQL temporary disk space
sql/slave.cc:
Fix parameters
sql/sql_lex.h:
Added backup_dir
Diffstat (limited to 'myisam')
-rw-r--r-- | myisam/mi_check.c | 7 | ||||
-rw-r--r-- | myisam/mi_static.c | 3 | ||||
-rw-r--r-- | myisam/myisamdef.h | 2 |
3 files changed, 8 insertions, 4 deletions
diff --git a/myisam/mi_check.c b/myisam/mi_check.c index ab3d986980c..c556c816590 100644 --- a/myisam/mi_check.c +++ b/myisam/mi_check.c @@ -2981,14 +2981,15 @@ ha_checksum mi_byte_checksum(const byte *buf, uint length) static my_bool mi_too_big_key_for_sort(MI_KEYDEF *key, ha_rows rows) { return (key->flag & (HA_BINARY_PACK_KEY | HA_VAR_LENGTH_KEY | HA_FULLTEXT) && - ((ulonglong) rows * key->maxlength > MAX_FILE_SIZE || + ((ulonglong) rows * key->maxlength > + (ulonglong) myisam_max_temp_length || (ulonglong) rows * (key->maxlength - key->minlength) / 2 > - MI_MAX_TEMP_LENGTH || + myisam_max_extra_temp_length || (rows == 0 && (key->maxlength / key->minlength) > 2))); } -void mi_dectivate_non_unique_index(MI_INFO *info, ha_rows rows) +void mi_disable_non_unique_index(MI_INFO *info, ha_rows rows) { MYISAM_SHARE *share=info->s; uint i; diff --git a/myisam/mi_static.c b/myisam/mi_static.c index 035526f525d..f790f90ca78 100644 --- a/myisam/mi_static.c +++ b/myisam/mi_static.c @@ -38,6 +38,9 @@ my_bool myisam_concurrent_insert=1; #else my_bool myisam_concurrent_insert=0; #endif +my_off_t myisam_max_extra_temp_length= MI_MAX_TEMP_LENGTH; +my_off_t myisam_max_temp_length= MAX_FILE_SIZE; + /* read_vec[] is used for converting between P_READ_KEY.. and SEARCH_ */ /* Position is , == , >= , <= , > , < */ diff --git a/myisam/myisamdef.h b/myisam/myisamdef.h index cd1eaa76ce1..92d48e56786 100644 --- a/myisam/myisamdef.h +++ b/myisam/myisamdef.h @@ -618,7 +618,7 @@ void mi_get_status(void* param); void mi_update_status(void* param); void mi_copy_status(void* to,void *from); my_bool mi_check_status(void* param); -void mi_dectivate_non_unique_index(MI_INFO *info, ha_rows rows); +void mi_disable_non_unique_index(MI_INFO *info, ha_rows rows); int _mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, enum ha_rkey_function search_flag, bool raw_key); |