This commit is contained in:
2021-08-09 11:12:01 +08:00
parent 27297e29fd
commit eaccb88e46
+6 -3
View File
@@ -3,6 +3,7 @@ declare(strict_types=1);
namespace Snowflake\Pool;
use Closure;
use Exception;
use HttpServer\Http\Context;
use PDO;
@@ -46,6 +47,8 @@ class Connection extends Component
if (!Context::hasContext('begin_' . $coroutineName)) {
Context::setContext('begin_' . $coroutineName, 0);
}
Context::increment('begin_' . $coroutineName, 1);
$connection = Context::getContext($coroutineName);
if ($connection instanceof PDO && !$connection->inTransaction()) {
$connection->beginTransaction();
@@ -90,7 +93,7 @@ class Connection extends Component
/**
* @param mixed $config
* @param bool $isMaster
* @return mixed
* @return PDO|null
* @throws Exception
*/
public function get(mixed $config, bool $isMaster = false): ?PDO
@@ -111,9 +114,9 @@ class Connection extends Component
/**
* @param $coroutineName
* @param $config
* @return \Closure
* @return Closure
*/
public function create($coroutineName, $config)
public function create($coroutineName, $config): Closure
{
return static function () use ($coroutineName, $config) {
if (Coroutine::getCid() === -1) {