Commit a029d10f authored by Steve Müller's avatar Steve Müller Committed by Marco Pivetta

fix list foreign keys SQL database parameter evaluation

parent 4bca2264
......@@ -194,10 +194,7 @@ class MySqlPlatform extends AbstractPlatform
" c.constraint_name = k.constraint_name AND ".
" c.table_name = $table */ WHERE k.table_name = $table";
// @TODO: This needs fixing. The condition has to be inverted.
// When fixed, AbstractMySQLPlatformTestCase::testQuotesDatabaseNameInListTableForeignKeysSQL test
// has to be completed.
$databaseNameSql = null === $database ? $database : 'DATABASE()';
$databaseNameSql = null === $database ? 'DATABASE()' : "'$database'";
$sql .= " AND k.table_schema = $databaseNameSql /*!50116 AND c.constraint_schema = $databaseNameSql */";
$sql .= " AND k.`REFERENCED_COLUMN_NAME` is not NULL";
......
......@@ -415,7 +415,7 @@ abstract class AbstractMySQLPlatformTestCase extends AbstractPlatformTestCase
$sql = $this->_platform->getAlterTableSQL($diff);
$this->assertEquals(array(
"ALTER TABLE mytable DROP PRIMARY KEY",
"ALTER TABLE mytable DROP PRIMARY KEY",
"ALTER TABLE mytable ADD PRIMARY KEY (foo)",
), $sql);
}
......@@ -819,4 +819,16 @@ abstract class AbstractMySQLPlatformTestCase extends AbstractPlatformTestCase
{
$this->assertContains("'Foo''Bar\\\\'", $this->_platform->getListTableColumnsSQL('foo_table', "Foo'Bar\\"), '', true);
}
public function testListTableForeignKeysSQLEvaluatesDatabase()
{
$sql = $this->_platform->getListTableForeignKeysSQL('foo');
$this->assertContains('DATABASE()', $sql);
$sql = $this->_platform->getListTableForeignKeysSQL('foo', 'bar');
$this->assertContains('bar', $sql);
$this->assertNotContains('DATABASE()', $sql);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment