Skip to content

Commit

Permalink
Merge pull request #3642 from morozov/notice-for-non-valid-array-cont…
Browse files Browse the repository at this point in the history
…ainer

Fixed test failures on PHP 7.4
  • Loading branch information
Ocramius authored Aug 3, 2019
2 parents bf9d55c + 860b90b commit 292d819
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 2 deletions.
7 changes: 7 additions & 0 deletions lib/Doctrine/DBAL/Schema/MySqlSchemaManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -309,13 +309,20 @@ public function listTableDetails($tableName)

$tableOptions = $this->_conn->fetchAssoc($sql);

if ($tableOptions === false) {
return $table;
}

$table->addOption('engine', $tableOptions['ENGINE']);

if ($tableOptions['TABLE_COLLATION'] !== null) {
$table->addOption('collation', $tableOptions['TABLE_COLLATION']);
}

if ($tableOptions['AUTO_INCREMENT'] !== null) {
$table->addOption('autoincrement', $tableOptions['AUTO_INCREMENT']);
}

$table->addOption('comment', $tableOptions['TABLE_COMMENT']);
$table->addOption('create_options', $this->parseCreateOptions($tableOptions['CREATE_OPTIONS']));

Expand Down
6 changes: 4 additions & 2 deletions lib/Doctrine/DBAL/Schema/Table.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@ class Table extends AbstractAsset
protected $_fkConstraints = [];

/** @var mixed[] */
protected $_options = [];
protected $_options = [
'create_options' => [],
];

/** @var SchemaConfig|null */
protected $_schemaConfig = null;
Expand Down Expand Up @@ -69,7 +71,7 @@ public function __construct($tableName, array $columns = [], array $indexes = []
$this->_addForeignKeyConstraint($constraint);
}

$this->_options = $options;
$this->_options = array_merge($this->_options, $options);
}

/**
Expand Down
5 changes: 5 additions & 0 deletions tests/Doctrine/Tests/DBAL/Driver/OCI8/OCI8StatementTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@ public function testExecute(array $params) : void
$this->equalTo($params[2])
);

// the return value is irrelevant to the test
// but it has to be compatible with the method signature
$statement->method('errorInfo')
->willReturn(false);

// can't pass to constructor since we don't have a real database handle,
// but execute must check the connection for the executeMode
$conn = $this->getMockBuilder(OCI8Connection::class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@ public function testSelectGlobal() : void
{
$conn = $this->createConnectionMock();
$conn->expects($this->once())->method('connect')->with($this->equalTo(0));
$conn->method('getParams')
->willReturn([
'shardChoser' => $this->createMock(ShardChoser::class),
]);

$shardManager = new PoolingShardManager($conn);
$shardManager->selectGlobal();
Expand Down

0 comments on commit 292d819

Please sign in to comment.