Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Specify MySQL storage engine for mfdb temp tables.

Since MySQL 5.5 changes the default storage engine to InnoDB, and since
many distros configure the InnoDB file path to refer to a directory on a
file system with barriers enabled, any temporary tables written to disk
will be written as InnoDB tables on the InnoDB file path, rather than
using MyISAM tables, which can be stored on the tmpdir.  This results in
severe performance issues when using mythfilldatabase with Schedules
Direct data.  Therefore, specify the use of MyISAM storage engine for
mythfilldatabase DataDirect temporary tables.

See, also:
https://bugs.launchpad.net/ubuntu/+source/mythtv/+bug/997367
  • Loading branch information...
commit c06b7065532362a6b8705e52d822ac9dabd4d199 1 parent c8fa24d
@sphery sphery authored
Showing with 1 addition and 1 deletion.
  1. +1 −1  mythtv/libs/libmythtv/datadirect.cpp
View
2  mythtv/libs/libmythtv/datadirect.cpp
@@ -1238,7 +1238,7 @@ void DataDirectProcessor::CreateATempTable(const QString &ptablename,
MSqlQuery query(MSqlQuery::DDCon());
QString querystr;
querystr = "CREATE TEMPORARY TABLE IF NOT EXISTS " + ptablename + " " +
- ptablestruct + ";";
+ ptablestruct + " ENGINE=MyISAM;";
if (!query.exec(querystr))
MythDB::DBError("Creating temporary table", query);

0 comments on commit c06b706

Please sign in to comment.
Something went wrong with that request. Please try again.