diff options
Diffstat (limited to 'storage/archive/ha_archive.cc')
-rw-r--r-- | storage/archive/ha_archive.cc | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/storage/archive/ha_archive.cc b/storage/archive/ha_archive.cc index 9d7f7e66b28..5cc878388ca 100644 --- a/storage/archive/ha_archive.cc +++ b/storage/archive/ha_archive.cc @@ -802,7 +802,7 @@ int ha_archive::create(const char *name, TABLE *table_arg, #endif /* HAVE_READLINK */ { if (create_info->data_file_name) - my_error(WARN_OPTION_IGNORED, MYF(ME_JUST_WARNING), "DATA DIRECTORY"); + my_error(WARN_OPTION_IGNORED, MYF(ME_WARNING), "DATA DIRECTORY"); fn_format(name_buff, name, "", ARZ, MY_REPLACE_EXT | MY_UNPACK_FILENAME); @@ -811,7 +811,7 @@ int ha_archive::create(const char *name, TABLE *table_arg, /* Archive engine never uses INDEX DIRECTORY. */ if (create_info->index_file_name) - my_error(WARN_OPTION_IGNORED, MYF(ME_JUST_WARNING), "INDEX DIRECTORY"); + my_error(WARN_OPTION_IGNORED, MYF(ME_WARNING), "INDEX DIRECTORY"); /* There is a chance that the file was "discovered". In this case @@ -980,7 +980,7 @@ int ha_archive::write_row(uchar *buf) if (table->next_number_field && record == table->record[0]) { - KEY *mkey= &table->s->key_info[0]; // We only support one key right now + KEY *mkey= &table->key_info[0]; // We only support one key right now update_auto_increment(); temp_auto= table->next_number_field->val_int(); @@ -1098,7 +1098,7 @@ int ha_archive::index_read_idx(uchar *buf, uint index, const uchar *key, { int rc; bool found= 0; - KEY *mkey= &table->s->key_info[index]; + KEY *mkey= &table->key_info[index]; current_k_offset= mkey->key_part->offset; current_key= key; current_key_len= key_len; @@ -1753,6 +1753,20 @@ void ha_archive::flush_and_clear_pending_writes() } +int ha_archive::extra(enum ha_extra_function operation) +{ + switch (operation) { + case HA_EXTRA_FLUSH: + mysql_mutex_lock(&share->mutex); + share->close_archive_writer(); + mysql_mutex_unlock(&share->mutex); + break; + default: + break; + } + return 0; +} + /* This method tells us that a bulk insert operation is about to occur. We set a flag which will keep write_row from saying that its data is dirty. This in |