fix: Prevent breaking change in IQueryBuilder

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
pull/47329/head
Ferdinand Thiessen 2024-08-21 11:42:56 +07:00
parent e314d52118
commit db94e10af0
No known key found for this signature in database
GPG Key ID: 45FAE7268762B400
15 changed files with 57 additions and 51 deletions

@ -303,7 +303,7 @@ class FederatedShareProvider implements IShareProvider {
->setValue('uid_owner', $qb->createNamedParameter($uidOwner)) ->setValue('uid_owner', $qb->createNamedParameter($uidOwner))
->setValue('uid_initiator', $qb->createNamedParameter($sharedBy)) ->setValue('uid_initiator', $qb->createNamedParameter($sharedBy))
->setValue('permissions', $qb->createNamedParameter($permissions)) ->setValue('permissions', $qb->createNamedParameter($permissions))
->setValue('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATETIME)) ->setValue('expiration', $qb->createNamedParameter($expirationDate, IQueryBuilder::PARAM_DATETIME_MUTABLE))
->setValue('token', $qb->createNamedParameter($token)) ->setValue('token', $qb->createNamedParameter($token))
->setValue('stime', $qb->createNamedParameter(time())); ->setValue('stime', $qb->createNamedParameter(time()));
@ -333,7 +333,7 @@ class FederatedShareProvider implements IShareProvider {
->set('permissions', $qb->createNamedParameter($share->getPermissions())) ->set('permissions', $qb->createNamedParameter($share->getPermissions()))
->set('uid_owner', $qb->createNamedParameter($share->getShareOwner())) ->set('uid_owner', $qb->createNamedParameter($share->getShareOwner()))
->set('uid_initiator', $qb->createNamedParameter($share->getSharedBy())) ->set('uid_initiator', $qb->createNamedParameter($share->getSharedBy()))
->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATETIME)) ->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATETIME_MUTABLE))
->executeStatement(); ->executeStatement();
// send the updated permission to the owner/initiator, if they are not the same // send the updated permission to the owner/initiator, if they are not the same

@ -135,7 +135,7 @@ class ReminderMapper extends QBMapper {
$qb->select('id', 'user_id', 'file_id', 'due_date', 'updated_at', 'created_at', 'notified') $qb->select('id', 'user_id', 'file_id', 'due_date', 'updated_at', 'created_at', 'notified')
->from($this->getTableName()) ->from($this->getTableName())
->where($qb->expr()->eq('notified', $qb->createNamedParameter(true, IQueryBuilder::PARAM_BOOL))) ->where($qb->expr()->eq('notified', $qb->createNamedParameter(true, IQueryBuilder::PARAM_BOOL)))
->andWhere($qb->expr()->lt('due_date', $qb->createNamedParameter($buffer, IQueryBuilder::PARAM_DATETIME))) ->andWhere($qb->expr()->lt('due_date', $qb->createNamedParameter($buffer, IQueryBuilder::PARAM_DATETIME_MUTABLE)))
->orderBy('due_date', 'ASC') ->orderBy('due_date', 'ASC')
->setMaxResults($limit); ->setMaxResults($limit);

@ -699,7 +699,7 @@ class ShareByMailProvider extends DefaultShareProvider implements IShareProvider
->setValue('permissions', $qb->createNamedParameter($permissions)) ->setValue('permissions', $qb->createNamedParameter($permissions))
->setValue('token', $qb->createNamedParameter($token)) ->setValue('token', $qb->createNamedParameter($token))
->setValue('password', $qb->createNamedParameter($password)) ->setValue('password', $qb->createNamedParameter($password))
->setValue('password_expiration_time', $qb->createNamedParameter($passwordExpirationTime, IQueryBuilder::PARAM_DATETIME)) ->setValue('password_expiration_time', $qb->createNamedParameter($passwordExpirationTime, IQueryBuilder::PARAM_DATETIME_MUTABLE))
->setValue('password_by_talk', $qb->createNamedParameter($sendPasswordByTalk, IQueryBuilder::PARAM_BOOL)) ->setValue('password_by_talk', $qb->createNamedParameter($sendPasswordByTalk, IQueryBuilder::PARAM_BOOL))
->setValue('stime', $qb->createNamedParameter(time())) ->setValue('stime', $qb->createNamedParameter(time()))
->setValue('hide_download', $qb->createNamedParameter((int)$hideDownload, IQueryBuilder::PARAM_INT)) ->setValue('hide_download', $qb->createNamedParameter((int)$hideDownload, IQueryBuilder::PARAM_INT))
@ -712,7 +712,7 @@ class ShareByMailProvider extends DefaultShareProvider implements IShareProvider
$qb->setValue('attributes', $qb->createNamedParameter($shareAttributes)); $qb->setValue('attributes', $qb->createNamedParameter($shareAttributes));
if ($expirationTime !== null) { if ($expirationTime !== null) {
$qb->setValue('expiration', $qb->createNamedParameter($expirationTime, IQueryBuilder::PARAM_DATETIME)); $qb->setValue('expiration', $qb->createNamedParameter($expirationTime, IQueryBuilder::PARAM_DATETIME_MUTABLE));
} }
$qb->executeStatement(); $qb->executeStatement();
@ -752,10 +752,10 @@ class ShareByMailProvider extends DefaultShareProvider implements IShareProvider
->set('uid_owner', $qb->createNamedParameter($share->getShareOwner())) ->set('uid_owner', $qb->createNamedParameter($share->getShareOwner()))
->set('uid_initiator', $qb->createNamedParameter($share->getSharedBy())) ->set('uid_initiator', $qb->createNamedParameter($share->getSharedBy()))
->set('password', $qb->createNamedParameter($share->getPassword())) ->set('password', $qb->createNamedParameter($share->getPassword()))
->set('password_expiration_time', $qb->createNamedParameter($share->getPasswordExpirationTime(), IQueryBuilder::PARAM_DATETIME)) ->set('password_expiration_time', $qb->createNamedParameter($share->getPasswordExpirationTime(), IQueryBuilder::PARAM_DATETIME_MUTABLE))
->set('label', $qb->createNamedParameter($share->getLabel())) ->set('label', $qb->createNamedParameter($share->getLabel()))
->set('password_by_talk', $qb->createNamedParameter($share->getSendPasswordByTalk(), IQueryBuilder::PARAM_BOOL)) ->set('password_by_talk', $qb->createNamedParameter($share->getSendPasswordByTalk(), IQueryBuilder::PARAM_BOOL))
->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATETIME)) ->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATETIME_MUTABLE))
->set('note', $qb->createNamedParameter($share->getNote())) ->set('note', $qb->createNamedParameter($share->getNote()))
->set('hide_download', $qb->createNamedParameter((int)$share->getHideDownload(), IQueryBuilder::PARAM_INT)) ->set('hide_download', $qb->createNamedParameter((int)$share->getHideDownload(), IQueryBuilder::PARAM_INT))
->set('attributes', $qb->createNamedParameter($shareAttributes)) ->set('attributes', $qb->createNamedParameter($shareAttributes))

@ -440,14 +440,14 @@ class Manager implements ICommentsManager {
$query->expr()->orX( $query->expr()->orX(
$query->expr()->lt( $query->expr()->lt(
'creation_timestamp', 'creation_timestamp',
$query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME), $query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME_MUTABLE),
IQueryBuilder::PARAM_DATETIME IQueryBuilder::PARAM_DATETIME_MUTABLE
), ),
$query->expr()->andX( $query->expr()->andX(
$query->expr()->eq( $query->expr()->eq(
'creation_timestamp', 'creation_timestamp',
$query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME), $query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME_MUTABLE),
IQueryBuilder::PARAM_DATETIME IQueryBuilder::PARAM_DATETIME_MUTABLE
), ),
$idComparison $idComparison
) )
@ -463,14 +463,14 @@ class Manager implements ICommentsManager {
$query->expr()->orX( $query->expr()->orX(
$query->expr()->gt( $query->expr()->gt(
'creation_timestamp', 'creation_timestamp',
$query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME), $query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME_MUTABLE),
IQueryBuilder::PARAM_DATETIME IQueryBuilder::PARAM_DATETIME_MUTABLE
), ),
$query->expr()->andX( $query->expr()->andX(
$query->expr()->eq( $query->expr()->eq(
'creation_timestamp', 'creation_timestamp',
$query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME), $query->createNamedParameter($lastKnownCommentDateTime, IQueryBuilder::PARAM_DATETIME_MUTABLE),
IQueryBuilder::PARAM_DATETIME IQueryBuilder::PARAM_DATETIME_MUTABLE
), ),
$idComparison $idComparison
) )
@ -740,7 +740,7 @@ class Manager implements ICommentsManager {
->from('comments') ->from('comments')
->where($query->expr()->eq('object_type', $query->createNamedParameter($objectType))) ->where($query->expr()->eq('object_type', $query->createNamedParameter($objectType)))
->andWhere($query->expr()->eq('object_id', $query->createNamedParameter($objectId))) ->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'); ->orderBy('creation_timestamp', 'desc');
if ($verb !== '') { if ($verb !== '') {
@ -1551,7 +1551,7 @@ class Manager implements ICommentsManager {
$qb = $this->dbConn->getQueryBuilder(); $qb = $this->dbConn->getQueryBuilder();
$qb->delete('comments') $qb->delete('comments')
->where($qb->expr()->lte('expire_date', ->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))); ->andWhere($qb->expr()->eq('object_type', $qb->createNamedParameter($objectType)));
if ($objectId !== '') { if ($objectId !== '') {

@ -49,17 +49,17 @@ class SqliteExpressionBuilder extends ExpressionBuilder {
*/ */
public function castColumn($column, $type): IQueryFunction { public function castColumn($column, $type): IQueryFunction {
switch ($type) { switch ($type) {
case IQueryBuilder::PARAM_DATE: case IQueryBuilder::PARAM_DATE_MUTABLE:
case IQueryBuilder::PARAM_DATE_IMMUTABLE: case IQueryBuilder::PARAM_DATE_IMMUTABLE:
$column = $this->helper->quoteColumnName($column); $column = $this->helper->quoteColumnName($column);
return new QueryFunction('DATE(' . $column . ')'); return new QueryFunction('DATE(' . $column . ')');
case IQueryBuilder::PARAM_DATETIME: case IQueryBuilder::PARAM_DATETIME_MUTABLE:
case IQueryBuilder::PARAM_DATETIME_TZ:
case IQueryBuilder::PARAM_DATETIME_IMMUTABLE: case IQueryBuilder::PARAM_DATETIME_IMMUTABLE:
case IQueryBuilder::PARAM_DATETIME_TZ_MUTABLE:
case IQueryBuilder::PARAM_DATETIME_TZ_IMMUTABLE: case IQueryBuilder::PARAM_DATETIME_TZ_IMMUTABLE:
$column = $this->helper->quoteColumnName($column); $column = $this->helper->quoteColumnName($column);
return new QueryFunction('DATETIME(' . $column . ')'); return new QueryFunction('DATETIME(' . $column . ')');
case IQueryBuilder::PARAM_TIME: case IQueryBuilder::PARAM_TIME_MUTABLE:
case IQueryBuilder::PARAM_TIME_IMMUTABLE: case IQueryBuilder::PARAM_TIME_IMMUTABLE:
$column = $this->helper->quoteColumnName($column); $column = $this->helper->quoteColumnName($column);
return new QueryFunction('TIME(' . $column . ')'); return new QueryFunction('TIME(' . $column . ')');

@ -42,7 +42,7 @@ class DatabaseBackend implements IBackend {
$qb = $this->dbConnection->getQueryBuilder(); $qb = $this->dbConnection->getQueryBuilder();
$qb->delete(self::TABLE_NAME) $qb->delete(self::TABLE_NAME)
->where( ->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(); ->executeStatement();
@ -87,7 +87,7 @@ class DatabaseBackend implements IBackend {
$qb->insert(self::TABLE_NAME) $qb->insert(self::TABLE_NAME)
->values([ ->values([
'hash' => $qb->createNamedParameter($identifier, IQueryBuilder::PARAM_STR), '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)) { if (!$this->config->getSystemValueBool('ratelimit.protection.enabled', true)) {

@ -222,7 +222,7 @@ class DefaultShareProvider implements IShareProviderWithNotification, IShareProv
->set('attributes', $qb->createNamedParameter($shareAttributes)) ->set('attributes', $qb->createNamedParameter($shareAttributes))
->set('item_source', $qb->createNamedParameter($share->getNode()->getId())) ->set('item_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('file_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('note', $qb->createNamedParameter($share->getNote()))
->set('accepted', $qb->createNamedParameter($share->getStatus())) ->set('accepted', $qb->createNamedParameter($share->getStatus()))
->set('reminder_sent', $qb->createNamedParameter($share->getReminderSent(), IQueryBuilder::PARAM_BOOL)) ->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('attributes', $qb->createNamedParameter($shareAttributes))
->set('item_source', $qb->createNamedParameter($share->getNode()->getId())) ->set('item_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('file_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('note', $qb->createNamedParameter($share->getNote()))
->execute(); ->execute();
@ -252,7 +252,7 @@ class DefaultShareProvider implements IShareProviderWithNotification, IShareProv
->set('uid_initiator', $qb->createNamedParameter($share->getSharedBy())) ->set('uid_initiator', $qb->createNamedParameter($share->getSharedBy()))
->set('item_source', $qb->createNamedParameter($share->getNode()->getId())) ->set('item_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('file_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('note', $qb->createNamedParameter($share->getNote()))
->execute(); ->execute();
@ -279,7 +279,7 @@ class DefaultShareProvider implements IShareProviderWithNotification, IShareProv
->set('item_source', $qb->createNamedParameter($share->getNode()->getId())) ->set('item_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('file_source', $qb->createNamedParameter($share->getNode()->getId())) ->set('file_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('token', $qb->createNamedParameter($share->getToken())) ->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('note', $qb->createNamedParameter($share->getNote()))
->set('label', $qb->createNamedParameter($share->getLabel())) ->set('label', $qb->createNamedParameter($share->getLabel()))
->set('hide_download', $qb->createNamedParameter($share->getHideDownload() ? 1 : 0), IQueryBuilder::PARAM_INT) ->set('hide_download', $qb->createNamedParameter($share->getHideDownload() ? 1 : 0), IQueryBuilder::PARAM_INT)

@ -95,11 +95,11 @@ class TaskMapper extends QBMapper {
$qb = $this->db->getQueryBuilder(); $qb = $this->db->getQueryBuilder();
$qb->select('*') $qb->select('*')
->from($this->tableName) ->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); $deletedTasks = $this->findEntities($qb);
$qb = $this->db->getQueryBuilder(); $qb = $this->db->getQueryBuilder();
$qb->delete($this->tableName) $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(); $qb->executeStatement();
return $deletedTasks; return $deletedTasks;
} }

@ -230,11 +230,11 @@ abstract class QBMapper {
case Types::BLOB: case Types::BLOB:
return IQueryBuilder::PARAM_LOB; return IQueryBuilder::PARAM_LOB;
case Types::DATE: case Types::DATE:
return IQueryBuilder::PARAM_DATE; return IQueryBuilder::PARAM_DATETIME_MUTABLE;
case Types::DATETIME: case Types::DATETIME:
return IQueryBuilder::PARAM_DATETIME; return IQueryBuilder::PARAM_DATETIME_MUTABLE;
case Types::DATETIME_TZ: case Types::DATETIME_TZ:
return IQueryBuilder::PARAM_DATETIME_TZ; return IQueryBuilder::PARAM_DATETIME_TZ_MUTABLE;
case Types::DATE_IMMUTABLE: case Types::DATE_IMMUTABLE:
return IQueryBuilder::PARAM_DATE_IMMUTABLE; return IQueryBuilder::PARAM_DATE_IMMUTABLE;
case Types::DATETIME_IMMUTABLE: case Types::DATETIME_IMMUTABLE:
@ -242,7 +242,7 @@ abstract class QBMapper {
case Types::DATETIME_TZ_IMMUTABLE: case Types::DATETIME_TZ_IMMUTABLE:
return IQueryBuilder::PARAM_DATETIME_TZ_IMMUTABLE; return IQueryBuilder::PARAM_DATETIME_TZ_IMMUTABLE;
case Types::TIME: case Types::TIME:
return IQueryBuilder::PARAM_TIME; return IQueryBuilder::PARAM_TIME_MUTABLE;
case Types::TIME_IMMUTABLE: case Types::TIME_IMMUTABLE:
return IQueryBuilder::PARAM_TIME_IMMUTABLE; return IQueryBuilder::PARAM_TIME_IMMUTABLE;
case Types::JSON: case Types::JSON:

@ -43,29 +43,35 @@ interface IQueryBuilder {
*/ */
public const PARAM_LOB = ParameterType::LARGE_OBJECT; 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) * For passing a \DateTime instance when only interested in the time part (without timezone support)
* @since 31.0.0 * @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) * 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) * For passing a \DateTime instance (without timezone support)
* @since 31.0.0 * @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 * For passing a \DateTime instance with timezone support
* @since 31.0.0 * @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) * For passing a \DateTimeImmutable instance when only interested in the time part (without timezone support)

@ -151,7 +151,7 @@ class QBMapperTest extends \Test\TestCase {
$entity->setStringProp('string'); $entity->setStringProp('string');
$entity->setIntegerProp(456); $entity->setIntegerProp(456);
$entity->setBooleanProp(false); $entity->setBooleanProp(false);
$entity->setJsonProp(["hello" => "world"]); $entity->setJsonProp(['hello' => 'world']);
$entity->setDatetimeProp($datetime); $entity->setDatetimeProp($datetime);
$idParam = $this->qb->createNamedParameter('id', IQueryBuilder::PARAM_INT); $idParam = $this->qb->createNamedParameter('id', IQueryBuilder::PARAM_INT);
@ -171,7 +171,7 @@ class QBMapperTest extends \Test\TestCase {
[$this->equalTo('string'), $this->equalTo(IQueryBuilder::PARAM_STR)], [$this->equalTo('string'), $this->equalTo(IQueryBuilder::PARAM_STR)],
[$this->equalTo(456), $this->equalTo(IQueryBuilder::PARAM_INT)], [$this->equalTo(456), $this->equalTo(IQueryBuilder::PARAM_INT)],
[$this->equalTo(false), $this->equalTo(IQueryBuilder::PARAM_BOOL)], [$this->equalTo(false), $this->equalTo(IQueryBuilder::PARAM_BOOL)],
[$this->equalTo(["hello" => "world"]), $this->equalTo(IQueryBuilder::PARAM_JSON)], [$this->equalTo(['hello' => 'world']), $this->equalTo(IQueryBuilder::PARAM_JSON)],
[$this->equalTo($datetime), $this->equalTo(IQueryBuilder::PARAM_DATETIME_IMMUTABLE)], [$this->equalTo($datetime), $this->equalTo(IQueryBuilder::PARAM_DATETIME_IMMUTABLE)],
[$this->equalTo(789), $this->equalTo(IQueryBuilder::PARAM_INT)], [$this->equalTo(789), $this->equalTo(IQueryBuilder::PARAM_INT)],
); );

@ -71,11 +71,11 @@ class ManagerTest extends TestCase {
'actor_id' => $qb->createNamedParameter('alice'), 'actor_id' => $qb->createNamedParameter('alice'),
'message' => $qb->createNamedParameter('nice one'), 'message' => $qb->createNamedParameter('nice one'),
'verb' => $qb->createNamedParameter('comment'), 'verb' => $qb->createNamedParameter('comment'),
'creation_timestamp' => $qb->createNamedParameter($creationDT, IQueryBuilder::PARAM_DATETIME), 'creation_timestamp' => $qb->createNamedParameter($creationDT, IQueryBuilder::PARAM_DATETIME_MUTABLE),
'latest_child_timestamp' => $qb->createNamedParameter($latestChildDT, IQueryBuilder::PARAM_DATETIME), 'latest_child_timestamp' => $qb->createNamedParameter($latestChildDT, IQueryBuilder::PARAM_DATETIME_MUTABLE),
'object_type' => $qb->createNamedParameter('files'), 'object_type' => $qb->createNamedParameter('files'),
'object_id' => $qb->createNamedParameter($objectId), 'object_id' => $qb->createNamedParameter($objectId),
'expire_date' => $qb->createNamedParameter($expireDate, IQueryBuilder::PARAM_DATETIME), 'expire_date' => $qb->createNamedParameter($expireDate, IQueryBuilder::PARAM_DATETIME_MUTABLE),
'reference_id' => $qb->createNamedParameter('referenceId'), 'reference_id' => $qb->createNamedParameter('referenceId'),
'meta_data' => $qb->createNamedParameter(json_encode(['last_edit_actor_id' => 'admin'])), 'meta_data' => $qb->createNamedParameter(json_encode(['last_edit_actor_id' => 'admin'])),
]) ])

@ -145,13 +145,13 @@ class ExpressionBuilderDBTest extends TestCase {
$dateTime = new \DateTime('2023-01-01'); $dateTime = new \DateTime('2023-01-01');
$insert = $this->connection->getQueryBuilder(); $insert = $this->connection->getQueryBuilder();
$insert->insert('testing') $insert->insert('testing')
->values(['datetime' => $insert->createNamedParameter($dateTime, IQueryBuilder::PARAM_DATE)]) ->values(['datetime' => $insert->createNamedParameter($dateTime, IQueryBuilder::PARAM_DATETIME_MUTABLE)])
->executeStatement(); ->executeStatement();
$query = $this->connection->getQueryBuilder(); $query = $this->connection->getQueryBuilder();
$result = $query->select('*') $result = $query->select('*')
->from('testing') ->from('testing')
->where($query->expr()->eq('datetime', $query->createNamedParameter($dateTime, IQueryBuilder::PARAM_DATE))) ->where($query->expr()->eq('datetime', $query->createNamedParameter($dateTime, IQueryBuilder::PARAM_DATETIME_MUTABLE)))
->executeQuery(); ->executeQuery();
$entries = $result->fetchAll(); $entries = $result->fetchAll();
$result->closeCursor(); $result->closeCursor();
@ -163,13 +163,13 @@ class ExpressionBuilderDBTest extends TestCase {
$dateTimeCompare = new \DateTime('2022-01-02'); $dateTimeCompare = new \DateTime('2022-01-02');
$insert = $this->connection->getQueryBuilder(); $insert = $this->connection->getQueryBuilder();
$insert->insert('testing') $insert->insert('testing')
->values(['datetime' => $insert->createNamedParameter($dateTime, IQueryBuilder::PARAM_DATE)]) ->values(['datetime' => $insert->createNamedParameter($dateTime, IQueryBuilder::PARAM_DATETIME_MUTABLE)])
->executeStatement(); ->executeStatement();
$query = $this->connection->getQueryBuilder(); $query = $this->connection->getQueryBuilder();
$result = $query->select('*') $result = $query->select('*')
->from('testing') ->from('testing')
->where($query->expr()->lt('datetime', $query->createNamedParameter($dateTimeCompare, IQueryBuilder::PARAM_DATE))) ->where($query->expr()->lt('datetime', $query->createNamedParameter($dateTimeCompare, IQueryBuilder::PARAM_DATETIME_MUTABLE)))
->executeQuery(); ->executeQuery();
$entries = $result->fetchAll(); $entries = $result->fetchAll();
$result->closeCursor(); $result->closeCursor();
@ -181,13 +181,13 @@ class ExpressionBuilderDBTest extends TestCase {
$dateTimeCompare = new \DateTime('2023-01-01'); $dateTimeCompare = new \DateTime('2023-01-01');
$insert = $this->connection->getQueryBuilder(); $insert = $this->connection->getQueryBuilder();
$insert->insert('testing') $insert->insert('testing')
->values(['datetime' => $insert->createNamedParameter($dateTime, IQueryBuilder::PARAM_DATE)]) ->values(['datetime' => $insert->createNamedParameter($dateTime, IQueryBuilder::PARAM_DATETIME_MUTABLE)])
->executeStatement(); ->executeStatement();
$query = $this->connection->getQueryBuilder(); $query = $this->connection->getQueryBuilder();
$result = $query->select('*') $result = $query->select('*')
->from('testing') ->from('testing')
->where($query->expr()->gt('datetime', $query->createNamedParameter($dateTimeCompare, IQueryBuilder::PARAM_DATE))) ->where($query->expr()->gt('datetime', $query->createNamedParameter($dateTimeCompare, IQueryBuilder::PARAM_DATETIME_MUTABLE)))
->executeQuery(); ->executeQuery();
$entries = $result->fetchAll(); $entries = $result->fetchAll();
$result->closeCursor(); $result->closeCursor();

@ -162,7 +162,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb->setValue('token', $qb->expr()->literal($token)); $qb->setValue('token', $qb->expr()->literal($token));
} }
if ($expiration) { if ($expiration) {
$qb->setValue('expiration', $qb->createNamedParameter($expiration, IQueryBuilder::PARAM_DATE)); $qb->setValue('expiration', $qb->createNamedParameter($expiration, IQueryBuilder::PARAM_DATETIME_MUTABLE));
} }
if ($parent) { if ($parent) {
$qb->setValue('parent', $qb->expr()->literal($parent)); $qb->setValue('parent', $qb->expr()->literal($parent));

@ -179,7 +179,7 @@ class ShareByMailProviderTest extends TestCase {
$qb->setValue('token', $qb->expr()->literal($token)); $qb->setValue('token', $qb->expr()->literal($token));
} }
if ($expiration) { if ($expiration) {
$qb->setValue('expiration', $qb->createNamedParameter($expiration, IQueryBuilder::PARAM_DATE)); $qb->setValue('expiration', $qb->createNamedParameter($expiration, IQueryBuilder::PARAM_DATETIME_MUTABLE));
} }
if ($parent) { if ($parent) {
$qb->setValue('parent', $qb->expr()->literal($parent)); $qb->setValue('parent', $qb->expr()->literal($parent));