From 32c563d4f5ef7d5891987567ee8841dc112a43f7 Mon Sep 17 00:00:00 2001
From: Sergei Tigrov
Date: Thu, 9 May 2024 15:49:23 +0700
Subject: [PATCH 1/4] Disable Rector [skip ci] (#307)
---
.github/workflows/{rector.yml => rector.yml_} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename .github/workflows/{rector.yml => rector.yml_} (100%)
diff --git a/.github/workflows/rector.yml b/.github/workflows/rector.yml_
similarity index 100%
rename from .github/workflows/rector.yml
rename to .github/workflows/rector.yml_
From f959dbea9f664fd0c6e52b877fb2f721db23a2a2 Mon Sep 17 00:00:00 2001
From: Sergei Tigrov
Date: Thu, 9 May 2024 16:34:23 +0700
Subject: [PATCH 2/4] Remove parameter `$withColumn` from
`Quoter::getTableNameParts()` (#306)
---
CHANGELOG.md | 1 +
src/Quoter.php | 8 +++++---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3ffbea6b4..031ba3237 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,7 @@
## 2.0.0 under development
- Enh #293: Implement `SqlParser` and `ExpressionBuilder` driver classes (@Tigrov)
+- Chg #306: Remove parameter `$withColumn` from `Quoter::getTableNameParts()` method (@Tigrov)
## 1.2.0 March 21, 2024
diff --git a/src/Quoter.php b/src/Quoter.php
index 5ab8d06c8..33d76a242 100644
--- a/src/Quoter.php
+++ b/src/Quoter.php
@@ -6,6 +6,8 @@
use Yiisoft\Db\Schema\Quoter as BaseQuoter;
+use function array_map;
+use function array_slice;
use function preg_match;
use function preg_match_all;
@@ -27,10 +29,10 @@ public function getTableNameParts(string $name, bool $withColumn = false): array
{
if (preg_match_all('/([^.\[\]]+)|\[([^\[\]]+)]/', $name, $matches) > 0) {
$parts = array_slice($matches[0], -4, 4);
- } else {
- $parts = [$name];
+
+ return array_map([$this, 'unquoteSimpleTableName'], $parts);
}
- return $this->unquoteParts($parts, $withColumn);
+ return [$this->unquoteSimpleTableName($name)];
}
}
From ced1afd3a1bafd89f8614038a08efa3365bd8f3d Mon Sep 17 00:00:00 2001
From: Sergei Tigrov
Date: Fri, 10 May 2024 17:51:09 +0700
Subject: [PATCH 3/4] Replace call of `SchemaInterface::getRawTableName()` to
`QuoterInterface::getRawTableName()` (#308)
---
CHANGELOG.md | 1 +
src/Schema.php | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 031ba3237..846332f69 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@
- Enh #293: Implement `SqlParser` and `ExpressionBuilder` driver classes (@Tigrov)
- Chg #306: Remove parameter `$withColumn` from `Quoter::getTableNameParts()` method (@Tigrov)
+- Chg #308: Replace call of `SchemaInterface::getRawTableName()` to `QuoterInterface::getRawTableName()` (@Tigrov)
## 1.2.0 March 21, 2024
diff --git a/src/Schema.php b/src/Schema.php
index 109fb07a7..5695c59e9 100644
--- a/src/Schema.php
+++ b/src/Schema.php
@@ -907,7 +907,7 @@ private function loadTableConstraints(string $tableName, string $returnType): mi
*/
protected function getCacheKey(string $name): array
{
- return array_merge([self::class], $this->generateCacheKey(), [$this->getRawTableName($name)]);
+ return array_merge([self::class], $this->generateCacheKey(), [$this->db->getQuoter()->getRawTableName($name)]);
}
/**
From dc65f9ebcfc0500018a015f1986e01be002c600d Mon Sep 17 00:00:00 2001
From: Luiz Marin <67489841+luizcmarin@users.noreply.github.com>
Date: Thu, 16 May 2024 08:36:28 -0300
Subject: [PATCH 4/4] Fix docs (#309)
Co-authored-by: Sergei Predvoditelev
---
LICENSE.md | 6 +++---
README.md | 52 +++++++++++++++++++----------------------------
composer.json | 16 ++++++++++++---
docs/internals.md | 15 ++++++--------
phpunit.xml.dist | 2 +-
5 files changed, 44 insertions(+), 47 deletions(-)
diff --git a/LICENSE.md b/LICENSE.md
index 6a920d605..c48bcea79 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -5,13 +5,13 @@ Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
-* Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above copyright
+ * Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
-* Neither the name of Yii Software nor the names of its
+ * Neither the name of Yii Software nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
diff --git a/README.md b/README.md
index ecb517ffc..39f49dea1 100644
--- a/README.md
+++ b/README.md
@@ -1,14 +1,20 @@
-
+
-
+
-
MSSQL Server driver for Yii Database
+ Yii Database MSSQL Server driver
+[![Latest Stable Version](https://poser.pugx.org/yiisoft/db-mssql/v/stable.png)](https://packagist.org/packages/yiisoft/db-mssql)
+[![Total Downloads](https://poser.pugx.org/yiisoft/db-mssql/downloads.png)](https://packagist.org/packages/yiisoft/db-mssql)
+[![rector](https://github.com/yiisoft/db-mssql/actions/workflows/rector.yml/badge.svg)](https://github.com/yiisoft/db-mssql/actions/workflows/rector.yml)
+[![codecov](https://codecov.io/gh/yiisoft/db-mssql/branch/master/graph/badge.svg?token=UF9VERNMYU)](https://codecov.io/gh/yiisoft/db-mssql)
+[![StyleCI](https://github.styleci.io/repos/114756477/shield?branch=master)](https://github.styleci.io/repos/114756477?branch=master)
+
MSSQL Server driver for [Yii Database](https://github.com/yiisoft/db) is a package for working with [MSSQL] databases in PHP.
The package provides a set of classes for connecting to a [MSSQL] database, creating and executing commands, and working with data.
@@ -21,21 +27,15 @@ have access to a SQL Server database and the necessary credentials to connect to
[MSSQL]: https://www.microsoft.com/sql-server
[MSSQL extension]: https://pecl.php.net/package/sqlsrv
-[![Latest Stable Version](https://poser.pugx.org/yiisoft/db-mssql/v/stable.png)](https://packagist.org/packages/yiisoft/db-mssql)
-[![Total Downloads](https://poser.pugx.org/yiisoft/db-mssql/downloads.png)](https://packagist.org/packages/yiisoft/db-mssql)
-[![rector](https://github.com/yiisoft/db-mssql/actions/workflows/rector.yml/badge.svg)](https://github.com/yiisoft/db-mssql/actions/workflows/rector.yml)
-[![codecov](https://codecov.io/gh/yiisoft/db-mssql/branch/master/graph/badge.svg?token=UF9VERNMYU)](https://codecov.io/gh/yiisoft/db-mssql)
-[![StyleCI](https://github.styleci.io/repos/114756477/shield?branch=master)](https://github.styleci.io/repos/114756477?branch=master)
-
## Support version
-| PHP | Mssql Version | CI-Actions
-|:----:|:------------------------:|:---:|
+| PHP | MSSQL Version | CI-Actions |
+|-----|---------------|------------|
|**8.0 - 8.2**| **2017 - 2022**|[![build](https://github.com/yiisoft/db-mssql/actions/workflows/build.yml/badge.svg?branch=dev)](https://github.com/yiisoft/db-mssql/actions/workflows/build.yml) [![Mutation testing badge](https://img.shields.io/endpoint?style=flat&url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2Fyiisoft%2Fdb-mssql%2Fmaster)](https://dashboard.stryker-mutator.io/reports/github.com/yiisoft/db-mssql/master) [![static analysis](https://github.com/yiisoft/db-mssql/actions/workflows/static.yml/badge.svg?branch=dev)](https://github.com/yiisoft/db-mssql/actions/workflows/static.yml) [![type-coverage](https://shepherd.dev/github/yiisoft/db-mssql/coverage.svg)](https://shepherd.dev/github/yiisoft/db-mssql)
## Installation
-The package could be installed via composer:
+The package could be installed with [Composer](https://getcomposer.org):
```shell
composer require yiisoft/db-mssql
@@ -43,25 +43,22 @@ composer require yiisoft/db-mssql
## Documentation
-English:
-
-- To configure connection to MSSQL database check [Connecting MSSQL](https://github.com/yiisoft/db/blob/master/docs/en/connection/mssql.md).
-- [Check the documentation docs](https://github.com/yiisoft/db/blob/master/docs/en/README.md) to learn about usage.
-
-Português - Brasil:
+To configure connection to MSSQL database check [Connecting MSSQL](https://github.com/yiisoft/db/blob/master/docs/guide/en/connection/mssql.md).
-- Para configurar a conexão com MSSQL leia [Connecting MSSQL](https://github.com/yiisoft/db/blob/master/docs/pt-BR/connection/mssql.md).
-- [Confira a documentação](https://github.com/yiisoft/db/blob/master/docs/pt-BR/README.md) para aprender como usar.
-
-Testing:
+[Check the documentation docs](https://github.com/yiisoft/db/blob/master/docs/guide/en/README.md) to learn about usage.
- [Internals](docs/internals.md)
-## Support
-
If you need help or have a question, the [Yii Forum](https://forum.yiiframework.com/c/yii-3-0/63) is a good place for that.
You may also check out other [Yii Community Resources](https://www.yiiframework.com/community).
+## License
+
+The Yii Database MSSQL Server driver is free software. It is released under the terms of the BSD License.
+Please see [`LICENSE`](./LICENSE.md) for more information.
+
+Maintained by [Yii Software](https://www.yiiframework.com/).
+
## Support the project
[![Open Collective](https://img.shields.io/badge/Open%20Collective-sponsor-7eadf1?logo=open%20collective&logoColor=7eadf1&labelColor=555555)](https://opencollective.com/yiisoft)
@@ -73,10 +70,3 @@ You may also check out other [Yii Community Resources](https://www.yiiframework.
[![Telegram](https://img.shields.io/badge/telegram-join-1DA1F2?style=flat&logo=telegram)](https://t.me/yii3en)
[![Facebook](https://img.shields.io/badge/facebook-join-1DA1F2?style=flat&logo=facebook&logoColor=ffffff)](https://www.facebook.com/groups/yiitalk)
[![Slack](https://img.shields.io/badge/slack-join-1DA1F2?style=flat&logo=slack)](https://yiiframework.com/go/slack)
-
-## License
-
-The MSSQL Server Extension for Yii 3 is free software. It is released under the terms of the BSD License.
-Please see [`LICENSE`](./LICENSE.md) for more information.
-
-Maintained by [Yii Software](https://www.yiiframework.com/).
diff --git a/composer.json b/composer.json
index 06e43b486..2d9c69eed 100644
--- a/composer.json
+++ b/composer.json
@@ -13,13 +13,23 @@
"type": "library",
"license": "BSD-3-Clause",
"support": {
- "issues": "https://github.com/yiisoft/db-mssql/issues",
+ "issues": "https://github.com/yiisoft/db-mssql/issues?state=open",
+ "source": "https://github.com/yiisoft/db-mssql",
"forum": "https://www.yiiframework.com/forum/",
"wiki": "https://www.yiiframework.com/wiki/",
"irc": "ircs://irc.libera.chat:6697/yii",
- "chat": "https://t.me/yii3en",
- "source": "https://github.com/yiisoft/db-mssql"
+ "chat": "https://t.me/yii3en"
},
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/yiisoft"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/yiisoft"
+ }
+ ],
"require": {
"php": "^8.0",
"ext-pdo": "*",
diff --git a/docs/internals.md b/docs/internals.md
index fb1e89fb3..610db580d 100644
--- a/docs/internals.md
+++ b/docs/internals.md
@@ -10,7 +10,7 @@ All our packages have github actions by default, so you can test your [contribut
For greater ease it is recommended to use docker containers, for this you can use the [docker-compose.yml](https://docs.docker.com/compose/compose-file/) file that is in the docs folder.
-1. [MSSQL 2022](../../../docker-compose.yml)
+1. [MSSQL 2022](../docker-compose.yml)
For running the docker containers you can use the following command:
@@ -20,9 +20,7 @@ docker compose up -d
## Unit testing
-The package is tested with [PHPUnit](https://phpunit.de/).
-
-The following steps are required to run the tests:
+The package is tested with [PHPUnit](https://phpunit.de/). To run tests:
1. Run the docker container for the dbms.
2. Install the dependencies of the project with composer.
@@ -49,7 +47,7 @@ The code is statically analyzed with [Psalm](https://psalm.dev/). To run static
./vendor/bin/psalm
```
-## Rector
+## Code style
Use [Rector](https://github.com/rectorphp/rector) to make codebase follow some specific rules or
use either newest or any specific version of PHP:
@@ -58,11 +56,10 @@ use either newest or any specific version of PHP:
./vendor/bin/rector
```
-## Composer require checker
-
-This package uses [composer-require-checker](https://github.com/maglnet/ComposerRequireChecker) to check if all dependencies are correctly defined in `composer.json`.
+## Dependencies
-To run the checker, execute the following command:
+This package uses [composer-require-checker](https://github.com/maglnet/ComposerRequireChecker) to check if
+all dependencies are correctly defined in `composer.json`. To run the checker, execute the following command:
```shell
./vendor/bin/composer-require-checker
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 4504c2cdb..76dd054b4 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -1,5 +1,5 @@
-
+