Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2021-01-03 17:28:31 +0300
committerChristoph Wurst <christoph@winzerhof-wurst.at>2021-01-08 13:45:19 +0300
commit8b64e92b9262d2a2eec6345685ce421050f95c66 (patch)
treedd51490b8a184b2643414d11867a9fa450aa5065 /lib/public/DB
parent84e6e9f7cf19207041925eaa237d24e1c12c2c2d (diff)
Bump doctrine/dbal from 2.12.0 to 3.0.0
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib/public/DB')
-rw-r--r--lib/public/DB/IPreparedStatement.php127
-rw-r--r--lib/public/DB/IResult.php83
-rw-r--r--lib/public/DB/QueryBuilder/IQueryBuilder.php7
3 files changed, 216 insertions, 1 deletions
diff --git a/lib/public/DB/IPreparedStatement.php b/lib/public/DB/IPreparedStatement.php
new file mode 100644
index 00000000000..6b6617ba5ea
--- /dev/null
+++ b/lib/public/DB/IPreparedStatement.php
@@ -0,0 +1,127 @@
+<?php
+
+declare(strict_types=1);
+
+/*
+ * @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+namespace OCP\DB;
+
+use Doctrine\DBAL\Exception;
+use Doctrine\DBAL\ParameterType;
+use PDO;
+
+/**
+ * @since 21.0.0
+ */
+interface IPreparedStatement {
+
+ /**
+ * @return true
+ *
+ * @since 21.0.0
+ * @deprecated 21.0.0 use \OCP\DB\IResult::closeCursor on the \OCP\DB\IResult returned by \OCP\IDBConnection::prepare
+ */
+ public function closeCursor(): bool;
+
+ /**
+ * @param int $fetchMode
+ *
+ * @return mixed
+ *
+ * @since 21.0.0
+ * @deprecated 21.0.0 use \OCP\DB\IResult::fetch on the \OCP\DB\IResult returned by \OCP\IDBConnection::prepare
+ */
+ public function fetch(int $fetchMode = PDO::FETCH_ASSOC);
+
+ /**
+ * @param int $fetchMode
+ *
+ * @return mixed[]
+ *
+ * @since 21.0.0
+ * @deprecated 21.0.0 use \OCP\DB\IResult::fetchAll on the \OCP\DB\IResult returned by \OCP\IDBConnection::prepare
+ */
+ public function fetchAll(int $fetchMode = PDO::FETCH_ASSOC);
+
+ /**
+ * @return mixed
+ *
+ * @since 21.0.0
+ * @deprecated 21.0.0 use \OCP\DB\IResult::fetchColumn on the \OCP\DB\IResult returned by \OCP\IDBConnection::prepare
+ */
+ public function fetchColumn();
+
+ /**
+ * @return mixed
+ *
+ * @since 21.0.0
+ * @deprecated 21.0.0 use \OCP\DB\IResult::fetchOne on the \OCP\DB\IResult returned by \OCP\IDBConnection::prepare
+ */
+ public function fetchOne();
+
+ /**
+ * @param int|string $param
+ * @param mixed $value
+ * @param int $type
+ *
+ * @return bool
+ *
+ * @throws Exception
+ *
+ * @since 21.0.0
+ */
+ public function bindValue($param, $value, $type = ParameterType::STRING): bool;
+
+ /**
+ * @param int|string $param
+ * @param mixed $variable
+ * @param int $type
+ * @param int|null $length
+ *
+ * @return bool
+ *
+ * @throws Exception
+ *
+ * @since 21.0.0
+ */
+ public function bindParam($param, &$variable, $type = ParameterType::STRING, $length = null): bool;
+
+ /**
+ * @param mixed[]|null $params
+ *
+ * @return IResult
+ *
+ * @since 21.0.0
+ * @throws Exception
+ */
+ public function execute($params = null): IResult;
+
+ /**
+ * @return int
+ *
+ * @since 21.0.0
+ *
+ * @throws Exception
+ * @deprecated 21.0.0 use \OCP\DB\IResult::rowCount on the \OCP\DB\IResult returned by \OCP\IDBConnection::prepare
+ */
+ public function rowCount(): int;
+}
diff --git a/lib/public/DB/IResult.php b/lib/public/DB/IResult.php
new file mode 100644
index 00000000000..10c788ebbf6
--- /dev/null
+++ b/lib/public/DB/IResult.php
@@ -0,0 +1,83 @@
+<?php
+
+declare(strict_types=1);
+
+/*
+ * @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+namespace OCP\DB;
+
+use PDO;
+
+/**
+ * @since 21.0.0
+ */
+interface IResult {
+
+ /**
+ * @return true
+ *
+ * @since 21.0.0
+ */
+ public function closeCursor(): bool;
+
+ /**
+ * @param int $fetchMode
+ *
+ * @return mixed
+ *
+ * @since 21.0.0
+ */
+ public function fetch(int $fetchMode = PDO::FETCH_ASSOC);
+
+ /**
+ * @param int $fetchMode (one of PDO::FETCH_ASSOC, PDO::FETCH_NUM or PDO::FETCH_COLUMN (2, 3 or 7)
+ *
+ * @return mixed[]
+ *
+ * @since 21.0.0
+ */
+ public function fetchAll(int $fetchMode = PDO::FETCH_ASSOC): array;
+
+ /**
+ * @return mixed
+ *
+ * @since 21.0.0
+ * @deprecated 21.0.0 use \OCP\DB\IResult::fetchOne
+ */
+ public function fetchColumn();
+
+ /**
+ * @param int $columnIndex
+ *
+ * @return false|mixed
+ *
+ * @since 21.0.0
+ */
+ public function fetchOne();
+
+ /**
+ * @return int
+ *
+ * @since 21.0.0
+ */
+ public function rowCount(): int;
+}
diff --git a/lib/public/DB/QueryBuilder/IQueryBuilder.php b/lib/public/DB/QueryBuilder/IQueryBuilder.php
index b4255f95834..8fcbd6c3276 100644
--- a/lib/public/DB/QueryBuilder/IQueryBuilder.php
+++ b/lib/public/DB/QueryBuilder/IQueryBuilder.php
@@ -29,6 +29,7 @@
namespace OCP\DB\QueryBuilder;
use Doctrine\DBAL\Connection;
+use OCP\DB\IResult;
/**
* This class provides a wrapper around Doctrine's QueryBuilder
@@ -148,7 +149,11 @@ interface IQueryBuilder {
* Uses {@see Connection::executeQuery} for select statements and {@see Connection::executeUpdate}
* for insert, update and delete statements.
*
- * @return \Doctrine\DBAL\Driver\Statement|int
+ * Warning: until Nextcloud 20, this method could return a \Doctrine\DBAL\Driver\Statement but since
+ * that interface changed in a breaking way the adapter \OCP\DB\QueryBuilder\IStatement is returned
+ * to bridge old code to the new API
+ *
+ * @return IResult|int
* @since 8.2.0
*/
public function execute();