summaryrefslogtreecommitdiffstats
path: root/lib/public
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2024-07-04 17:18:22 +0200
committerRobin Appelman <robin@icewind.nl>2024-07-15 22:41:04 +0200
commit9de6190ec4cf48b8a79cd91f99723fb8cae882ee (patch)
tree92d41ea07d261df8901b9c14d91159336c2e608b /lib/public
parentf94b0c3f55f1a3f2b24a6f554cf5a67a4deae959 (diff)
downloadnextcloud-server-9de6190ec4cf48b8a79cd91f99723fb8cae882ee.tar.gz
nextcloud-server-9de6190ec4cf48b8a79cd91f99723fb8cae882ee.zip
feat: allow running QueryBuilder queries on different connections
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'lib/public')
-rw-r--r--lib/public/DB/QueryBuilder/IQueryBuilder.php10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/public/DB/QueryBuilder/IQueryBuilder.php b/lib/public/DB/QueryBuilder/IQueryBuilder.php
index 94ab796adf4..c736d3094e5 100644
--- a/lib/public/DB/QueryBuilder/IQueryBuilder.php
+++ b/lib/public/DB/QueryBuilder/IQueryBuilder.php
@@ -12,6 +12,7 @@ use Doctrine\DBAL\Connection;
use Doctrine\DBAL\ParameterType;
use OCP\DB\Exception;
use OCP\DB\IResult;
+use OCP\IDBConnection;
/**
* This class provides a wrapper around Doctrine's QueryBuilder
@@ -146,34 +147,37 @@ interface IQueryBuilder {
* that interface changed in a breaking way the adapter \OCP\DB\QueryBuilder\IStatement is returned
* to bridge old code to the new API
*
+ * @param ?IDBConnection $connection (optional) the connection to run the query against. since 30.0
* @return IResult|int
* @throws Exception since 21.0.0
* @since 8.2.0
* @deprecated 22.0.0 Use executeQuery or executeStatement
*/
- public function execute();
+ public function execute(?IDBConnection $connection = null);
/**
* Execute for select statements
*
+ * @param ?IDBConnection $connection (optional) the connection to run the query against. since 30.0
* @return IResult
* @since 22.0.0
*
* @throws Exception
* @throws \RuntimeException in case of usage with non select query
*/
- public function executeQuery(): IResult;
+ public function executeQuery(?IDBConnection $connection = null): IResult;
/**
* Execute insert, update and delete statements
*
+ * @param ?IDBConnection $connection (optional) the connection to run the query against. since 30.0
* @return int the number of affected rows
* @since 22.0.0
*
* @throws Exception
* @throws \RuntimeException in case of usage with select query
*/
- public function executeStatement(): int;
+ public function executeStatement(?IDBConnection $connection = null): int;
/**
* Gets the complete SQL string formed by the current specifications of this QueryBuilder.