summaryrefslogtreecommitdiff
path: root/sql/sql_table.cc
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2010-12-27 10:53:02 +0100
committerSergei Golubchik <sergii@pisem.net>2010-12-27 10:53:02 +0100
commitfda18d8fa26d10dee034756b276fe4f46f477f3a (patch)
treed0542681f79725839b61a086935a9c92a249a930 /sql/sql_table.cc
parent6c958d6e80f681c207f4298b754c8b18170d3224 (diff)
downloadmariadb-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.cc16
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))