27.06.2022, 16:32
27.06.2022, 22:06
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
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
28.06.2022, 07:45
(27.06.2022, 22: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...
28.06.2022, 10:31
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.
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.
28.06.2022, 15:23
(28.06.2022, 10: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, 07: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...
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.
28.06.2022, 18:41
(28.06.2022, 15: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.