MyBB.de Forum

Normale Version: [G] MyBB 1.8.12 + PostgreSQL 9.6.4 Probleme mit Suche
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
MyBB 1.8.12
PostgreSQL 9.6.4
Standard Theme und deutsches Sprachpaket intalliert

Problem:
1. Suchen mittels Such-Eingabefeld rechts oben in der Leiste finden keinerlei Ergebnisse.
2. Suche nach Mitgliedern nach Anfangsbuchstaben [A B C D E..] findet keine Nutzer deren Namen
    mit Kleinbuchstaben beginnt.

Lösung 1:

Nachtragen in von 
Code:
<input type="hidden" name="forums[]" value="all" />

als zusätzlicher Input in Admin-CP->Templates&Style->Header Templates->header_quicksearch

(gesamt wie folgt:
Code:
                        <form action="{$mybb->settings['bburl']}/search.php" method="post">
                        <fieldset id="search">
                            <input name="keywords" type="text" class="textbox" />
                            <input value="{$lang->search_button}" type="submit" class="button" />
                            <input type="hidden" name="action" value="do_search" />
                            <input type="hidden" name="postthread" value="1" />
                            <input type="hidden" name="forums[]" value="all" />
                        </fieldset>
                        </form>
)
Damit wird das Array zu durchsuchender Foren in der Form zusätzlich übergeben, diese Foren sind sonst leer. Die Kompatibilität zu MySQL sollte geprüft werden..ich habe keine entsprechende Installation.

Lösung 2:

Ändern der Zeile 185 in der Datei memberlist.php von
Code:
search_query .= " AND u.username LIKE '".$username_like_query."%'";

auf

Code:
$search_query .= " AND LOWER(u.username) LIKE LOWER('".$username_like_query."%')";

Damit wird prinzipiell nach Namen mit Kleinbuchstaben in nach zu Kleinschreibung konvertierten Nutzernamen gesucht und diese gefunden.

Fraglich ist ob generell ein Nutzer Namens "Michael" mit einem Namens "michael" kollidiert, ich habe das nicht gechecked.

Die Lösungen wurden hier von doylecc ausgearbeitet, Vielen Dank dafür!

https://www.mybb.de/forum/thread-35052-page-2.html


Gruß,

Holm
Das wäre jetzt nicht nötig gewesen noch ein Thema aufzumachen. Wink Gestern Abend habe ich den unscheinbaren Fehler bei der Suche noch gefunden, der bei SQLite und PgSQL unter ganz bestimmten Umständen auftritt.
Hier das Ticket und mein Pull-Request dazu: https://github.com/mybb/mybb/issues/2845

Das Problem mit der Mitgliederliste ist schon bekannt, aber noch nicht behoben: https://github.com/mybb/mybb/issues/309
(20.09.2017, 09:37)StefanT schrieb: [ -> ]Das wäre jetzt nicht nötig gewesen noch ein Thema aufzumachen. Wink

Das werfen mit einer Nachricht wäre ein durchaus legitimes Mittel gewesen dieses doppelte Thema zu vermeiden Stefan.


Zu dem Problem mit der Mitgleiderliste:

hier steht das PostgreSQLs LIKE Case sensitive matcht, ist denn schon mal Jemand auf die Idee gekommen
das hier:
https://www.postgresql.org/docs/9.0/stat...ching.html
..in Table 9-12 aufgeführte Posix Patternmatching mit "~*" anstatt LIKE zu benutzen?


Gruß,

Holm
(20.09.2017, 11:33)holm schrieb: [ -> ]Das werfen mit einer Nachricht wäre ein durchaus legitimes Mittel gewesen dieses doppelte Thema zu vermeiden Stefan.
Du warst halt ein paar Minuten früher dran, da war ich noch am Testen. Wink
(20.09.2017, 11:33)holm schrieb: [ -> ]Zu dem Problem mit der Mitgleiderliste:

hier steht das PostgreSQLs LIKE Case sensitive matcht, ist denn schon mal Jemand auf die Idee gekommen
das hier:
https://www.postgresql.org/docs/9.0/stat...ching.html
..in Table 9-12 aufgeführte Posix Patternmatching mit "~*" anstatt LIKE zu benutzen?
Da bin ich überfragt, mit den Besonderheiten von PgSQL kenne ich mich leider nicht gut aus. Die Lösung mit der Collation wäre wahrscheinlich schöner, weil man dann einerseits ein Verhalten wie bei MySQL hat und andererseits nicht diverse Queries ändern muss.
Naja.Posix ist IMHO ein nicht zu unterschätzender Standard..ist es ein Bug das MySQL das nicht kann?

:-)

Ich bin nun nicht so viel SQL Spezi das ich wüßte wie es hybscher ™ wäre, ich weiß halt nur was funktioniert...

Edit: Ich habe irgendwo eine SQL Schwarte, ich werde mal nachsehen, es würde mich aber sehr stark wundern
wenn PostgreSQL Implementation von LIKE nicht Standardkonform wäre, allerdings würde es mich überhaupt
nicht wundern wenn das bei mysql nicht standardkonform ist.

Gruß,

Holm