summaryrefslogtreecommitdiff
path: root/storage/csv
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-05-19 08:53:58 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2017-05-19 12:29:37 +0300
commit13a350ac29eeb43153c7bca65b73b5dfa9f8ffb5 (patch)
treeb13da72226623745f0607609e2bb3dcaac4a11c6 /storage/csv
parentd0eb4ee96b32caec1d6bba6dc376016b2bf2ac0f (diff)
parent54bb04f7efc1d0842b3d8befb670f5d9f05cb211 (diff)
downloadmariadb-git-13a350ac29eeb43153c7bca65b73b5dfa9f8ffb5.tar.gz
Merge 10.0 into 10.1
Diffstat (limited to 'storage/csv')
-rw-r--r--storage/csv/ha_tina.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/storage/csv/ha_tina.cc b/storage/csv/ha_tina.cc
index 308e6f12d73..16706ad73c0 100644
--- a/storage/csv/ha_tina.cc
+++ b/storage/csv/ha_tina.cc
@@ -300,7 +300,7 @@ static int read_meta_file(File meta_file, ha_rows *rows)
mysql_file_seek(meta_file, 0, MY_SEEK_SET, MYF(0));
if (mysql_file_read(meta_file, (uchar*)meta_buffer, META_BUFFER_SIZE, 0)
!= META_BUFFER_SIZE)
- DBUG_RETURN(HA_ERR_CRASHED_ON_USAGE);
+ DBUG_RETURN(my_errno= HA_ERR_CRASHED_ON_USAGE);
/*
Parse out the meta data, we ignore version at the moment
@@ -429,10 +429,13 @@ static int free_share(TINA_SHARE *share)
int result_code= 0;
if (!--share->use_count){
/* Write the meta file. Mark it as crashed if needed. */
- (void)write_meta_file(share->meta_file, share->rows_recorded,
- share->crashed ? TRUE :FALSE);
- if (mysql_file_close(share->meta_file, MYF(0)))
- result_code= 1;
+ if (share->meta_file != -1)
+ {
+ (void)write_meta_file(share->meta_file, share->rows_recorded,
+ share->crashed ? TRUE :FALSE);
+ if (mysql_file_close(share->meta_file, MYF(0)))
+ result_code= 1;
+ }
if (share->tina_write_opened)
{
if (mysql_file_close(share->tina_write_filedes, MYF(0)))
@@ -954,7 +957,7 @@ int ha_tina::open(const char *name, int mode, uint open_options)
if (share->crashed && !(open_options & HA_OPEN_FOR_REPAIR))
{
free_share(share);
- DBUG_RETURN(HA_ERR_CRASHED_ON_USAGE);
+ DBUG_RETURN(my_errno ? my_errno : HA_ERR_CRASHED_ON_USAGE);
}
local_data_file_version= share->data_file_version;