mailpoet
/
vendor-prefixed
/
doctrine
/
orm
/
src
/
Query
/
Exec
/
SingleTableDeleteUpdateExecutor.php
AbstractSqlExecutor.php
9 months ago
FinalizedSelectExecutor.php
9 months ago
MultiTableDeleteExecutor.php
9 months ago
MultiTableUpdateExecutor.php
9 months ago
PreparedExecutorFinalizer.php
9 months ago
SingleSelectExecutor.php
9 months ago
SingleSelectSqlFinalizer.php
9 months ago
SingleTableDeleteUpdateExecutor.php
9 months ago
SqlFinalizer.php
9 months ago
index.php
9 months ago
SingleTableDeleteUpdateExecutor.php
28 lines
| 1 | <?php |
| 2 | declare (strict_types=1); |
| 3 | namespace MailPoetVendor\Doctrine\ORM\Query\Exec; |
| 4 | if (!defined('ABSPATH')) exit; |
| 5 | use MailPoetVendor\Doctrine\DBAL\Connection; |
| 6 | use MailPoetVendor\Doctrine\DBAL\Connections\PrimaryReadReplicaConnection; |
| 7 | use MailPoetVendor\Doctrine\ORM\Query\AST; |
| 8 | use MailPoetVendor\Doctrine\ORM\Query\SqlWalker; |
| 9 | class SingleTableDeleteUpdateExecutor extends AbstractSqlExecutor |
| 10 | { |
| 11 | public function __construct(AST\Node $AST, $sqlWalker) |
| 12 | { |
| 13 | parent::__construct(); |
| 14 | if ($AST instanceof AST\UpdateStatement) { |
| 15 | $this->sqlStatements = $sqlWalker->walkUpdateStatement($AST); |
| 16 | } elseif ($AST instanceof AST\DeleteStatement) { |
| 17 | $this->sqlStatements = $sqlWalker->walkDeleteStatement($AST); |
| 18 | } |
| 19 | } |
| 20 | public function execute(Connection $conn, array $params, array $types) |
| 21 | { |
| 22 | if ($conn instanceof PrimaryReadReplicaConnection) { |
| 23 | $conn->ensureConnectedToPrimary(); |
| 24 | } |
| 25 | return $conn->executeStatement($this->sqlStatements, $params, $types); |
| 26 | } |
| 27 | } |
| 28 |