27.06.2022, 16:32
tschullidung
Ähnliches Problem wie bei joumi
|
27.06.2022, 16:32
tschullidung
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
28.06.2022, 07:45
(27.06.2022, 22:06)DoofeBlaueEnte schrieb: Habe es jetzt rausgefunden 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.
28.06.2022, 15:23
(Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2022, 15:37 von DoofeBlaueEnte.)
(28.06.2022, 10:31)bv64 schrieb: an mehreren identischen lastpost sollte sich der Datenbankserver nicht verschlucken. Vermutlich lag es an dem Archivierungs Plugin. (28.06.2022, 07:45)Schnapsnase schrieb: Hmm, das kann ich nicht ganz nachvollziehen. 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. |
|