summaryrefslogtreecommitdiffstats
path: root/lib/private/DB/QueryBuilder
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2021-01-03 15:28:31 +0100
committerChristoph Wurst <christoph@winzerhof-wurst.at>2021-01-08 11:45:19 +0100
commit8b64e92b9262d2a2eec6345685ce421050f95c66 (patch)
treedd51490b8a184b2643414d11867a9fa450aa5065 /lib/private/DB/QueryBuilder
parent84e6e9f7cf19207041925eaa237d24e1c12c2c2d (diff)
downloadnextcloud-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')
-rw-r--r--lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php7
-rw-r--r--lib/private/DB/QueryBuilder/ExpressionBuilder/MySqlExpressionBuilder.php9
-rw-r--r--lib/private/DB/QueryBuilder/QueryBuilder.php53
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);
}
/**