diff options
author | Sergei Golubchik <sergii@pisem.net> | 2010-12-27 10:53:02 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2010-12-27 10:53:02 +0100 |
commit | fda18d8fa26d10dee034756b276fe4f46f477f3a (patch) | |
tree | d0542681f79725839b61a086935a9c92a249a930 /sql/sql_table.cc | |
parent | 6c958d6e80f681c207f4298b754c8b18170d3224 (diff) | |
download | mariadb-git-fda18d8fa26d10dee034756b276fe4f46f477f3a.tar.gz |
lpbug#665028 SHOW STORAGE ENGINES shows incorrect Transaction support for Aria
don't fill in handlerton::commit member, as it's not used
and makes MySQL believe that Aria is transactional.
Fix the TRANSACTIONAL=1 warning.
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r-- | sql/sql_table.cc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index d702e83aefd..1d56fd53327 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -3929,12 +3929,16 @@ bool mysql_create_table_no_lock(THD *thd, } /* Give warnings for not supported table options */ - if (create_info->transactional && !file->ht->commit) - push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, - ER_ILLEGAL_HA_CREATE_OPTION, - ER(ER_ILLEGAL_HA_CREATE_OPTION), - file->engine_name()->str, - "TRANSACTIONAL=1"); +#if defined(WITH_ARIA_STORAGE_ENGINE) + extern handlerton *maria_hton; + if (file->ht != maria_hton) +#endif + if (create_info->transactional) + push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, + ER_ILLEGAL_HA_CREATE_OPTION, + ER(ER_ILLEGAL_HA_CREATE_OPTION), + file->engine_name()->str, + "TRANSACTIONAL=1"); VOID(pthread_mutex_lock(&LOCK_open)); if (!internal_tmp_table && !(create_info->options & HA_LEX_CREATE_TMP_TABLE)) |