File "ExpressionBuilder.php"
Full Path: /home/warrior1/public_html/languages/wp-content-20241001222009/plugins/mailpoet/vendor-prefixed/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/ExpressionBuilder.php
File size: 2.74 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace MailPoetVendor\Doctrine\DBAL\Query\Expression;
if (!defined('ABSPATH')) exit;
use MailPoetVendor\Doctrine\DBAL\Connection;
use MailPoetVendor\Doctrine\Deprecations\Deprecation;
use function func_get_arg;
use function func_get_args;
use function func_num_args;
use function implode;
use function sprintf;
class ExpressionBuilder
{
public const EQ = '=';
public const NEQ = '<>';
public const LT = '<';
public const LTE = '<=';
public const GT = '>';
public const GTE = '>=';
private $connection;
public function __construct(Connection $connection)
{
$this->connection = $connection;
}
public function and($expression, ...$expressions) : CompositeExpression
{
return CompositeExpression::and($expression, ...$expressions);
}
public function or($expression, ...$expressions) : CompositeExpression
{
return CompositeExpression::or($expression, ...$expressions);
}
public function andX($x = null)
{
Deprecation::trigger('doctrine/dbal', 'https://github.com/doctrine/dbal/pull/3851', 'ExpressionBuilder::andX() is deprecated, use ExpressionBuilder::and() instead.');
return new CompositeExpression(CompositeExpression::TYPE_AND, func_get_args());
}
public function orX($x = null)
{
Deprecation::trigger('doctrine/dbal', 'https://github.com/doctrine/dbal/pull/3851', 'ExpressionBuilder::orX() is deprecated, use ExpressionBuilder::or() instead.');
return new CompositeExpression(CompositeExpression::TYPE_OR, func_get_args());
}
public function comparison($x, $operator, $y)
{
return $x . ' ' . $operator . ' ' . $y;
}
public function eq($x, $y)
{
return $this->comparison($x, self::EQ, $y);
}
public function neq($x, $y)
{
return $this->comparison($x, self::NEQ, $y);
}
public function lt($x, $y)
{
return $this->comparison($x, self::LT, $y);
}
public function lte($x, $y)
{
return $this->comparison($x, self::LTE, $y);
}
public function gt($x, $y)
{
return $this->comparison($x, self::GT, $y);
}
public function gte($x, $y)
{
return $this->comparison($x, self::GTE, $y);
}
public function isNull($x)
{
return $x . ' IS NULL';
}
public function isNotNull($x)
{
return $x . ' IS NOT NULL';
}
public function like($x, $y)
{
return $this->comparison($x, 'LIKE', $y) . (func_num_args() >= 3 ? sprintf(' ESCAPE %s', func_get_arg(2)) : '');
}
public function notLike($x, $y)
{
return $this->comparison($x, 'NOT LIKE', $y) . (func_num_args() >= 3 ? sprintf(' ESCAPE %s', func_get_arg(2)) : '');
}
public function in($x, $y)
{
return $this->comparison($x, 'IN', '(' . implode(', ', (array) $y) . ')');
}
public function notIn($x, $y)
{
return $this->comparison($x, 'NOT IN', '(' . implode(', ', (array) $y) . ')');
}
public function literal($input, $type = null)
{
return $this->connection->quote($input, $type);
}
}