]> git.mxchange.org Git - friendica.git/commitdiff
Avoid some database errors
authorMichael <heluecht@pirati.ca>
Thu, 25 Aug 2022 04:57:41 +0000 (04:57 +0000)
committerMichael <heluecht@pirati.ca>
Thu, 25 Aug 2022 04:57:41 +0000 (04:57 +0000)
src/Model/Post/Media.php
src/Navigation/Notifications/Repository/Notification.php
src/Protocol/ActivityPub/Receiver.php

index 3b23e5d0fe08db912bb105a4b0545d69cc2eadfc..8fb10ddd88868c64d5090a83c0f6b72421f39cfd 100644 (file)
@@ -85,6 +85,7 @@ class Media
                }
 
                $media = self::unsetEmptyFields($media);
+               $media = DI::dbaDefinition()->truncateFieldsForTable('post-media', $media);
 
                // We are storing as fast as possible to avoid duplicated network requests
                // when fetching additional information for pictures and other content.
@@ -94,6 +95,7 @@ class Media
 
                $media = self::fetchAdditionalData($media);
                $media = self::unsetEmptyFields($media);
+               $media = DI::dbaDefinition()->truncateFieldsForTable('post-media', $media);
 
                if (array_diff_assoc($media, $stored)) {
                        $result = DBA::insert('post-media', $media, Database::INSERT_UPDATE);
index 9b7b5c1033ec6541def4c4bb6e594419ca14ce57..a9630464aa576113a64d987a749f4386baf417e2 100644 (file)
@@ -251,7 +251,7 @@ class Notification extends BaseRepository
                        $this->db->update(self::$table_name, $fields, ['id' => $Notification->id]);
                } else {
                        $fields['created'] = DateTimeFormat::utcNow();
-                       $this->db->insert(self::$table_name, $fields);
+                       $this->db->insert(self::$table_name, $fields, Database::INSERT_IGNORE);
 
                        $Notification = $this->selectOneById($this->db->lastInsertId());
                }
index b1ed57b26ae3eaf3ba0e4f3be24dd8639daf6889..8c68bcba60df9f88ec50be211e47050c2fe02ce5 100644 (file)
@@ -29,6 +29,7 @@ use Friendica\Core\Logger;
 use Friendica\Core\Protocol;
 use Friendica\Core\System;
 use Friendica\Core\Worker;
+use Friendica\Database\Database;
 use Friendica\DI;
 use Friendica\Model\Contact;
 use Friendica\Model\APContact;
@@ -1911,7 +1912,7 @@ class Receiver
        private static function addArrivedId(string $id)
        {
                DBA::delete('arrived-activity', ["`received` < ?", DateTimeFormat::utc('now - 5 minutes')]);
-               DBA::insert('arrived-activity', ['object-id' => $id, 'received' => DateTimeFormat::utcNow()]);
+               DBA::insert('arrived-activity', ['object-id' => $id, 'received' => DateTimeFormat::utcNow()], Database::INSERT_IGNORE);
        }
 
        /**