summaryrefslogtreecommitdiff
path: root/sql/handler.cc
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-05-13 11:15:11 +0300
committerunknown <monty@mashka.mysql.fi>2003-05-13 11:15:11 +0300
commit9f22d16669969dbbba5e9b1198e1623ef02c0289 (patch)
tree69892a7f220c327725015304f7314967001536d6 /sql/handler.cc
parent1785df1e98c175de94ea94cf6d40d0b4e140f122 (diff)
downloadmariadb-git-9f22d16669969dbbba5e9b1198e1623ef02c0289.tar.gz
Give warning if MySQL doesn't honor given storage engine
Allow syntax CREATE TABLE t1 (LIKE t2) BUILD/compile-pentium-debug-max: Disable isam BUILD/compile-pentium-valgrind-max: Disable isam include/mysqld_error.h: New error mysql-test/r/bdb.result: new error message mysql-test/r/innodb.result: new error message mysql-test/r/subselect.result: New test mysql-test/r/variables.result: New test mysql-test/r/warnings.result: Test of warning if MySQL creates table with another handler than specified mysql-test/t/innodb.test: Added test case for derivied tables mysql-test/t/subselect.test: New test mysql-test/t/variables-master.opt: Fixed wrong parameter mysql-test/t/warnings.test: Test if creating handler of not existing table type sql/ha_isam.cc: Added option --skip-isam sql/ha_isam.h: Added option --skip-isam sql/handler.cc: Added option --skip-isam sql/item.cc: Deleted probably wrong bug fix sql/mysqld.cc: Added option --skip-isam sql/share/czech/errmsg.txt: Added missing ',' sql/share/danish/errmsg.txt: Added missing ',' sql/share/dutch/errmsg.txt: Added missing ',' sql/share/english/errmsg.txt: Added missing ',' changed table handler -> storage engine sql/share/estonian/errmsg.txt: Added missing ',' sql/share/french/errmsg.txt: Added missing ',' sql/share/german/errmsg.txt: Added missing ',' sql/share/greek/errmsg.txt: Added missing ',' sql/share/hungarian/errmsg.txt: Added missing ',' sql/share/italian/errmsg.txt: Added missing ',' sql/share/japanese/errmsg.txt: Added missing ',' sql/share/korean/errmsg.txt: Added missing ',' sql/share/norwegian-ny/errmsg.txt: Added missing ',' sql/share/norwegian/errmsg.txt: Added missing ',' sql/share/polish/errmsg.txt: Added missing ',' sql/share/portuguese/errmsg.txt: Added missing ',' sql/share/romanian/errmsg.txt: Added missing ',' sql/share/russian/errmsg.txt: Added missing ',' sql/share/serbian/errmsg.txt: Added missing ',' sql/share/slovak/errmsg.txt: Added missing ',' sql/share/spanish/errmsg.txt: Added missing ',' sql/share/swedish/errmsg.txt: Added missing ',' sql/share/ukrainian/errmsg.txt: Added missing ',' sql/sql_acl.cc: Fix bug in access checking of derived tables sql/sql_base.cc: Indentation change sql/sql_parse.cc: Fix bug in access checking of derived tables sql/sql_select.cc: Fixed bug in new sub select optimization sql/sql_table.cc: Give warning if MySQL doesn't honor given storage engine sql/sql_yacc.yy: Allow syntax CREATE TABLE t1 (LIKE t2).
Diffstat (limited to 'sql/handler.cc')
-rw-r--r--sql/handler.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/sql/handler.cc b/sql/handler.cc
index e4317506ed7..f2b7dbdf531 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -88,7 +88,12 @@ enum db_type ha_checktype(enum db_type database_type)
#endif
#ifdef HAVE_ISAM
case DB_TYPE_ISAM:
+ return (isam_skip ? DB_TYPE_MYISAM : database_type);
case DB_TYPE_MRG_ISAM:
+ return (isam_skip ? DB_TYPE_MRG_MYISAM : database_type);
+#else
+ case DB_TYPE_MRG_ISAM:
+ return (DB_TYPE_MRG_MYISAM);
#endif
case DB_TYPE_HEAP:
case DB_TYPE_MYISAM:
@@ -112,6 +117,9 @@ handler *get_new_handler(TABLE *table, enum db_type db_type)
return new ha_isammrg(table);
case DB_TYPE_ISAM:
return new ha_isam(table);
+#else
+ case DB_TYPE_MRG_ISAM:
+ return new ha_myisammrg(table);
#endif
#ifdef HAVE_BERKELEY_DB
case DB_TYPE_BERKELEY_DB: