aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorFerdinand Thiessen <opensource@fthiessen.de>2024-08-21 11:42:56 +0200
committerFerdinand Thiessen <opensource@fthiessen.de>2024-10-17 18:31:44 +0200
commitdb94e10af0928f35b74c22f9370df1cb3ea1160f (patch)
treee1ea39c1adb66b43b25e4d78b7dd8e11123ec067 /lib
parente314d521184514aca4d36c264995d728b04b2f49 (diff)
downloadnextcloud-server-db94e10af0928f35b74c22f9370df1cb3ea1160f.tar.gz
nextcloud-server-db94e10af0928f35b74c22f9370df1cb3ea1160f.zip
fix: Prevent breaking change in IQueryBuilder
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/private/Comments/Manager.php20
-rw-r--r--lib/private/DB/QueryBuilder/ExpressionBuilder/SqliteExpressionBuilder.php8
-rw-r--r--lib/private/Security/RateLimiting/Backend/DatabaseBackend.php4
-rw-r--r--lib/private/Share20/DefaultShareProvider.php8
-rw-r--r--lib/private/TextToImage/Db/TaskMapper.php4
-rw-r--r--lib/public/AppFramework/Db/QBMapper.php8
-rw-r--r--lib/public/DB/QueryBuilder/IQueryBuilder.php16
7 files changed, 37 insertions, 31 deletions
diff --git a/lib/private/Comments/Manager.php b/lib/private/Comments/Manager.php
index 860d3034ce8..d959ebcb0a3 100644
--- a/lib/private/Comments/Manager.php
+++ b/lib/private/Comments/Manager.php
@@ -440,14 +440,14 @@ class Manager implements ICommentsManager {
$query->expr()->orX(
$query->expr()->lt(
'creation_timestamp',
- $query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME),
- IQueryBuilder::PARAM_DATETIME
+ $query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME_MUTABLE),
+ IQueryBuilder::PARAM_DATETIME_MUTABLE
),
$query->expr()->andX(
$query->expr()->eq(
'creation_timestamp',
- $query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME),
- IQueryBuilder::PARAM_DATETIME
+ $query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME_MUTABLE),
+ IQueryBuilder::PARAM_DATETIME_MUTABLE
),
$idComparison
)
@@ -463,14 +463,14 @@ class Manager implements ICommentsManager {
$query->expr()->orX(
$query->expr()->gt(
'creation_timestamp',
- $query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME),
- IQueryBuilder::PARAM_DATETIME
+ $query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME_MUTABLE),
+ IQueryBuilder::PARAM_DATETIME_MUTABLE
),
$query->expr()->andX(
$query->expr()->eq(
'creation_timestamp',
- $query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME),
- IQueryBuilder::PARAM_DATETIME
+ $query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME_MUTABLE),
+ IQueryBuilder::PARAM_DATETIME_MUTABLE
),
$idComparison
)
@@ -740,7 +740,7 @@ class Manager implements ICommentsManager {
->from('comments')
->where($query->expr()->eq('object_type', $query->createNamedParameter($objectType)))
->andWhere($query->expr()->eq('object_id', $query->createNamedParameter($objectId)))
- ->andWhere($query->expr()->lt('creation_timestamp', $query->createNamedParameter($beforeDate, IQueryBuilder::PARAM_DATETIME)))
+ ->andWhere($query->expr()->lt('creation_timestamp', $query->createNamedParameter($beforeDate, IQueryBuilder::PARAM_DATETIME_MUTABLE)))
->orderBy('creation_timestamp', 'desc');
if ($verb !== '') {
@@ -1551,7 +1551,7 @@ class Manager implements ICommentsManager {
$qb = $this->dbConn->getQueryBuilder();
$qb->delete('comments')
->where($qb->expr()->lte('expire_date',
- $qb->createNamedParameter($this->timeFactory->getDateTime(), IQueryBuilder::PARAM_DATETIME)))
+ $qb->createNamedParameter($this->timeFactory->getDateTime(), IQueryBuilder::PARAM_DATETIME_MUTABLE)))
->andWhere($qb->expr()->eq('object_type', $qb->createNamedParameter($objectType)));
if ($objectId !== '') {
diff --git a/lib/private/DB/QueryBuilder/ExpressionBuilder/SqliteExpressionBuilder.php b/lib/private/DB/QueryBuilder/ExpressionBuilder/SqliteExpressionBuilder.php
index d1ca65b0bda..559c29df208 100644
--- a/lib/private/DB/QueryBuilder/ExpressionBuilder/SqliteExpressionBuilder.php
+++ b/lib/private/DB/QueryBuilder/ExpressionBuilder/SqliteExpressionBuilder.php
@@ -49,17 +49,17 @@ class SqliteExpressionBuilder extends ExpressionBuilder {
*/
public function castColumn($column, $type): IQueryFunction {
switch ($type) {
- case IQueryBuilder::PARAM_DATE:
+ case IQueryBuilder::PARAM_DATE_MUTABLE:
case IQueryBuilder::PARAM_DATE_IMMUTABLE:
$column = $this->helper->quoteColumnName($column);
return new QueryFunction('DATE(' . $column . ')');
- case IQueryBuilder::PARAM_DATETIME:
- case IQueryBuilder::PARAM_DATETIME_TZ:
+ case IQueryBuilder::PARAM_DATETIME_MUTABLE:
case IQueryBuilder::PARAM_DATETIME_IMMUTABLE:
+ case IQueryBuilder::PARAM_DATETIME_TZ_MUTABLE:
case IQueryBuilder::PARAM_DATETIME_TZ_IMMUTABLE:
$column = $this->helper->quoteColumnName($column);
return new QueryFunction('DATETIME(' . $column . ')');
- case IQueryBuilder::PARAM_TIME:
+ case IQueryBuilder::PARAM_TIME_MUTABLE:
case IQueryBuilder::PARAM_TIME_IMMUTABLE:
$column = $this->helper->quoteColumnName($column);
return new QueryFunction('TIME(' . $column . ')');
diff --git a/lib/private/Security/RateLimiting/Backend/DatabaseBackend.php b/lib/private/Security/RateLimiting/Backend/DatabaseBackend.php
index b03f5f3d295..9fb237f2f72 100644
--- a/lib/private/Security/RateLimiting/Backend/DatabaseBackend.php
+++ b/lib/private/Security/RateLimiting/Backend/DatabaseBackend.php
@@ -42,7 +42,7 @@ class DatabaseBackend implements IBackend {
$qb = $this->dbConnection->getQueryBuilder();
$qb->delete(self::TABLE_NAME)
->where(
- $qb->expr()->lte('delete_after', $qb->createNamedParameter($currentTime, IQueryBuilder::PARAM_DATETIME))
+ $qb->expr()->lte('delete_after', $qb->createNamedParameter($currentTime, IQueryBuilder::PARAM_DATETIME_MUTABLE))
)
->executeStatement();
@@ -87,7 +87,7 @@ class DatabaseBackend implements IBackend {
$qb->insert(self::TABLE_NAME)
->values([
'hash' => $qb->createNamedParameter($identifier, IQueryBuilder::PARAM_STR),
- 'delete_after' => $qb->createNamedParameter($deleteAfter, IQueryBuilder::PARAM_DATETIME),
+ 'delete_after' => $qb->createNamedParameter($deleteAfter, IQueryBuilder::PARAM_DATETIME_MUTABLE),
]);
if (!$this->config->getSystemValueBool('ratelimit.protection.enabled', true)) {
diff --git a/lib/private/Share20/DefaultShareProvider.php b/lib/private/Share20/DefaultShareProvider.php
index 9c36860cb45..77251fd0bc1 100644
--- a/lib/private/Share20/DefaultShareProvider.php
+++ b/lib/private/Share20/DefaultShareProvider.php
@@ -222,7 +222,7 @@ class DefaultShareProvider implements IShareProviderWithNotification, IShareProv
->set('attributes', $qb->createNamedParameter($shareAttributes))
->set('item_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('file_source', $qb->createNamedParameter($share->getNode()->getId()))
- ->set('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATETIME))
+ ->set('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATETIME_MUTABLE))
->set('note', $qb->createNamedParameter($share->getNote()))
->set('accepted', $qb->createNamedParameter($share->getStatus()))
->set('reminder_sent', $qb->createNamedParameter($share->getReminderSent(), IQueryBuilder::PARAM_BOOL))
@@ -237,7 +237,7 @@ class DefaultShareProvider implements IShareProviderWithNotification, IShareProv
->set('attributes', $qb->createNamedParameter($shareAttributes))
->set('item_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('file_source', $qb->createNamedParameter($share->getNode()->getId()))
- ->set('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATETIME))
+ ->set('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATETIME_MUTABLE))
->set('note', $qb->createNamedParameter($share->getNote()))
->execute();
@@ -252,7 +252,7 @@ class DefaultShareProvider implements IShareProviderWithNotification, IShareProv
->set('uid_initiator', $qb->createNamedParameter($share->getSharedBy()))
->set('item_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('file_source', $qb->createNamedParameter($share->getNode()->getId()))
- ->set('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATETIME))
+ ->set('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATETIME_MUTABLE))
->set('note', $qb->createNamedParameter($share->getNote()))
->execute();
@@ -279,7 +279,7 @@ class DefaultShareProvider implements IShareProviderWithNotification, IShareProv
->set('item_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('file_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('token', $qb->createNamedParameter($share->getToken()))
- ->set('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATETIME))
+ ->set('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATETIME_MUTABLE))
->set('note', $qb->createNamedParameter($share->getNote()))
->set('label', $qb->createNamedParameter($share->getLabel()))
->set('hide_download', $qb->createNamedParameter($share->getHideDownload() ? 1 : 0), IQueryBuilder::PARAM_INT)
diff --git a/lib/private/TextToImage/Db/TaskMapper.php b/lib/private/TextToImage/Db/TaskMapper.php
index 3d1e2c249a4..37f492e14cf 100644
--- a/lib/private/TextToImage/Db/TaskMapper.php
+++ b/lib/private/TextToImage/Db/TaskMapper.php
@@ -95,11 +95,11 @@ class TaskMapper extends QBMapper {
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from($this->tableName)
- ->where($qb->expr()->lt('last_updated', $qb->createPositionalParameter($datetime, IQueryBuilder::PARAM_DATETIME)));
+ ->where($qb->expr()->lt('last_updated', $qb->createPositionalParameter($datetime, IQueryBuilder::PARAM_DATETIME_MUTABLE)));
$deletedTasks = $this->findEntities($qb);
$qb = $this->db->getQueryBuilder();
$qb->delete($this->tableName)
- ->where($qb->expr()->lt('last_updated', $qb->createPositionalParameter($datetime, IQueryBuilder::PARAM_DATETIME)));
+ ->where($qb->expr()->lt('last_updated', $qb->createPositionalParameter($datetime, IQueryBuilder::PARAM_DATETIME_MUTABLE)));
$qb->executeStatement();
return $deletedTasks;
}
diff --git a/lib/public/AppFramework/Db/QBMapper.php b/lib/public/AppFramework/Db/QBMapper.php
index c0667d27111..243310fe933 100644
--- a/lib/public/AppFramework/Db/QBMapper.php
+++ b/lib/public/AppFramework/Db/QBMapper.php
@@ -230,11 +230,11 @@ abstract class QBMapper {
case Types::BLOB:
return IQueryBuilder::PARAM_LOB;
case Types::DATE:
- return IQueryBuilder::PARAM_DATE;
+ return IQueryBuilder::PARAM_DATETIME_MUTABLE;
case Types::DATETIME:
- return IQueryBuilder::PARAM_DATETIME;
+ return IQueryBuilder::PARAM_DATETIME_MUTABLE;
case Types::DATETIME_TZ:
- return IQueryBuilder::PARAM_DATETIME_TZ;
+ return IQueryBuilder::PARAM_DATETIME_TZ_MUTABLE;
case Types::DATE_IMMUTABLE:
return IQueryBuilder::PARAM_DATE_IMMUTABLE;
case Types::DATETIME_IMMUTABLE:
@@ -242,7 +242,7 @@ abstract class QBMapper {
case Types::DATETIME_TZ_IMMUTABLE:
return IQueryBuilder::PARAM_DATETIME_TZ_IMMUTABLE;
case Types::TIME:
- return IQueryBuilder::PARAM_TIME;
+ return IQueryBuilder::PARAM_TIME_MUTABLE;
case Types::TIME_IMMUTABLE:
return IQueryBuilder::PARAM_TIME_IMMUTABLE;
case Types::JSON:
diff --git a/lib/public/DB/QueryBuilder/IQueryBuilder.php b/lib/public/DB/QueryBuilder/IQueryBuilder.php
index 1ff2d4959c5..4794e7e8877 100644
--- a/lib/public/DB/QueryBuilder/IQueryBuilder.php
+++ b/lib/public/DB/QueryBuilder/IQueryBuilder.php
@@ -44,28 +44,34 @@ interface IQueryBuilder {
public const PARAM_LOB = ParameterType::LARGE_OBJECT;
/**
+ * @since 9.0.0
+ * @deprecated 31.0.0 - use PARAM_DATETIME_MUTABLE instead
+ */
+ public const PARAM_DATE = Types::DATETIME_MUTABLE;
+
+ /**
* For passing a \DateTime instance when only interested in the time part (without timezone support)
* @since 31.0.0
*/
- public const PARAM_TIME = Types::TIME_MUTABLE;
+ public const PARAM_TIME_MUTABLE = Types::TIME_MUTABLE;
/**
* For passing a \DateTime instance when only interested in the date part (without timezone support)
- * @since 9.0.0
+ * @since 31.0.0
*/
- public const PARAM_DATE = Types::DATE_MUTABLE;
+ public const PARAM_DATE_MUTABLE = Types::DATE_MUTABLE;
/**
* For passing a \DateTime instance (without timezone support)
* @since 31.0.0
*/
- public const PARAM_DATETIME = Types::DATETIME_MUTABLE;
+ public const PARAM_DATETIME_MUTABLE = Types::DATETIME_MUTABLE;
/**
* For passing a \DateTime instance with timezone support
* @since 31.0.0
*/
- public const PARAM_DATETIME_TZ = Types::DATETIMETZ_MUTABLE;
+ public const PARAM_DATETIME_TZ_MUTABLE = Types::DATETIMETZ_MUTABLE;
/**
* For passing a \DateTimeImmutable instance when only interested in the time part (without timezone support)