init
This commit is contained in:
49
backend/vendor/doctrine/dbal/src/Driver/PgSQL/ConvertParameters.php
vendored
Normal file
49
backend/vendor/doctrine/dbal/src/Driver/PgSQL/ConvertParameters.php
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Doctrine\DBAL\Driver\PgSQL;
|
||||
|
||||
use Doctrine\DBAL\SQL\Parser\Visitor;
|
||||
|
||||
use function count;
|
||||
use function implode;
|
||||
|
||||
final class ConvertParameters implements Visitor
|
||||
{
|
||||
/** @var list<string> */
|
||||
private array $buffer = [];
|
||||
|
||||
/** @var array<array-key, int> */
|
||||
private array $parameterMap = [];
|
||||
|
||||
public function acceptPositionalParameter(string $sql): void
|
||||
{
|
||||
$position = count($this->parameterMap) + 1;
|
||||
$this->parameterMap[$position] = $position;
|
||||
$this->buffer[] = '$' . $position;
|
||||
}
|
||||
|
||||
public function acceptNamedParameter(string $sql): void
|
||||
{
|
||||
$position = count($this->parameterMap) + 1;
|
||||
$this->parameterMap[$sql] = $position;
|
||||
$this->buffer[] = '$' . $position;
|
||||
}
|
||||
|
||||
public function acceptOther(string $sql): void
|
||||
{
|
||||
$this->buffer[] = $sql;
|
||||
}
|
||||
|
||||
public function getSQL(): string
|
||||
{
|
||||
return implode('', $this->buffer);
|
||||
}
|
||||
|
||||
/** @return array<array-key, int> */
|
||||
public function getParameterMap(): array
|
||||
{
|
||||
return $this->parameterMap;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user