summaryrefslogtreecommitdiff
path: root/storage/myisam
diff options
context:
space:
mode:
authorSergey Vojtovich <svoj@mariadb.org>2015-12-10 15:32:07 +0400
committerSergey Vojtovich <svoj@mariadb.org>2015-12-11 11:42:04 +0400
commitd09c60cff9027f45ea526cf755305c3d9a9079c2 (patch)
tree31db3874c1c3c86aa0a5bb2456edebbbb5fc3b19 /storage/myisam
parent537c750e328cd080365e465acd4f0383bf0febf3 (diff)
downloadmariadb-git-d09c60cff9027f45ea526cf755305c3d9a9079c2.tar.gz
MDEV-8571 - After mysqloptimize sometimes one of the tables is marked as crashed
OPTIMIZE TABLE against MyISAM/Aria table may fail and leave stale temporary file if mysql_file_create() returns 0 file descriptor. This was due to wrong condition, which considered 0 as failure. 5.5 doesn't have fix for MDEV-5679, thus 0 file descriptor is always occupied by stdin and this bug is not reproducible. 10.1 has fix for MDEV-8475, which hides this bug. No test case since it mostly depends on how OS returns file descriptors.
Diffstat (limited to 'storage/myisam')
-rw-r--r--storage/myisam/mi_check.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/storage/myisam/mi_check.c b/storage/myisam/mi_check.c
index 178fff6a204..ec72e0b430a 100644
--- a/storage/myisam/mi_check.c
+++ b/storage/myisam/mi_check.c
@@ -1930,7 +1930,7 @@ int mi_sort_index(HA_CHECK *param, register MI_INFO *info, char * name)
fn_format(param->temp_filename,
param->temp_filename,
"", INDEX_TMP_EXT, 2+4),
- 0, param->tmpfile_createflag, MYF(0))) <= 0)
+ 0, param->tmpfile_createflag, MYF(0))) < 0)
{
mi_check_print_error(param,"Can't create new tempfile: '%s'",
param->temp_filename);