From: jenkins-bot Date: Tue, 5 Nov 2013 14:18:01 +0000 (+0000) Subject: Merge "Add DROP INDEX support to DatabaseSqlite::replaceVars method" X-Git-Tag: 1.31.0-rc.0~18291 X-Git-Url: https://git.cyclocoop.org/%7B%24admin_url%7Dmembres/cotisations/gestion/rappel_modifier.php?a=commitdiff_plain;h=a443be2747d49938dd7beb2fa08d1aefcf15ed7b;hp=79e81234664731706e37444be4886f4c1ca49b68;p=lhc%2Fweb%2Fwiklou.git Merge "Add DROP INDEX support to DatabaseSqlite::replaceVars method" --- diff --git a/includes/db/DatabaseSqlite.php b/includes/db/DatabaseSqlite.php index 4a51226fb5..06dfd84595 100644 --- a/includes/db/DatabaseSqlite.php +++ b/includes/db/DatabaseSqlite.php @@ -803,6 +803,9 @@ class DatabaseSqlite extends DatabaseBase { $s = preg_replace( '/\(\d+\)/', '', $s ); // No FULLTEXT $s = preg_replace( '/\bfulltext\b/i', '', $s ); + } elseif ( preg_match( '/^\s*DROP INDEX/i', $s ) ) { + // DROP INDEX is database-wide, not table-specific, so no ON clause. + $s = preg_replace( '/\sON\s+[^\s]*/i', '', $s ); } return $s; } diff --git a/tests/phpunit/includes/db/DatabaseSqliteTest.php b/tests/phpunit/includes/db/DatabaseSqliteTest.php index 70ee9465c3..65726ebe84 100644 --- a/tests/phpunit/includes/db/DatabaseSqliteTest.php +++ b/tests/phpunit/includes/db/DatabaseSqliteTest.php @@ -149,6 +149,14 @@ class DatabaseSqliteTest extends MediaWikiTestCase { $this->assertEquals( "ALTER TABLE foo ADD COLUMN foo_bar INTEGER DEFAULT 42", $this->replaceVars( "ALTER TABLE foo\nADD COLUMN foo_bar int(10) unsigned DEFAULT 42" ) ); + + $this->assertEquals( "DROP INDEX foo", + $this->replaceVars( "DROP INDEX /*i*/foo ON /*_*/bar" ) + ); + + $this->assertEquals( "DROP INDEX foo -- dropping index", + $this->replaceVars( "DROP INDEX /*i*/foo ON /*_*/bar -- dropping index" ) + ); } /**