From b8b489e29de6b12b37d21c529d4a0236c01978f5 Mon Sep 17 00:00:00 2001 From: Sergei Predvoditelev Date: Wed, 23 Jul 2025 10:01:09 +0300 Subject: [PATCH 1/2] Remove "Condition" suffix from condition classes --- CHANGELOG.md | 2 +- .../{InConditionBuilder.php => InBuilder.php} | 4 ++-- .../{LikeConditionBuilder.php => LikeBuilder.php} | 2 +- src/DQLQueryBuilder.php | 12 ++++++------ tests/Builder/InconditionBuilderTest.php | 15 +++++---------- tests/Provider/QueryBuilderProvider.php | 10 +++++----- 6 files changed, 20 insertions(+), 25 deletions(-) rename src/Builder/{InConditionBuilder.php => InBuilder.php} (94%) rename src/Builder/{LikeConditionBuilder.php => LikeBuilder.php} (90%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26222980..affc3803 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,7 +49,7 @@ - Chg #366: Rename `DMLQueryBuilder::insertWithReturningPks()` to `DMLQueryBuilder::insertReturningPks()` (@Tigrov) - Enh #372: Provide `yiisoft/db-implementation` virtual package (@vjik) - Enh #375: Adapt to `Param` refactoring in `yiisoft/db` package (@vjik) -- Enh #376: Adapt to conditions refactoring in `yiisoft/db` package (@vjik) +- Enh #376, #379: Adapt to conditions refactoring in `yiisoft/db` package (@vjik) ## 1.2.0 March 21, 2024 diff --git a/src/Builder/InConditionBuilder.php b/src/Builder/InBuilder.php similarity index 94% rename from src/Builder/InConditionBuilder.php rename to src/Builder/InBuilder.php index f96a7f99..90ee57bf 100644 --- a/src/Builder/InConditionBuilder.php +++ b/src/Builder/InBuilder.php @@ -16,9 +16,9 @@ use function str_contains; /** - * Build an object of {@see \Yiisoft\Db\QueryBuilder\Condition\InCondition} into SQL expressions for MSSQL Server. + * Build an object of {@see \Yiisoft\Db\QueryBuilder\Condition\In} into SQL expressions for MSSQL Server. */ -final class InConditionBuilder extends \Yiisoft\Db\QueryBuilder\Condition\Builder\InConditionBuilder +final class InBuilder extends \Yiisoft\Db\QueryBuilder\Condition\Builder\InBuilder { /** * Builds SQL for IN condition. diff --git a/src/Builder/LikeConditionBuilder.php b/src/Builder/LikeBuilder.php similarity index 90% rename from src/Builder/LikeConditionBuilder.php rename to src/Builder/LikeBuilder.php index 0e56b211..262f6f84 100644 --- a/src/Builder/LikeConditionBuilder.php +++ b/src/Builder/LikeBuilder.php @@ -10,7 +10,7 @@ /** * Build an object of {@see \Yiisoft\Db\QueryBuilder\Condition\LikeCondition} into SQL expressions for MSSQL Server. */ -final class LikeConditionBuilder extends \Yiisoft\Db\QueryBuilder\Condition\Builder\LikeConditionBuilder +final class LikeBuilder extends \Yiisoft\Db\QueryBuilder\Condition\Builder\LikeBuilder { /** * @var array Map of chars to their replacements in `LIKE` conditions. By default, it's configured to escape diff --git a/src/DQLQueryBuilder.php b/src/DQLQueryBuilder.php index b6ed45ab..eec8a6ff 100644 --- a/src/DQLQueryBuilder.php +++ b/src/DQLQueryBuilder.php @@ -7,12 +7,12 @@ use Yiisoft\Db\Exception\Exception; use InvalidArgumentException; use Yiisoft\Db\Expression\ExpressionInterface; -use Yiisoft\Db\Mssql\Builder\InConditionBuilder; -use Yiisoft\Db\Mssql\Builder\LikeConditionBuilder; +use Yiisoft\Db\Mssql\Builder\InBuilder; +use Yiisoft\Db\Mssql\Builder\LikeBuilder; use Yiisoft\Db\Query\Query; use Yiisoft\Db\QueryBuilder\AbstractDQLQueryBuilder; -use Yiisoft\Db\QueryBuilder\Condition\InCondition; -use Yiisoft\Db\QueryBuilder\Condition\LikeCondition; +use Yiisoft\Db\QueryBuilder\Condition\In; +use Yiisoft\Db\QueryBuilder\Condition\Like; use function preg_match; @@ -46,8 +46,8 @@ protected function defaultExpressionBuilders(): array { return [ ...parent::defaultExpressionBuilders(), - InCondition::class => InConditionBuilder::class, - LikeCondition::class => LikeConditionBuilder::class, + In::class => InBuilder::class, + Like::class => LikeBuilder::class, ]; } diff --git a/tests/Builder/InconditionBuilderTest.php b/tests/Builder/InconditionBuilderTest.php index 1d33a793..d28c1ecd 100644 --- a/tests/Builder/InconditionBuilderTest.php +++ b/tests/Builder/InconditionBuilderTest.php @@ -9,10 +9,10 @@ use InvalidArgumentException; use Yiisoft\Db\Exception\InvalidConfigException; use Yiisoft\Db\Exception\NotSupportedException; -use Yiisoft\Db\Mssql\Builder\InConditionBuilder; +use Yiisoft\Db\Mssql\Builder\InBuilder; use Yiisoft\Db\Mssql\Tests\Support\TestTrait; use Yiisoft\Db\Query\Query; -use Yiisoft\Db\QueryBuilder\Condition\InCondition; +use Yiisoft\Db\QueryBuilder\Condition\In; /** * @group mssql @@ -23,15 +23,10 @@ final class InconditionBuilderTest extends TestCase { use TestTrait; - /** - * @throws Exception - * @throws InvalidArgumentException - * @throws InvalidConfigException - */ public function testBuildSubqueryInCondition(): void { $db = $this->getConnection(); - $inCondition = new InCondition( + $inCondition = new In( ['id'], 'in', (new Query($db))->select('id')->from('users')->where(['active' => 1]), @@ -39,9 +34,9 @@ public function testBuildSubqueryInCondition(): void $this->expectException(NotSupportedException::class); $this->expectExceptionMessage( - 'Yiisoft\Db\Mssql\Builder\InConditionBuilder::buildSubqueryInCondition is not supported by MSSQL.' + 'Yiisoft\Db\Mssql\Builder\InBuilder::buildSubqueryInCondition is not supported by MSSQL.' ); - (new InConditionBuilder($db->getQueryBuilder()))->build($inCondition); + (new InBuilder($db->getQueryBuilder()))->build($inCondition); } } diff --git a/tests/Provider/QueryBuilderProvider.php b/tests/Provider/QueryBuilderProvider.php index e931fe80..59bbf8bb 100644 --- a/tests/Provider/QueryBuilderProvider.php +++ b/tests/Provider/QueryBuilderProvider.php @@ -13,7 +13,7 @@ use Yiisoft\Db\Mssql\Column\ColumnBuilder; use Yiisoft\Db\Mssql\Tests\Support\TestTrait; use Yiisoft\Db\Query\Query; -use Yiisoft\Db\QueryBuilder\Condition\InCondition; +use Yiisoft\Db\QueryBuilder\Condition\In; use Yiisoft\Db\Tests\Support\TraversableObject; use function array_replace; @@ -240,20 +240,20 @@ public static function buildCondition(): array { $buildCondition = parent::buildCondition(); - $buildCondition['inCondition-custom-1'] = [new InCondition(['id', 'name'], 'in', []), '()', []]; + $buildCondition['inCondition-custom-1'] = [new In(['id', 'name'], 'in', []), '()', []]; $buildCondition['inCondition-custom-3'] = [ - new InCondition(['id', 'name'], 'in', [['id' => 1]]), + new In(['id', 'name'], 'in', [['id' => 1]]), '(([id] = :qp0 AND [name] IS NULL))', [':qp0' => 1], ]; $buildCondition['inCondition-custom-4'] = [ - new InCondition(['id', 'name'], 'in', [['name' => 'oy']]), + new In(['id', 'name'], 'in', [['name' => 'oy']]), '(([id] IS NULL AND [name] = :qp0))', [':qp0' => 'oy'], ]; $buildCondition['inCondition-custom-5'] = [ - new InCondition(['id', 'name'], 'in', [['id' => 1, 'name' => 'oy']]), + new In(['id', 'name'], 'in', [['id' => 1, 'name' => 'oy']]), '(([id] = :qp0 AND [name] = :qp1))', [':qp0' => 1, ':qp1' => 'oy'], ]; From c88105dc24db57a88e6b3f731860780ba737c661 Mon Sep 17 00:00:00 2001 From: StyleCI Bot Date: Wed, 23 Jul 2025 07:01:23 +0000 Subject: [PATCH 2/2] Apply fixes from StyleCI --- tests/Builder/InconditionBuilderTest.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/Builder/InconditionBuilderTest.php b/tests/Builder/InconditionBuilderTest.php index d28c1ecd..9617f68f 100644 --- a/tests/Builder/InconditionBuilderTest.php +++ b/tests/Builder/InconditionBuilderTest.php @@ -5,9 +5,6 @@ namespace Yiisoft\Db\Mssql\Tests\Builder; use PHPUnit\Framework\TestCase; -use Yiisoft\Db\Exception\Exception; -use InvalidArgumentException; -use Yiisoft\Db\Exception\InvalidConfigException; use Yiisoft\Db\Exception\NotSupportedException; use Yiisoft\Db\Mssql\Builder\InBuilder; use Yiisoft\Db\Mssql\Tests\Support\TestTrait;