diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-04-25 16:57:19 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-04-25 16:57:19 +0000 |
commit | 2671e98daa4ad2ec590a3e0fd30c0bb053dabd3f (patch) | |
tree | 9f59ca3307fe028f1a1b12d4f854c2510db99385 | |
parent | 96ca81fb00b58fc17ac72a909ea666d8b8bc96e9 (diff) | |
download | brdo-2671e98daa4ad2ec590a3e0fd30c0bb053dabd3f.tar.gz brdo-2671e98daa4ad2ec590a3e0fd30c0bb053dabd3f.tar.bz2 |
#301362 by moshe weitzman, David Strauss, Narayan Newton, and chx: Default to InnoDB in MySQL.
-rw-r--r-- | CHANGELOG.txt | 2 | ||||
-rw-r--r-- | INSTALL.mysql.txt | 3 | ||||
-rw-r--r-- | includes/database/mysql/schema.inc | 10 |
3 files changed, 11 insertions, 4 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 2ceca79e0..0edb48226 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -8,6 +8,8 @@ Drupal 7.0, xxxx-xx-xx (development version) * Support for master/slave replication, transactions, multi-insert queries, delayed inserts, and other features. * Added support for the SQLite database engine. + * Default to InnoDB engine, rather than MyISAM, on MySQL when available. + This offers increased scalability and data integrity. - Security: * Protected cron.php -- cron will only run if the proper key is provided. * Implemented much stronger password hashes that are also compatible with the diff --git a/INSTALL.mysql.txt b/INSTALL.mysql.txt index ae50ebb40..a5490a5af 100644 --- a/INSTALL.mysql.txt +++ b/INSTALL.mysql.txt @@ -38,3 +38,6 @@ If successful, MySQL will reply with: Query OK, 0 rows affected +If the InnoDB storage engine is available, it will be used for all database +tables. InnoDB provides features over MyISAM such as transaction support, +row-level locks, and consistent non-locking reads. diff --git a/includes/database/mysql/schema.inc b/includes/database/mysql/schema.inc index aa0905a35..ff380ba9d 100644 --- a/includes/database/mysql/schema.inc +++ b/includes/database/mysql/schema.inc @@ -59,9 +59,11 @@ class DatabaseSchema_mysql extends DatabaseSchema { * An array of SQL statements to create the table. */ protected function createTableSql($name, $table) { - if (empty($table['mysql_suffix'])) { - $table['mysql_suffix'] = 'DEFAULT CHARACTER SET UTF8'; - } + // Provide some defaults if needed + $table += array( + 'mysql_engine' => 'InnoDB', + 'mysql_character_set' => 'UTF8', + ); $sql = "CREATE TABLE {" . $name . "} (\n"; @@ -79,7 +81,7 @@ class DatabaseSchema_mysql extends DatabaseSchema { // Remove the last comma and space. $sql = substr($sql, 0, -3) . "\n) "; - $sql .= $table['mysql_suffix']; + $sql .= 'ENGINE = ' . $table['mysql_engine'] . ' DEFAULT CHARACTER SET ' . $table['mysql_character_set']; // Add table comment. if (!empty($table['description'])) { |