summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwebchick <webchick@24967.no-reply.drupal.org>2012-04-28 23:22:30 -0700
committerwebchick <webchick@24967.no-reply.drupal.org>2012-04-28 23:22:30 -0700
commit0d41f5d9deb6a7e4b51f0ed16909955477546302 (patch)
tree1990a3d816013e0b37998a35129047c5d12713a5
parent9afbc13d6bb62ee93e4ceabc6d9e22b61dcd7e91 (diff)
downloadbrdo-0d41f5d9deb6a7e4b51f0ed16909955477546302.tar.gz
brdo-0d41f5d9deb6a7e4b51f0ed16909955477546302.tar.bz2
Issue #1348758 by drewish, tim.plunkett: Fixed Add an index to {users}.picture so user_file_delete() isn't insanely slow.
-rw-r--r--modules/simpletest/simpletest.info1
-rw-r--r--modules/simpletest/tests/upgrade/update.user.test35
-rw-r--r--modules/user/user.install19
3 files changed, 55 insertions, 0 deletions
diff --git a/modules/simpletest/simpletest.info b/modules/simpletest/simpletest.info
index f41080a98..b0bf9b228 100644
--- a/modules/simpletest/simpletest.info
+++ b/modules/simpletest/simpletest.info
@@ -51,4 +51,5 @@ files[] = tests/upgrade/upgrade.trigger.test
files[] = tests/upgrade/upgrade.translatable.test
files[] = tests/upgrade/update.trigger.test
files[] = tests/upgrade/upgrade.upload.test
+files[] = tests/upgrade/update.user.test
files[] = tests/upgrade/upgrade.user.test
diff --git a/modules/simpletest/tests/upgrade/update.user.test b/modules/simpletest/tests/upgrade/update.user.test
new file mode 100644
index 000000000..4993139a4
--- /dev/null
+++ b/modules/simpletest/tests/upgrade/update.user.test
@@ -0,0 +1,35 @@
+<?php
+
+/**
+ * @file
+ * Provides update path tests for the User module.
+ */
+
+/**
+ * Tests the User 7.0 -> 7.x update path.
+ */
+class UserUpdatePathTestCase extends UpdatePathTestCase {
+ public static function getInfo() {
+ return array(
+ 'name' => 'User update path',
+ 'description' => 'User update path tests.',
+ 'group' => 'Upgrade path',
+ );
+ }
+
+ public function setUp() {
+ // Use the filled update path and our field data.
+ $this->databaseDumpFiles = array(
+ drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-7.filled.standard_all.database.php.gz',
+ );
+ parent::setUp();
+ }
+
+ /**
+ * Tests that the update is successful.
+ */
+ public function testFilledUpgrade() {
+ $this->assertTrue($this->performUpgrade(), t('The update was completed successfully.'));
+ $this->assertTrue(db_index_exists('users', 'picture'), 'The {users}.picture column has an index.');
+ }
+}
diff --git a/modules/user/user.install b/modules/user/user.install
index 852279683..e46f29d8e 100644
--- a/modules/user/user.install
+++ b/modules/user/user.install
@@ -236,6 +236,7 @@ function user_schema() {
'access' => array('access'),
'created' => array('created'),
'mail' => array('mail'),
+ 'picture' => array('picture'),
),
'unique keys' => array(
'name' => array('name'),
@@ -892,3 +893,21 @@ function user_update_7017() {
/**
* @} End of "addtogroup updates-6.x-to-7.x"
*/
+
+/**
+ * @addtogroup updates-7.x-extra
+ * @{
+ */
+
+/**
+ * Ensure there is an index on {users}.picture.
+ */
+function user_update_7018() {
+ if (!db_index_exists('users', 'picture')) {
+ db_add_index('users', 'picture', array('picture'));
+ }
+}
+
+/**
+ * @} End of "addtogroup updates-7.x-extra"
+ */