diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2021-01-03 15:28:31 +0100 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2021-01-08 11:45:19 +0100 |
commit | 8b64e92b9262d2a2eec6345685ce421050f95c66 (patch) | |
tree | dd51490b8a184b2643414d11867a9fa450aa5065 /lib/private/DB/QueryBuilder | |
parent | 84e6e9f7cf19207041925eaa237d24e1c12c2c2d (diff) | |
download | nextcloud-server-8b64e92b9262d2a2eec6345685ce421050f95c66.tar.gz nextcloud-server-8b64e92b9262d2a2eec6345685ce421050f95c66.zip |
Bump doctrine/dbal from 2.12.0 to 3.0.0
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib/private/DB/QueryBuilder')
3 files changed, 40 insertions, 29 deletions
diff --git a/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php b/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php index 61eea80640e..d4c1a9db881 100644 --- a/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php +++ b/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php @@ -27,6 +27,7 @@ namespace OC\DB\QueryBuilder\ExpressionBuilder; use Doctrine\DBAL\Query\Expression\ExpressionBuilder as DoctrineExpressionBuilder; +use OC\DB\ConnectionAdapter; use OC\DB\QueryBuilder\CompositeExpression; use OC\DB\QueryBuilder\FunctionBuilder\FunctionBuilder; use OC\DB\QueryBuilder\Literal; @@ -55,13 +56,13 @@ class ExpressionBuilder implements IExpressionBuilder { /** * Initializes a new <tt>ExpressionBuilder</tt>. * - * @param IDBConnection $connection + * @param ConnectionAdapter $connection * @param IQueryBuilder $queryBuilder */ - public function __construct(IDBConnection $connection, IQueryBuilder $queryBuilder) { + public function __construct(ConnectionAdapter $connection, IQueryBuilder $queryBuilder) { $this->connection = $connection; $this->helper = new QuoteHelper(); - $this->expressionBuilder = new DoctrineExpressionBuilder($connection); + $this->expressionBuilder = new DoctrineExpressionBuilder($connection->getInner()); $this->functionBuilder = $queryBuilder->func(); } diff --git a/lib/private/DB/QueryBuilder/ExpressionBuilder/MySqlExpressionBuilder.php b/lib/private/DB/QueryBuilder/ExpressionBuilder/MySqlExpressionBuilder.php index 899f9277439..3e4119bb11c 100644 --- a/lib/private/DB/QueryBuilder/ExpressionBuilder/MySqlExpressionBuilder.php +++ b/lib/private/DB/QueryBuilder/ExpressionBuilder/MySqlExpressionBuilder.php @@ -24,9 +24,8 @@ namespace OC\DB\QueryBuilder\ExpressionBuilder; -use OC\DB\Connection; +use OC\DB\ConnectionAdapter; use OCP\DB\QueryBuilder\IQueryBuilder; -use OCP\IDBConnection; class MySqlExpressionBuilder extends ExpressionBuilder { @@ -34,13 +33,13 @@ class MySqlExpressionBuilder extends ExpressionBuilder { protected $charset; /** - * @param \OCP\IDBConnection|Connection $connection + * @param ConnectionAdapter $connection * @param IQueryBuilder $queryBuilder */ - public function __construct(IDBConnection $connection, IQueryBuilder $queryBuilder) { + public function __construct(ConnectionAdapter $connection, IQueryBuilder $queryBuilder) { parent::__construct($connection, $queryBuilder); - $params = $connection->getParams(); + $params = $connection->getInner()->getParams(); $this->charset = isset($params['charset']) ? $params['charset'] : 'utf8'; } diff --git a/lib/private/DB/QueryBuilder/QueryBuilder.php b/lib/private/DB/QueryBuilder/QueryBuilder.php index 2d5fe6ce575..657e52e54bc 100644 --- a/lib/private/DB/QueryBuilder/QueryBuilder.php +++ b/lib/private/DB/QueryBuilder/QueryBuilder.php @@ -30,11 +30,12 @@ namespace OC\DB\QueryBuilder; -use Doctrine\DBAL\Platforms\MySqlPlatform; -use Doctrine\DBAL\Platforms\PostgreSqlPlatform; +use Doctrine\DBAL\Platforms\MySQLPlatform; +use Doctrine\DBAL\Platforms\OraclePlatform; +use Doctrine\DBAL\Platforms\PostgreSQL94Platform; use Doctrine\DBAL\Platforms\SqlitePlatform; use Doctrine\DBAL\Query\QueryException; -use OC\DB\OracleConnection; +use OC\DB\ConnectionAdapter; use OC\DB\QueryBuilder\ExpressionBuilder\ExpressionBuilder; use OC\DB\QueryBuilder\ExpressionBuilder\MySqlExpressionBuilder; use OC\DB\QueryBuilder\ExpressionBuilder\OCIExpressionBuilder; @@ -44,17 +45,18 @@ use OC\DB\QueryBuilder\FunctionBuilder\FunctionBuilder; use OC\DB\QueryBuilder\FunctionBuilder\OCIFunctionBuilder; use OC\DB\QueryBuilder\FunctionBuilder\PgSqlFunctionBuilder; use OC\DB\QueryBuilder\FunctionBuilder\SqliteFunctionBuilder; +use OC\DB\ResultAdapter; use OC\SystemConfig; +use OCP\DB\IResult; use OCP\DB\QueryBuilder\ILiteral; use OCP\DB\QueryBuilder\IParameter; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\DB\QueryBuilder\IQueryFunction; -use OCP\IDBConnection; use OCP\ILogger; class QueryBuilder implements IQueryBuilder { - /** @var \OCP\IDBConnection */ + /** @var ConnectionAdapter */ private $connection; /** @var SystemConfig */ @@ -78,15 +80,15 @@ class QueryBuilder implements IQueryBuilder { /** * Initializes a new QueryBuilder. * - * @param IDBConnection $connection + * @param ConnectionAdapter $connection * @param SystemConfig $systemConfig * @param ILogger $logger */ - public function __construct(IDBConnection $connection, SystemConfig $systemConfig, ILogger $logger) { + public function __construct(ConnectionAdapter $connection, SystemConfig $systemConfig, ILogger $logger) { $this->connection = $connection; $this->systemConfig = $systemConfig; $this->logger = $logger; - $this->queryBuilder = new \Doctrine\DBAL\Query\QueryBuilder($this->connection); + $this->queryBuilder = new \Doctrine\DBAL\Query\QueryBuilder($this->connection->getInner()); $this->helper = new QuoteHelper(); } @@ -118,17 +120,20 @@ class QueryBuilder implements IQueryBuilder { * @return \OCP\DB\QueryBuilder\IExpressionBuilder */ public function expr() { - if ($this->connection instanceof OracleConnection) { + if ($this->connection->getDatabasePlatform() instanceof OraclePlatform) { return new OCIExpressionBuilder($this->connection, $this); - } elseif ($this->connection->getDatabasePlatform() instanceof PostgreSqlPlatform) { + } + if ($this->connection->getDatabasePlatform() instanceof PostgreSQL94Platform) { return new PgSqlExpressionBuilder($this->connection, $this); - } elseif ($this->connection->getDatabasePlatform() instanceof MySqlPlatform) { + } + if ($this->connection->getDatabasePlatform() instanceof MySQLPlatform) { return new MySqlExpressionBuilder($this->connection, $this); - } elseif ($this->connection->getDatabasePlatform() instanceof SqlitePlatform) { + } + if ($this->connection->getDatabasePlatform() instanceof SqlitePlatform) { return new SqliteExpressionBuilder($this->connection, $this); - } else { - return new ExpressionBuilder($this->connection, $this); } + + return new ExpressionBuilder($this->connection, $this); } /** @@ -148,15 +153,17 @@ class QueryBuilder implements IQueryBuilder { * @return \OCP\DB\QueryBuilder\IFunctionBuilder */ public function func() { - if ($this->connection instanceof OracleConnection) { + if ($this->connection->getDatabasePlatform() instanceof OraclePlatform) { return new OCIFunctionBuilder($this->helper); - } elseif ($this->connection->getDatabasePlatform() instanceof SqlitePlatform) { + } + if ($this->connection->getDatabasePlatform() instanceof SqlitePlatform) { return new SqliteFunctionBuilder($this->helper); - } elseif ($this->connection->getDatabasePlatform() instanceof PostgreSqlPlatform) { + } + if ($this->connection->getDatabasePlatform() instanceof PostgreSQL94Platform) { return new PgSqlFunctionBuilder($this->helper); - } else { - return new FunctionBuilder($this->helper); } + + return new FunctionBuilder($this->helper); } /** @@ -192,7 +199,7 @@ class QueryBuilder implements IQueryBuilder { * Uses {@see Connection::executeQuery} for select statements and {@see Connection::executeUpdate} * for insert, update and delete statements. * - * @return \Doctrine\DBAL\Driver\Statement|int + * @return IResult|int */ public function execute() { if ($this->systemConfig->getValue('log_query', false)) { @@ -246,7 +253,11 @@ class QueryBuilder implements IQueryBuilder { } } - return $this->queryBuilder->execute(); + $result = $this->queryBuilder->execute(); + if (is_int($result)) { + return $result; + } + return new ResultAdapter($result); } /** |