From d46aee702ed79cf536f9fcb1dce68db8ab8b111f Mon Sep 17 00:00:00 2001 From: Michael Widenius Date: Fri, 25 Feb 2011 17:45:53 +0200 Subject: [PATCH] Fixed compiler and build error: - Fixed main.mysqlcheck error on windows - Fixed 'can't drop database pbxt' failure when running pbxt.mysqlslap sql/table.cc: When using not legal file names for checking a non existing table, one got a warning in the log file which caused mysql.mysqlcheck to fail storage/innodb_plugin/row/row0upd.c: Fixed compiler warning storage/pbxt/src/table_xt.cc: Remove table that is dropped from 'repair-pending'. Fixed 'can't drop database pbxt' failure when running pbxt.mysqlslap --- sql/table.cc | 8 ++++++-- storage/innodb_plugin/row/row0upd.c | 2 +- storage/pbxt/src/table_xt.cc | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/sql/table.cc b/sql/table.cc index efbca69e67f..90d113bcbc5 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -2217,13 +2217,17 @@ void open_table_error(TABLE_SHARE *share, int error, int db_errno, int errarg) { int err_no; char buff[FN_REFLEN]; - myf errortype= ME_ERROR+ME_WAITTANG; + myf errortype= ME_ERROR+ME_WAITTANG; // Write fatals error to log DBUG_ENTER("open_table_error"); switch (error) { case 7: case 1: - if (db_errno == ENOENT) + /* + Test if file didn't exists. We have to also test for EINVAL as this + may happen on windows when opening a file with a not legal file name + */ + if (db_errno == ENOENT || db_errno == EINVAL) my_error(ER_NO_SUCH_TABLE, MYF(0), share->db.str, share->table_name.str); else { diff --git a/storage/innodb_plugin/row/row0upd.c b/storage/innodb_plugin/row/row0upd.c index 4aa1474a25b..e1c78949603 100644 --- a/storage/innodb_plugin/row/row0upd.c +++ b/storage/innodb_plugin/row/row0upd.c @@ -1224,7 +1224,7 @@ row_upd_changes_ord_field_binary( const upd_field_t* upd_field; const dfield_t* dfield; dfield_t dfield_ext; - ulint dfield_len; + ulint dfield_len= 0; const byte* buf; ind_field = dict_index_get_nth_field(index, i); diff --git a/storage/pbxt/src/table_xt.cc b/storage/pbxt/src/table_xt.cc index a9fec660697..30b844a9184 100644 --- a/storage/pbxt/src/table_xt.cc +++ b/storage/pbxt/src/table_xt.cc @@ -1755,6 +1755,8 @@ xtPublic void xt_drop_table(XTThreadPtr self, XTPathStrPtr tab_name, xtBool drop tab_close_mapped_files(self, tab); tab_delete_table_files(self, tab_name, tab_id); + /* Remove table from "repair-pending" */ + xt_tab_table_repaired(tab); ASSERT(xt_get_self() == self); if ((te_ptr = (XTTableEntryPtr) xt_sl_find(self, db->db_table_by_id, &tab_id))) {