- Verschifft
- 2. September 2026 um 05:54 UTC
- Autor
- Kamo
- Ausschuss
- f7b5c7c
Die getestete Klausel si.label_ids, eine Array-Spalte im Suchindex. Nichts hat je geschrieben - Kennzeichnung einer Nachricht fügt in email_metadata.message_labels, und weder der vollständige Indexer noch der Ordner-Listenpfad setzt die Spalte. In Produktion ist es auf Null von 547 Zeilen besiedelt, so war der Zustand eine leere Array Containment Test: falsch für jede Nachricht, für jedes Mitglied. Es war falsch ein zweites Mal, und das warf. Der Operand ist, was folgt Label: im Suchfeld, das NAME eines Labels ist - der eigene Vorschlag des Backends sagt "Filter by Label Name", und das erweiterte Panel baut Etikett:<freier Text. Die Klausel gönnen Sie das zu UUID, so dass jede echte Label-Namen mit ungültige Eingangssyntax für Typ uuid: "work" verifiziert mit der Live-Datenbank. SearchService fängt einen Index-Suche Ausfall und fällt zurück zu IMAP, so dass ein Mitglied suchen Label:work hat keinen Fehler und keine beschriftete Post - genau das, was IMAP aus dem Wort gemacht hat, mit "(via IMAP) " gekennzeichnet. So fragt es jetzt message_labels, den Namen gegen die suchenden Mitglieder auflöst eigene Etiketten. Case-unsensitive: der Name wird von Hand in eine Freitextbox getippt, und "Work" und "Work" sind ein Label für alle außer SQL. Scoping Angelegenheiten auf beide Seiten - die Botschaft muss das Mitglied und so das Etikett, weil Labelnamen sind pro Mitglied und zwei Mitglieder können jeweils eine "Arbeit" haben. Der Ersatz wurde gegen die Live-Datenbank ausgeführt und gibt Zeilen zurück, anstatt Fehler. Es passt noch nichts aus einem einfacheren Grund als der Fehler: kein Mitglied hat hat ein Label erstellt, so dass Labels und message_labels beide leer sind.