diff --git a/config.h.cmake b/config.h.cmake index 529e1c7ad1d..d03ad91189c 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -589,6 +589,8 @@ #cmakedefine WITH_MYISAM_STORAGE_ENGINE 1 #cmakedefine WITH_MYISAMMRG_STORAGE_ENGINE 1 #cmakedefine WITH_HEAP_STORAGE_ENGINE 1 +#cmakedefine WITH_INNOBASE_STORAGE_ENGINE 1 +#cmakedefine WITH_XTRADB_STORAGE_ENGINE 1 #cmakedefine WITH_CSV_STORAGE_ENGINE 1 #cmakedefine WITH_PARTITION_STORAGE_ENGINE 1 #cmakedefine WITH_PERFSCHEMA_STORAGE_ENGINE 1 diff --git a/mysql-test/include/default_mysqld.cnf b/mysql-test/include/default_mysqld.cnf index 18d7e11ee43..66ff188fe55 100644 --- a/mysql-test/include/default_mysqld.cnf +++ b/mysql-test/include/default_mysqld.cnf @@ -60,6 +60,8 @@ loose-performance-schema-max-table-handles=1000 binlog-direct-non-transactional-updates +default-storage-engine=myisam + # here, at the end of [mysqld] group mtr will automatically disable # all optional plugins. diff --git a/mysql-test/r/default_storage_engine.result b/mysql-test/r/default_storage_engine.result new file mode 100644 index 00000000000..da3350c6eaf --- /dev/null +++ b/mysql-test/r/default_storage_engine.result @@ -0,0 +1 @@ +"all ok" diff --git a/mysql-test/t/default_storage_engine.test b/mysql-test/t/default_storage_engine.test new file mode 100644 index 00000000000..4ecfc3b8d44 --- /dev/null +++ b/mysql-test/t/default_storage_engine.test @@ -0,0 +1,16 @@ +if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'innodb' AND PLUGIN_LIBRARY IS NULL`) +{ + --skip Requires built-in InnoDB. +} + +let $cmd=`select replace("$MYSQLD_BOOTSTRAP_CMD", " --default-storage-engine=myisam", "")`; + +# +# Now it *must* fail, because if InnoDB is compiled in, it is used as a default +# storage engine. but $MYSQLD_BOOTSTRAP_CMD includes --skip-innodb +# +error 1; +exec $cmd; + +echo "all ok"; # to not have zero-length result file + diff --git a/sql/mysqld.cc b/sql/mysqld.cc index f16a3785756..776a5a99dae 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -3491,10 +3491,10 @@ static int init_common_variables() (except in the embedded server, where the default continues to be MyISAM) */ -#ifndef WITH_INNOBASE_STORAGE_ENGINE - default_storage_engine= const_cast("MyISAM"); -#else +#if defined(WITH_INNOBASE_STORAGE_ENGINE) || defined(WITH_XTRADB_STORAGE_ENGINE) default_storage_engine= const_cast("InnoDB"); +#else + default_storage_engine= const_cast("MyISAM"); #endif /*