summaryrefslogtreecommitdiff
path: root/myisam
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.com>2000-09-16 19:06:21 +0300
committerunknown <monty@donna.mysql.com>2000-09-16 19:06:21 +0300
commit5a4aa474d879ac9598941665bef6f0938efc91e1 (patch)
tree38f12ed194dbac086831cd3d00180599d1df8444 /myisam
parent8c6b365e7d8f19985e4732024524ac666f0c596c (diff)
downloadmariadb-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.c7
-rw-r--r--myisam/mi_static.c3
-rw-r--r--myisam/myisamdef.h2
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);