Addshore has uploaded a new change for review.
https://gerrit.wikimedia.org/r/88053
Change subject: Add logic and tests for getRemoveIndexSql
......................................................................
Add logic and tests for getRemoveIndexSql
Change-Id: Ifbca2d9f98f73e66740e1126c76283511fdf2745
---
M src/MySQL/MySQLSchemaSqlBuilder.php
M src/SQLite/SQLiteSchemaSqlBuilder.php
M tests/phpunit/MySQL/MySQLSchemaSqlBuilderTest.php
M tests/phpunit/SQLite/SQLiteSchemaSqlBuilderTest.php
4 files changed, 22 insertions(+), 4 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseDatabase
refs/changes/53/88053/1
diff --git a/src/MySQL/MySQLSchemaSqlBuilder.php
b/src/MySQL/MySQLSchemaSqlBuilder.php
index a4f0c94..30c0ab1 100644
--- a/src/MySQL/MySQLSchemaSqlBuilder.php
+++ b/src/MySQL/MySQLSchemaSqlBuilder.php
@@ -56,7 +56,8 @@
* @return string
*/
public function getRemoveIndexSql( $tableName, $indexName ){
- //TODO
+ $tableName = $this->tableNameFormatter->formatTableName(
$tableName );
+ return "DROP INDEX {$indexName} ON {$tableName}";
}
/**
diff --git a/src/SQLite/SQLiteSchemaSqlBuilder.php
b/src/SQLite/SQLiteSchemaSqlBuilder.php
index 003091a..564b8fa 100644
--- a/src/SQLite/SQLiteSchemaSqlBuilder.php
+++ b/src/SQLite/SQLiteSchemaSqlBuilder.php
@@ -86,7 +86,8 @@
* @return string
*/
public function getRemoveIndexSql( $tableName, $indexName ){
- //TODO
+ $tableName = $this->tableNameFormatter->formatTableName(
$tableName );
+ return "DROP INDEX IF EXISTS {$tableName}.{$indexName}";
}
/**
diff --git a/tests/phpunit/MySQL/MySQLSchemaSqlBuilderTest.php
b/tests/phpunit/MySQL/MySQLSchemaSqlBuilderTest.php
index 1094833..7580d98 100644
--- a/tests/phpunit/MySQL/MySQLSchemaSqlBuilderTest.php
+++ b/tests/phpunit/MySQL/MySQLSchemaSqlBuilderTest.php
@@ -44,4 +44,10 @@
$this->assertEquals( 'ALTER TABLE tableName ADD intField INT
DEFAULT 42 NOT NULL', $sql );
}
+ public function testGetRemoveIndexSql(){
+ $instance = $this->newInstance();
+ $sql = $instance->getRemoveIndexSql( 'tableName', 'indexName' );
+ $this->assertEquals( "DROP INDEX indexName ON tableName", $sql
);
+ }
+
}
\ No newline at end of file
diff --git a/tests/phpunit/SQLite/SQLiteSchemaSqlBuilderTest.php
b/tests/phpunit/SQLite/SQLiteSchemaSqlBuilderTest.php
index 48cab7a..57d7f58 100644
--- a/tests/phpunit/SQLite/SQLiteSchemaSqlBuilderTest.php
+++ b/tests/phpunit/SQLite/SQLiteSchemaSqlBuilderTest.php
@@ -19,7 +19,7 @@
*/
class SQLiteSchemaSqlBuilderTest extends \PHPUnit_Framework_TestCase {
- private function newInstance( $existingDefinition ) {
+ private function newInstance( $existingDefinition = null ) {
$mockEscaper = $this->getMock( 'Wikibase\Database\Escaper' );
$mockEscaper->expects( $this->any() )
->method( 'getEscapedValue' )
@@ -34,7 +34,7 @@
->getMockBuilder(
'Wikibase\Database\SQLite\SQLiteTableDefinitionReader' )
->disableOriginalConstructor()
->getMock();
- $mockQueryInterface->expects( $this->atLeastOnce() )
+ $mockQueryInterface->expects( $this->any() )
->method( 'readDefinition' )
->will( $this->returnValue( $existingDefinition ) );
@@ -70,4 +70,14 @@
$this->assertEquals( 'ALTER TABLE tableName RENAME TO
tableName_tmp;CREATE TABLE tableName (primaryField INT NOT NULL, intField INT
DEFAULT 42 NOT NULL);CREATE INDEX INDEX ON tableName
(intField,primaryField);INSERT INTO tableName(primaryField, intField) SELECT
primaryField, intField FROM tableName_tmp;DROP TABLE tableName_tmp;', $sql );
}
+ public function testGetRemoveFieldSql(){
+ $this->markTestIncomplete( 'testme!' ); //TODO complete the
test!
+ }
+
+ public function testGetRemoveIndexSql(){
+ $instance = $this->newInstance( );
+ $sql = $instance->getRemoveIndexSql( 'tableName', 'textField' );
+ $this->assertEquals( "DROP INDEX IF EXISTS
tableName.textField", $sql );
+ }
+
}
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/88053
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifbca2d9f98f73e66740e1126c76283511fdf2745
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikibaseDatabase
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits