Skip to content

Commit a803f57

Browse files
authored
Add Connection::getColumnBuilderClass() (#391)
1 parent 105de94 commit a803f57

File tree

5 files changed

+17
-30
lines changed

5 files changed

+17
-30
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
- Enh #380: Remove support dots in table names (@Tigrov)
5454
- Enh #383: Refactor `TableSchema` and `Schema` classes (@Tigrov)
5555
- Enh #386: Support column's collation (@Tigrov)
56+
- New #391: Add `Connection::getColumnBuilderClass()` method (@Tigrov)
5657

5758
## 1.2.0 March 21, 2024
5859

src/Connection.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use Yiisoft\Db\Driver\Pdo\AbstractPdoConnection;
88
use Yiisoft\Db\Driver\Pdo\PdoCommandInterface;
9+
use Yiisoft\Db\Mssql\Column\ColumnBuilder;
910
use Yiisoft\Db\Mssql\Column\ColumnFactory;
1011
use Yiisoft\Db\QueryBuilder\QueryBuilderInterface;
1112
use Yiisoft\Db\Schema\Column\ColumnFactoryInterface;
@@ -44,6 +45,11 @@ public function createTransaction(): TransactionInterface
4445
return new Transaction($this);
4546
}
4647

48+
public function getColumnBuilderClass(): string
49+
{
50+
return ColumnBuilder::class;
51+
}
52+
4753
public function getColumnFactory(): ColumnFactoryInterface
4854
{
4955
return $this->columnFactory ??= new ColumnFactory();

tests/ColumnBuilderTest.php

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
namespace Yiisoft\Db\Mssql\Tests;
66

77
use PHPUnit\Framework\Attributes\DataProviderExternal;
8-
use Yiisoft\Db\Mssql\Column\ColumnBuilder;
98
use Yiisoft\Db\Mssql\Tests\Provider\ColumnBuilderProvider;
109
use Yiisoft\Db\Mssql\Tests\Support\TestTrait;
1110
use Yiisoft\Db\Tests\AbstractColumnBuilderTest;
@@ -17,11 +16,6 @@ class ColumnBuilderTest extends AbstractColumnBuilderTest
1716
{
1817
use TestTrait;
1918

20-
public function getColumnBuilderClass(): string
21-
{
22-
return ColumnBuilder::class;
23-
}
24-
2519
#[DataProviderExternal(ColumnBuilderProvider::class, 'buildingMethods')]
2620
public function testBuildingMethods(
2721
string $buildingMethod,

tests/ColumnTest.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
use Yiisoft\Db\Expression\Expression;
1313
use Yiisoft\Db\Expression\Param;
1414
use Yiisoft\Db\Mssql\Column\BinaryColumn;
15-
use Yiisoft\Db\Mssql\Column\ColumnBuilder;
1615
use Yiisoft\Db\Mssql\Tests\Provider\ColumnProvider;
1716
use Yiisoft\Db\Mssql\Tests\Support\TestTrait;
1817
use Yiisoft\Db\Schema\Column\BooleanColumn;
@@ -33,8 +32,6 @@ final class ColumnTest extends CommonColumnTest
3332
{
3433
use TestTrait;
3534

36-
protected const COLUMN_BUILDER = ColumnBuilder::class;
37-
3835
protected function insertTypeValues(ConnectionInterface $db): void
3936
{
4037
$db->createCommand()->insert(

tests/ConnectionTest.php

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,8 @@
55
namespace Yiisoft\Db\Mssql\Tests;
66

77
use PDO;
8-
use Throwable;
98
use Yiisoft\Db\Driver\Pdo\PdoConnectionInterface;
10-
use Yiisoft\Db\Exception\Exception;
11-
use Yiisoft\Db\Exception\InvalidConfigException;
12-
use Yiisoft\Db\Exception\NotSupportedException;
9+
use Yiisoft\Db\Mssql\Column\ColumnBuilder;
1310
use Yiisoft\Db\Mssql\Column\ColumnFactory;
1411
use Yiisoft\Db\Mssql\Connection;
1512
use Yiisoft\Db\Mssql\Tests\Support\TestTrait;
@@ -19,19 +16,11 @@
1916

2017
/**
2118
* @group mssql
22-
*
23-
* @psalm-suppress PropertyNotSetInConstructor
2419
*/
2520
final class ConnectionTest extends CommonConnectionTest
2621
{
2722
use TestTrait;
2823

29-
/**
30-
* @throws Exception
31-
* @throws InvalidConfigException
32-
* @throws NotSupportedException
33-
* @throws Throwable
34-
*/
3524
public function testTransactionIsolation(): void
3625
{
3726
$db = $this->getConnection(true);
@@ -52,11 +41,6 @@ public function testTransactionIsolation(): void
5241
$this->assertTrue(true);
5342
}
5443

55-
/**
56-
* @throws Exception
57-
* @throws InvalidConfigException
58-
* @throws Throwable
59-
*/
6044
public function testTransactionShortcutCustom(): void
6145
{
6246
$db = $this->getConnection();
@@ -80,17 +64,22 @@ static function (PdoConnectionInterface $db): bool {
8064
$this->assertSame('1', $profilesCount, 'profile should be inserted in transaction shortcut');
8165
}
8266

83-
/**
84-
* @throws Exception
85-
* @throws InvalidConfigException
86-
*/
8767
public function testSettingDefaultAttributes(): void
8868
{
8969
$db = $this->getConnection();
9070

9171
$this->assertSame(PDO::ERRMODE_EXCEPTION, $db->getActivePDO()?->getAttribute(PDO::ATTR_ERRMODE));
9272
}
9373

74+
public function getColumnBuilderClass(): void
75+
{
76+
$db = $this->getConnection();
77+
78+
$this->assertSame(ColumnBuilder::class, $db->getColumnBuilderClass());
79+
80+
$db->close();
81+
}
82+
9483
public function testGetColumnFactory(): void
9584
{
9685
$db = $this->getConnection();

0 commit comments

Comments
 (0)