Explorar o código

Update INSERT queries

Visman %!s(int64=2) %!d(string=hai) anos
pai
achega
e726eb1024

+ 3 - 4
app/Models/Config/Save.php

@@ -79,14 +79,13 @@ class Save extends Method
                         $this->c->DB->exec($query, $vars);
 
                         $query = 'INSERT INTO ::config (conf_name, conf_value)
-                            SELECT ?s:name, ?s:value
-                            FROM ::groups
+                            SELECT tmp.*
+                            FROM (SELECT ?s:name AS f1, ?s:value AS f2) AS tmp
                             WHERE NOT EXISTS (
                                 SELECT 1
                                 FROM ::config
                                 WHERE conf_name=?s:name
-                            )
-                            LIMIT 1';
+                            )';
 
                         break;
                 }

+ 6 - 8
app/Models/Subscription/Subscription.php

@@ -89,14 +89,13 @@ class Subscription extends Model
 
         if (! empty($this->forums)) {
             $query = 'INSERT INTO ::forum_subscriptions (user_id, forum_id)
-                SELECT ?i:uid, ?i:id
-                FROM ::groups
+                SELECT tmp.*
+                FROM (SELECT ?i:uid AS f1, ?i:id AS f2) AS tmp
                 WHERE NOT EXISTS (
                     SELECT 1
                     FROM ::forum_subscriptions
                     WHERE user_id=?i:uid AND forum_id=?i:id
-                )
-                LIMIT 1';
+                )';
 
             foreach ($this->forums as $id) {
                 $vars[':id'] = $id;
@@ -107,14 +106,13 @@ class Subscription extends Model
 
         if (! empty($this->topics)) {
             $query = 'INSERT INTO ::topic_subscriptions (user_id, topic_id)
-                SELECT ?i:uid, ?i:id
-                FROM ::groups
+                SELECT tmp.*
+                FROM (SELECT ?i:uid AS f1, ?i:id AS f2) AS tmp
                 WHERE NOT EXISTS (
                     SELECT 1
                     FROM ::topic_subscriptions
                     WHERE user_id=?i:uid AND topic_id=?i:id
-                )
-                LIMIT 1';
+                )';
 
             foreach ($this->topics as $id) {
                 $vars[':id'] = $id;

+ 3 - 4
app/Models/Topic/Topic.php

@@ -494,14 +494,13 @@ class Topic extends DataModel
                 && empty($this->mt_last_visit)
             ) {
                 $query = 'INSERT INTO ::mark_of_topic (uid, tid, mt_last_visit, mt_last_read)
-                    SELECT ?i:uid, ?i:tid, ?i:visit, ?i:read
-                    FROM ::groups
+                    SELECT tmp.*
+                    FROM (SELECT ?i:uid AS f1, ?i:tid AS f2, ?i:visit AS f3, ?i:read AS f4) AS tmp
                     WHERE NOT EXISTS (
                         SELECT 1
                         FROM ::mark_of_topic
                         WHERE uid=?i:uid AND tid=?i:tid
-                    )
-                    LIMIT 1';
+                    )';
             } else {
                 $query = 'UPDATE ::mark_of_topic
                     SET mt_last_visit=?i:visit, mt_last_read=?i:read