summaryrefslogtreecommitdiff
path: root/myisam/mi_extra.c
diff options
context:
space:
mode:
authormonty@hundin.mysql.fi <>2001-08-19 14:43:51 +0300
committermonty@hundin.mysql.fi <>2001-08-19 14:43:51 +0300
commita1be2a894f339f7b14a6b654c961d77ba13298d4 (patch)
treee2a8b10d8dae9fee5283beb230210199e135ef74 /myisam/mi_extra.c
parent1e1a1ec064de1f6ddbd0ae433b83d7c8647557a3 (diff)
downloadmariadb-git-a1be2a894f339f7b14a6b654c961d77ba13298d4.tar.gz
Fix of UNION code
Added heap_delete_table Added HA_EXTRA_PREPARE_FOR_DELETE Added and use my_dup() for faster open of tables. Removed not working no-mix-table-type
Diffstat (limited to 'myisam/mi_extra.c')
-rw-r--r--myisam/mi_extra.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/myisam/mi_extra.c b/myisam/mi_extra.c
index d7f3e4dc04a..eb7285491ed 100644
--- a/myisam/mi_extra.c
+++ b/myisam/mi_extra.c
@@ -245,12 +245,15 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function)
}
break;
case HA_EXTRA_FORCE_REOPEN:
+ case HA_EXTRA_PREPARE_FOR_DELETE:
pthread_mutex_lock(&THR_LOCK_myisam);
share->last_version= 0L; /* Impossible version */
#ifdef __WIN__
/* Close the isam and data files as Win32 can't drop an open table */
pthread_mutex_lock(&share->intern_lock);
- if (flush_key_blocks(share->kfile,FLUSH_RELEASE))
+ if (flush_key_blocks(share->kfile,
+ (function == HA_EXTRA_FORCE_REOPEN ?
+ FLUSH_RELEASE : FLUSH_IGNORE_CHANGED)))
{
error=my_errno;
share->changed=1;