MyBB.de Forum
Ähnliches Problem wie bei joumi - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: MyBB 1.8.x (https://www.mybb.de/forum/forum-87.html)
+--- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-88.html)
+--- Thema: Ähnliches Problem wie bei joumi (/thread-38305.html)

Seiten: Seiten: 1 2 3


RE: Ähnliches Problem wie bei joumi - bv64 - 27.06.2022

tschullidung Big Grin


RE: Ähnliches Problem wie bei joumi - DoofeBlaueEnte - 27.06.2022

Habe es jetzt rausgefunden

inc/functions.php:3045


// Fetch the last post for this forum
$query = $db->query("
SELECT tid, lastpost, lastposter, lastposteruid, subject
FROM ".TABLE_PREFIX."threads
WHERE fid='{$fid}' AND visible='1' AND (closed NOT LIKE 'moved|%')
ORDER BY lastpost DESC
LIMIT 0, 1
");

wurde der wert Null rausgenommen


RE: Ähnliches Problem wie bei joumi - Schnapsnase - 28.06.2022

(27.06.2022, 23:06)DoofeBlaueEnte schrieb: Habe es jetzt rausgefunden

inc/functions.php:3045


// Fetch the last post for this forum
$query = $db->query("
  SELECT tid, lastpost, lastposter, lastposteruid, subject
  FROM ".TABLE_PREFIX."threads
  WHERE fid='{$fid}' AND visible='1' AND (closed NOT LIKE 'moved|%')
  ORDER BY lastpost DESC
  LIMIT 0, 1
");

wurde der wert Null rausgenommen

Hmm, das kann ich nicht ganz nachvollziehen.
Da im Query nach lastpost absteigend sortiert wird, dürfte LIMIT 0, 1 das gleiche Ergebnis liefern, wie
LIMIT 1.
Probleme könnte es dann allenfalls geben, wenn es mehrere Zeile gibt, wo der Wert lastpost identisch ist.
Vllt irre ich mich auch... Wink


RE: Ähnliches Problem wie bei joumi - bv64 - 28.06.2022

an mehreren identischen lastpost sollte sich der Datenbankserver nicht verschlucken.

Ich sehe in der Änderung auch überhaupt keinen Sinn. Was wurde sonst noch gemacht?
Ist ja die reinste Wunderheilung

schön, wenn es wieder geht, aber warum das Problem auftrat ist irgendwie nicht geklärt.


RE: Ähnliches Problem wie bei joumi - DoofeBlaueEnte - 28.06.2022

(28.06.2022, 11:31)bv64 schrieb: an mehreren identischen lastpost sollte sich der Datenbankserver nicht verschlucken.

Ich sehe in der Änderung auch überhaupt keinen Sinn. Was wurde sonst noch gemacht?
Ist ja die reinste Wunderheilung

schön, wenn es wieder geht, aber warum das Problem auftrat ist irgendwie nicht geklärt.

Vermutlich lag es an dem Archivierungs Plugin.

(28.06.2022, 08:45)Schnapsnase schrieb: Hmm, das kann ich nicht ganz nachvollziehen.
Da im Query nach lastpost absteigend sortiert wird, dürfte LIMIT 0, 1 das gleiche Ergebnis liefern, wie
LIMIT 1.
Probleme könnte es dann allenfalls geben, wenn es mehrere Zeile gibt, wo der Wert lastpost identisch ist.
Vllt irre ich mich auch... Wink

Das Problem ist das Einfügen von NULL als default für die Spalte "closed" in mybb_threads. Dies ist vom Datenbankmodell so vorgegeben. Warum das so ist keine Ahnung. Eine saubere Installation vom myBB setzt hier "NOT NULL DEFAULT".

Kurz: Wenn beim Anlegen eines Threads (wie auch immer) ein NULL in die Spalte "closed" rutscht findet das Statement den Post nicht mehr und kann die "last....."-Wert nicht aktualisieren.


RE: Ähnliches Problem wie bei joumi - doylecc - 28.06.2022

(28.06.2022, 16:23)DoofeBlaueEnte schrieb: Eine saubere Installation vom myBB setzt hier "NOT NULL DEFAULT".

Stimmt, was aber eigentlich auch nicht ganz korrekt ist.
Mir ist das vor einer Weile mal aufgefallen, weil in den meisten Threads der "Löschen" Button in den Beiträgen nicht angezeigt wurde. Nur in den Threads, die schon mal geschlossen und wieder geöffnet wurden, war er vorhanden.
Ich habe dann in die functions_post.php geschaut und dort wird überprüft, ob der Wert von $thread['closed'] == 0 ist. Das ist er aber nur, wenn der Thread von geschlossen auf geöffnet gestellt wird, da der Default-Wert für die Spalte "closed" in neu erstellten Threads eben nicht 0 sondern '' ist.
Ich habe das in unserem Forum erstmal behoben, indem ich die Abfrage in $thread['closed'] != 1 geändert habe, aber eigentlich sollte bei der Installation der Default-Wert besser gleich auf 0 gesetzt werden.