List:Commits« Previous MessageNext Message »
From:Sergey Vojtovich Date:December 29 2008 11:31am
Subject:bzr push into mysql-6.0-falcon-team branch (svoj:2953 to 2954)
Bug#41548
View as plain text  
 2954 Sergey Vojtovich	2008-12-29
      BUG#41548 - ALTER TABLESPACE does not work.
      
      Vague error message was returned when an engine doesn't
      support some specific tablespace command.
added:
  mysql-test/suite/falcon/r/falcon_bug_41548.result
  mysql-test/suite/falcon/t/falcon_bug_41548.test
modified:
  sql/share/errmsg.txt
  sql/sql_tablespace.cc

 2953 Hakan Kuecuekyilmaz	2008-12-25 [merge]
      Merged:
      mysql-6.0 --> mysql-6.0-falcon --> mysql-6.0-falcon-team.
      
      bzr commit -mMerged:
modified:
  configure.in
  mysql-test/suite/maria/t/maria-lock.test
  sql/sql_base.cc
  storage/falcon/StorageVersion.h

=== added file 'mysql-test/suite/falcon/r/falcon_bug_41548.result'
--- a/mysql-test/suite/falcon/r/falcon_bug_41548.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_41548.result	2008-12-29 09:57:26 +0000
@@ -0,0 +1,14 @@
+*** Bug #41548 ***
+SET @@storage_engine = 'Falcon';
+ALTER TABLESPACE ts1 ADD DATAFILE 'test.txt' ENGINE=Falcon;
+ERROR HY000: Falcon doesn't support ALTER TABLESPACE
+CREATE LOGFILE GROUP lg1 ADD UNDOFILE 'test.txt' ENGINE=Falcon;
+ERROR HY000: Falcon doesn't support CREATE LOGFILE GROUP
+ALTER LOGFILE GROUP lg1 ADD UNDOFILE 'test.txt' ENGINE=Falcon;
+ERROR HY000: Falcon doesn't support ALTER LOGFILE GROUP
+DROP LOGFILE GROUP lg1 ENGINE=Falcon;
+ERROR HY000: Falcon doesn't support DROP LOGFILE GROUP
+ALTER TABLESPACE ts1 CHANGE DATAFILE 'test.txt' INITIAL_SIZE=1;
+ERROR HY000: Falcon doesn't support CHANGE FILE TABLESPACE
+ALTER TABLESPACE ts1 READ_ONLY;
+ERROR HY000: Falcon doesn't support ALTER ACCESS MODE TABLESPACE

=== added file 'mysql-test/suite/falcon/t/falcon_bug_41548.test'
--- a/mysql-test/suite/falcon/t/falcon_bug_41548.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_41548.test	2008-12-29 09:57:26 +0000
@@ -0,0 +1,37 @@
+--source include/have_falcon.inc
+
+#
+# Bug #41548: ALTER TABLESPACE does not work.
+#
+--echo *** Bug #41548 ***
+
+# ----------------------------------------------------- #
+# --- Initialisation                                --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
+
+# ----------------------------------------------------- #
+# --- Test                                          --- #
+# ----------------------------------------------------- #
+--error ER_COM_UNSUPPORTED
+ALTER TABLESPACE ts1 ADD DATAFILE 'test.txt' ENGINE=Falcon;
+--error ER_COM_UNSUPPORTED
+CREATE LOGFILE GROUP lg1 ADD UNDOFILE 'test.txt' ENGINE=Falcon;
+--error ER_COM_UNSUPPORTED
+ALTER LOGFILE GROUP lg1 ADD UNDOFILE 'test.txt' ENGINE=Falcon;
+--error ER_COM_UNSUPPORTED
+DROP LOGFILE GROUP lg1 ENGINE=Falcon;
+--error ER_COM_UNSUPPORTED
+ALTER TABLESPACE ts1 CHANGE DATAFILE 'test.txt' INITIAL_SIZE=1;
+--error ER_COM_UNSUPPORTED
+ALTER TABLESPACE ts1 READ_ONLY;
+
+
+# ----------------------------------------------------- #
+# --- Check                                         --- #
+# ----------------------------------------------------- #
+
+# ----------------------------------------------------- #
+# --- Final cleanup                                 --- #
+# ----------------------------------------------------- #

=== modified file 'sql/share/errmsg.txt'
--- a/sql/share/errmsg.txt	2008-12-14 11:36:15 +0000
+++ b/sql/share/errmsg.txt	2008-12-29 09:57:26 +0000
@@ -6450,3 +6450,5 @@ ER_BACKUP_RESTORE_DBS
 
 ER_WARN_ENGINE_TRANSACTION_ROLLBACK
   eng "Storage engine %s does not support rollback for this statement. Transaction rolled
back and must be restarted"
+ER_COM_UNSUPPORTED
+        eng "%s doesn't support %s"

=== modified file 'sql/sql_tablespace.cc'
--- a/sql/sql_tablespace.cc	2008-07-14 12:49:19 +0000
+++ b/sql/sql_tablespace.cc	2008-12-29 09:57:26 +0000
@@ -17,6 +17,29 @@
 
 #include "mysql_priv.h"
 
+
+static const char *str_ts_command_type[]=
+{
+  "UNKNOWN",
+  "CREATE TABLESPACE",
+  "ALTER TABLESPACE",
+  "CREATE LOGFILE GROUP",
+  "ALTER LOGFILE GROUP",
+  "DROP TABLESPACE",
+  "DROP LOGFILE GROUP",
+  "CHANGE FILE TABLESPACE",
+  "ALTER ACCESS MODE TABLESPACE"
+};
+
+
+static const char* get_str_ts_command_type(enum ts_command_type ts_cmd_type)
+{
+  if (ts_cmd_type < -1 || ts_cmd_type > 7)
+    ts_cmd_type= TS_CMD_NOT_DEFINED;
+  return str_ts_command_type[ts_cmd_type + 1];
+}
+
+
 int mysql_alter_tablespace(THD *thd, st_alter_tablespace *ts_info)
 {
   int error= HA_ADMIN_NOT_IMPLEMENTED;
@@ -47,8 +70,8 @@ int mysql_alter_tablespace(THD *thd, st_
         case 1:
           DBUG_RETURN(1);
         case HA_ADMIN_NOT_IMPLEMENTED:
-
-          my_error(ER_CHECK_NOT_IMPLEMENTED, MYF(0), "");
+          my_error(ER_COM_UNSUPPORTED, MYF(0), hton_name(hton)->str,
+                   get_str_ts_command_type(ts_info->ts_cmd_type));
           break;
         case HA_ERR_TABLESPACE_EXIST:
           my_error(ER_TABLESPACE_EXIST, MYF(0), ts_info->tablespace_name);

Thread
bzr push into mysql-6.0-falcon-team branch (svoj:2953 to 2954)Bug#41548Sergey Vojtovich29 Dec