Skip to content

Commit 202f8d2

Browse files
committed
introduced PDODriver, descendant of all PDO-based drivers
1 parent c4ea81a commit 202f8d2

9 files changed

Lines changed: 35 additions & 22 deletions

File tree

src/Database/Driver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212

1313
/**
14-
* Supplemental PDO database driver.
14+
* Supplemental database driver.
1515
*/
1616
interface Driver
1717
{

src/Database/Drivers/MsSqlDriver.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@
1515
/**
1616
* Supplemental MS SQL database driver.
1717
*/
18-
class MsSqlDriver implements Nette\Database\Driver
18+
class MsSqlDriver extends PDODriver
1919
{
20-
use Nette\SmartObject;
21-
2220
private Nette\Database\Connection $connection;
2321

2422

src/Database/Drivers/MySqlDriver.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@
1515
/**
1616
* Supplemental MySQL database driver.
1717
*/
18-
class MySqlDriver implements Nette\Database\Driver
18+
class MySqlDriver extends PDODriver
1919
{
20-
use Nette\SmartObject;
21-
2220
public const
2321
ERROR_ACCESS_DENIED = 1045,
2422
ERROR_DUPLICATE_ENTRY = 1062,

src/Database/Drivers/OciDriver.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@
1515
/**
1616
* Supplemental Oracle database driver.
1717
*/
18-
class OciDriver implements Nette\Database\Driver
18+
class OciDriver extends PDODriver
1919
{
20-
use Nette\SmartObject;
21-
2220
private Nette\Database\Connection $connection;
2321

2422
/** Datetime format */

src/Database/Drivers/OdbcDriver.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@
1515
/**
1616
* Supplemental ODBC database driver.
1717
*/
18-
class OdbcDriver implements Nette\Database\Driver
18+
class OdbcDriver extends PDODriver
1919
{
20-
use Nette\SmartObject;
21-
2220
public function initialize(Nette\Database\Connection $connection, array $options): void
2321
{
2422
}

src/Database/Drivers/PDODriver.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
/**
4+
* This file is part of the Nette Framework (https://nette.org)
5+
* Copyright (c) 2004 David Grudl (https://davidgrudl.com)
6+
*/
7+
8+
declare(strict_types=1);
9+
10+
namespace Nette\Database\Drivers;
11+
12+
use Nette;
13+
14+
15+
/**
16+
* PDO-based driver.
17+
*/
18+
abstract class PDODriver implements Nette\Database\Driver
19+
{
20+
use Nette\SmartObject;
21+
22+
23+
public function getColumnTypes(\PDOStatement $statement): array
24+
{
25+
return Nette\Database\Helpers::detectTypes($statement);
26+
}
27+
}

src/Database/Drivers/PgSqlDriver.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@
1515
/**
1616
* Supplemental PostgreSQL database driver.
1717
*/
18-
class PgSqlDriver implements Nette\Database\Driver
18+
class PgSqlDriver extends PDODriver
1919
{
20-
use Nette\SmartObject;
21-
2220
private Nette\Database\Connection $connection;
2321

2422

src/Database/Drivers/SqliteDriver.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@
1515
/**
1616
* Supplemental SQLite3 database driver.
1717
*/
18-
class SqliteDriver implements Nette\Database\Driver
18+
class SqliteDriver extends PDODriver
1919
{
20-
use Nette\SmartObject;
21-
2220
private Nette\Database\Connection $connection;
2321

2422
/** Datetime format */

src/Database/Drivers/SqlsrvDriver.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@
1515
/**
1616
* Supplemental SQL Server 2005 and later database driver.
1717
*/
18-
class SqlsrvDriver implements Nette\Database\Driver
18+
class SqlsrvDriver extends PDODriver
1919
{
20-
use Nette\SmartObject;
21-
2220
private Nette\Database\Connection $connection;
2321

2422
private string $version;

0 commit comments

Comments
 (0)