diff options
author | svoj@mysql.com/april.(none) <> | 2006-09-20 01:40:59 +0500 |
---|---|---|
committer | svoj@mysql.com/april.(none) <> | 2006-09-20 01:40:59 +0500 |
commit | c0ebc0fb2ab02470c9e715386e3dd32db8c33114 (patch) | |
tree | dd33b5bc922fdbbd7b0aba0317f1fa251a8787e2 /sql/table.cc | |
parent | 43097593e36c32bc5eac2befb0a9133194feb882 (diff) | |
download | mariadb-git-c0ebc0fb2ab02470c9e715386e3dd32db8c33114.tar.gz |
BUG#10974 - No error message if merge table based on union of innodb, memory
Fixed confusing error message from the storage engine when
it fails to open underlying table. The error message is issued
when a table is _opened_ (not when it is created).
Diffstat (limited to 'sql/table.cc')
-rw-r--r-- | sql/table.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/table.cc b/sql/table.cc index 7587531b2f9..7680c1ff7c0 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -77,6 +77,7 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag, my_string record; const char **int_array; bool use_hash, null_field_first; + bool error_reported= FALSE; File file; Field **field_ptr,*reg_field; KEY *keyinfo; @@ -791,6 +792,11 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag, error= 1; my_errno= ENOENT; } + else + { + outparam->file->print_error(err, MYF(0)); + error_reported= TRUE; + } goto err_not_open; /* purecov: inspected */ } } @@ -812,7 +818,8 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag, err_end: /* Here when no file */ delete crypted; *root_ptr= old_root; - frm_error(error, outparam, name, ME_ERROR + ME_WAITTANG, errarg); + if (!error_reported) + frm_error(error, outparam, name, ME_ERROR + ME_WAITTANG, errarg); delete outparam->file; outparam->file=0; // For easyer errorchecking outparam->db_stat=0; |