]> git.mxchange.org Git - friendica.git/commitdiff
"ANY_VALUE" is removed
authorMichael <heluecht@pirati.ca>
Mon, 15 Jan 2024 16:45:24 +0000 (16:45 +0000)
committerMichael <heluecht@pirati.ca>
Mon, 15 Jan 2024 16:45:24 +0000 (16:45 +0000)
mod/photos.php
src/Database/DBA.php
src/Database/Database.php
src/Model/Photo.php
src/Module/Admin/Federation.php
src/Module/Profile/Photos.php

index a4434f49363a6937a9bfba9e7d6ece06cc0e7005..322ddd15999a99859420acec1d77f44c10ffc515 100644 (file)
@@ -215,14 +215,14 @@ function photos_post(App $a)
                        // get the list of photos we are about to delete
                        if ($visitor) {
                                $r = DBA::toArray(DBA::p(
-                                       "SELECT distinct(`resource-id`) as `rid` FROM `photo` WHERE `contact-id` = ? AND `uid` = ? AND `album` = ?",
+                                       "SELECT distinct(`resource-id`) AS `rid` FROM `photo` WHERE `contact-id` = ? AND `uid` = ? AND `album` = ?",
                                        $visitor,
                                        $page_owner_uid,
                                        $album
                                ));
                        } else {
                                $r = DBA::toArray(DBA::p(
-                                       "SELECT distinct(`resource-id`) as `rid` FROM `photo` WHERE `uid` = ? AND `album` = ?",
+                                       "SELECT distinct(`resource-id`) AS `rid` FROM `photo` WHERE `uid` = ? AND `album` = ?",
                                        DI::userSession()->getLocalUserId(),
                                        $album
                                ));
@@ -762,7 +762,7 @@ function photos_content(App $a)
 
                $total = 0;
                $r = DBA::toArray(DBA::p(
-                       "SELECT `resource-id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = ? AND `album` = ?
+                       "SELECT `resource-id`, MAX(`scale`) AS `scale` FROM `photo` WHERE `uid` = ? AND `album` = ?
                        AND `scale` <= 4 $sql_extra GROUP BY `resource-id`",
                        $owner_uid,
                        $album
@@ -782,9 +782,9 @@ function photos_content(App $a)
                }
 
                $r = DBA::toArray(DBA::p(
-                       "SELECT `resource-id`, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`filename`) AS `filename`,
-                       ANY_VALUE(`type`) AS `type`, max(`scale`) AS `scale`, ANY_VALUE(`desc`) as `desc`,
-                       ANY_VALUE(`created`) as `created`
+                       "SELECT `resource-id`, MIN(`id`) AS `id`, MIN(`filename`) AS `filename`,
+                       MIN(`type`) AS `type`, MAX(`scale`) AS `scale`, MIN(`desc`) AS `desc`,
+                       MIN(`created`) AS `created`
                        FROM `photo` WHERE `uid` = ? AND `album` = ?
                        AND `scale` <= 4 $sql_extra GROUP BY `resource-id` ORDER BY `created` $order LIMIT ? , ?",
                        intval($owner_uid),
@@ -1167,11 +1167,11 @@ function photos_content(App $a)
                                }
 
                                if (!empty($conv_responses['like'][$link_item['uri']])) {
-                                       $like = DI::conversation()->formatActivity($conv_responses['like'][$link_item['uri']]['links'], 'like', $link_item['id']);
+                                       $like = DI::conversation()->formatActivity($conv_responses['like'][$link_item['uri']]['links'], 'like', $link_item['id'], '', []);
                                }
 
                                if (!empty($conv_responses['dislike'][$link_item['uri']])) {
-                                       $dislike = DI::conversation()->formatActivity($conv_responses['dislike'][$link_item['uri']]['links'], 'dislike', $link_item['id']);
+                                       $dislike = DI::conversation()->formatActivity($conv_responses['dislike'][$link_item['uri']]['links'], 'dislike', $link_item['id'], '', []);
                                }
 
                                if (($can_post || Security::canWriteToUserWall($owner_uid))) {
index d3ccca101fad0202e9e3f88f339b23bfaa083c79..d5e5a7e59bbbeb144cfe2923756d1387ab669f30 100644 (file)
@@ -132,22 +132,6 @@ class DBA
                return DI::dba()->connected();
        }
 
-       /**
-        * Replaces ANY_VALUE() function by MIN() function,
-        * if the database server does not support ANY_VALUE().
-        *
-        * Considerations for Standard SQL, or MySQL with ONLY_FULL_GROUP_BY (default since 5.7.5).
-        * ANY_VALUE() is available from MySQL 5.7.5 https://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html
-        * A standard fall-back is to use MIN().
-        *
-        * @param string $sql An SQL string without the values
-        * @return string The input SQL string modified if necessary.
-        */
-       public static function anyValueFallback(string $sql): string
-       {
-               return DI::dba()->anyValueFallback($sql);
-       }
-
        /**
         * beautifies the query - useful for "SHOW PROCESSLIST"
         *
index d7b9a17e9bc3d4d2e8388f4eb8af6d1ac004643a..c296683d2b409d79f05fef5cfcddc63d6d92b043 100644 (file)
@@ -439,28 +439,6 @@ class Database
                return $connected;
        }
 
-       /**
-        * Replaces ANY_VALUE() function by MIN() function,
-        * if the database server does not support ANY_VALUE().
-        *
-        * Considerations for Standard SQL, or MySQL with ONLY_FULL_GROUP_BY (default since 5.7.5).
-        * ANY_VALUE() is available from MySQL 5.7.5 https://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html
-        * A standard fall-back is to use MIN().
-        *
-        * @param string $sql An SQL string without the values
-        *
-        * @return string The input SQL string modified if necessary.
-        */
-       public function anyValueFallback(string $sql): string
-       {
-               $server_info = $this->serverInfo();
-               if (version_compare($server_info, '5.7.5', '<') ||
-                       (stripos($server_info, 'MariaDB') !== false)) {
-                       $sql = str_ireplace('ANY_VALUE(', 'MIN(', $sql);
-               }
-               return $sql;
-       }
-
        /**
         * Replaces the ? placeholders with the parameters in the $args array
         *
@@ -532,7 +510,6 @@ class Database
                }
 
                $sql = DBA::cleanQuery($sql);
-               $sql = $this->anyValueFallback($sql);
 
                $orig_sql = $sql;
 
@@ -1440,7 +1417,7 @@ class Database
        private function escapeFields(array $fields, array $options): array
        {
                // In the case of a "GROUP BY" we have to add all the ORDER fields to the fieldlist.
-               // This needs to done to apply the "ANY_VALUE(...)" treatment from below to them.
+               // This needs to done to apply the "MIN(...)" treatment from below to them.
                // Otherwise MySQL would report errors.
                if (!empty($options['group_by']) && !empty($options['order'])) {
                        foreach ($options['order'] as $key => $field) {
@@ -1461,7 +1438,7 @@ class Database
                        $value = DBA::quoteIdentifier($field);
 
                        if (!empty($options['group_by']) && !in_array($field, $options['group_by'])) {
-                               $value = 'ANY_VALUE(' . $value . ') AS ' . $value;
+                               $value = 'MIN(' . $value . ') AS ' . $value;
                        }
                });
 
index d10d70b8eb9066e34bc4b00b447597ea20365943..6e5773d36340e4cf4e43f09bbc74ad5a5af8dad0 100644 (file)
@@ -229,8 +229,8 @@ class Photo
 
                return DBA::toArray(
                        DBA::p(
-                               "SELECT `resource-id`, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`filename`) AS `filename`, ANY_VALUE(`type`) AS `type`,
-                                       min(`scale`) AS `hiq`, max(`scale`) AS `loq`, ANY_VALUE(`desc`) AS `desc`, ANY_VALUE(`created`) AS `created`
+                               "SELECT `resource-id`, MIN(`id`) AS `id`, MIN(`filename`) AS `filename`, MIN(`type`) AS `type`,
+                                       min(`scale`) AS `hiq`, max(`scale`) AS `loq`, MIN(`desc`) AS `desc`, MIN(`created`) AS `created`
                                        FROM `photo` WHERE `uid` = ? AND NOT `photo-type` IN (?, ?) $sqlExtra
                                        GROUP BY `resource-id` $sqlExtra2",
                                $values
@@ -751,7 +751,7 @@ class Photo
                        if (!DI::config()->get('system', 'no_count', false)) {
                                /// @todo This query needs to be renewed. It is really slow
                                // At this time we just store the data in the cache
-                               $albums = DBA::toArray(DBA::p("SELECT COUNT(DISTINCT `resource-id`) AS `total`, `album`, ANY_VALUE(`created`) AS `created`
+                               $albums = DBA::toArray(DBA::p("SELECT COUNT(DISTINCT `resource-id`) AS `total`, `album`, MIN(`created`) AS `created`
                                        FROM `photo`
                                        WHERE `uid` = ? AND `photo-type` IN (?, ?, ?) $sql_extra
                                        GROUP BY `album` ORDER BY `created` DESC",
index 58b4878fc66b3c31e055fadc38ea4f6bd61c82a7..af7e433e141796677bcca7dee4ca9394549e8e9b 100644 (file)
@@ -97,7 +97,7 @@ class Federation extends BaseAdmin
                        SUM(IFNULL(`local-posts`, 0) + IFNULL(`local-comments`, 0)) AS `posts`,
                        SUM(IFNULL(`active-month-users`, `active-week-users`)) AS `month`,
                        SUM(IFNULL(`active-halfyear-users`, `active-week-users`)) AS `halfyear`, `platform`,
-                       ANY_VALUE(`network`) AS `network`, MAX(`version`) AS `version`
+                       MIN(`network`) AS `network`, MAX(`version`) AS `version`
                        FROM `gserver` WHERE NOT `failed` AND `platform` != ? AND `detection-method` != ? AND NOT `network` IN (?, ?) GROUP BY `platform`",
                                '', GServer::DETECT_MANUAL, Protocol::PHANTOM, Protocol::FEED);
                while ($gserver = DBA::fetch($gservers)) {
index f80c63d1a4c7b75acf42c1081071154070f92472..8b915a4eba38429792c7e859ca308b7f3467a596 100644 (file)
@@ -322,12 +322,12 @@ class Photos extends \Friendica\Module\BaseProfile
                $photos = $this->database->toArray($this->database->p(
                        "SELECT
                                `resource-id`,
-                               ANY_VALUE(`id`) AS `id`,
-                               ANY_VALUE(`filename`) AS `filename`,
-                               ANY_VALUE(`type`) AS `type`,
-                               ANY_VALUE(`album`) AS `album`,
-                               max(`scale`) AS `scale`,
-                               ANY_VALUE(`created`) AS `created`
+                               MIN(`id`) AS `id`,
+                               MIN(`filename`) AS `filename`,
+                               MIN(`type`) AS `type`,
+                               MIN(`album`) AS `album`,
+                               MAX(`scale`) AS `scale`,
+                               MIN(`created`) AS `created`
                        FROM `photo`
                        WHERE `uid` = ?
                          AND `photo-type` = ?