Skip to content

Commit 43f340b

Browse files
committed
added ISupplementalDriver::initialize(), is used instead of constructor (BC break!)
1 parent 66ef4a7 commit 43f340b

File tree

9 files changed

+23
-6
lines changed

9 files changed

+23
-6
lines changed

src/Database/Connection.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ public function connect()
7171
$class = empty($this->options['driverClass'])
7272
? 'Nette\Database\Drivers\\' . ucfirst(str_replace('sql', 'Sql', $this->pdo->getAttribute(PDO::ATTR_DRIVER_NAME))) . 'Driver'
7373
: $this->options['driverClass'];
74-
$this->driver = new $class($this, $this->options);
74+
$this->driver = new $class;
75+
$this->driver->initialize($this, $this->options);
7576
$this->preprocessor = new SqlPreprocessor($this);
7677
$this->onConnect($this);
7778
}

src/Database/Drivers/MsSqlDriver.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ class MsSqlDriver implements Nette\Database\ISupplementalDriver
1919
{
2020
use Nette\SmartObject;
2121

22+
public function initialize(Nette\Database\Connection $connection, array $options)
23+
{
24+
}
25+
26+
2227
public function convertException(\PDOException $e)
2328
{
2429
return Nette\Database\DriverException::from($e);

src/Database/Drivers/MySqlDriver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class MySqlDriver implements Nette\Database\ISupplementalDriver
3232
* - charset => character encoding to set (default is utf8 or utf8mb4 since MySQL 5.5.3)
3333
* - sqlmode => see http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html
3434
*/
35-
public function __construct(Nette\Database\Connection $connection, array $options)
35+
public function initialize(Nette\Database\Connection $connection, array $options)
3636
{
3737
$this->connection = $connection;
3838
$charset = $options['charset']

src/Database/Drivers/OciDriver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class OciDriver implements Nette\Database\ISupplementalDriver
2626
private $fmtDateTime;
2727

2828

29-
public function __construct(Nette\Database\Connection $connection, array $options)
29+
public function initialize(Nette\Database\Connection $connection, array $options)
3030
{
3131
$this->connection = $connection;
3232
$this->fmtDateTime = $options['formatDateTime'] ?? 'U';

src/Database/Drivers/OdbcDriver.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ class OdbcDriver implements Nette\Database\ISupplementalDriver
1919
{
2020
use Nette\SmartObject;
2121

22+
public function initialize(Nette\Database\Connection $connection, array $options)
23+
{
24+
}
25+
26+
2227
public function convertException(\PDOException $e)
2328
{
2429
return Nette\Database\DriverException::from($e);

src/Database/Drivers/PgSqlDriver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class PgSqlDriver implements Nette\Database\ISupplementalDriver
2323
private $connection;
2424

2525

26-
public function __construct(Nette\Database\Connection $connection, array $options)
26+
public function initialize(Nette\Database\Connection $connection, array $options)
2727
{
2828
$this->connection = $connection;
2929
}

src/Database/Drivers/SqliteDriver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class SqliteDriver implements Nette\Database\ISupplementalDriver
2626
private $fmtDateTime;
2727

2828

29-
public function __construct(Nette\Database\Connection $connection, array $options)
29+
public function initialize(Nette\Database\Connection $connection, array $options)
3030
{
3131
$this->connection = $connection;
3232
$this->fmtDateTime = $options['formatDateTime'] ?? 'U';

src/Database/Drivers/SqlsrvDriver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class SqlsrvDriver implements Nette\Database\ISupplementalDriver
2626
private $version;
2727

2828

29-
public function __construct(Nette\Database\Connection $connection, array $options)
29+
public function initialize(Nette\Database\Connection $connection, array $options)
3030
{
3131
$this->connection = $connection;
3232
$this->version = $connection->getPdo()->getAttribute(\PDO::ATTR_SERVER_VERSION);

src/Database/ISupplementalDriver.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ interface ISupplementalDriver
2222
SUPPORT_SUBSELECT = 'subselect',
2323
SUPPORT_SCHEMA = 'schema';
2424

25+
/**
26+
* Initializes connection.
27+
* @return void
28+
*/
29+
function initialize(Connection $connection, array $options);
30+
2531
/**
2632
* @return DriverException
2733
*/

0 commit comments

Comments
 (0)