- Verschifft
- 14. August 2026 um 02:24 UTC
- Autor
- Kamo
- Ausschuss
- d70fbde
Die Zeilen hinter einer Nachrichtenliste befinden sich bereits in Postgres - der Metadatenindex hält Absender, Betreff, Datum, Größe, Anhang und Flaggen für jede Nachricht, die es hat gesehen. Eine Seite von dort aus zu lesen ist eine Abfrage; das Lesen von IMAP ist ein SELECT plus eine fünfzig-Umschlag FETCH und macht den Server bauen Sie den Mailbox-Index zu Antwort. Was jemanden davon abhielt, es zu benutzen, war nicht Geschwindigkeit, sondern Vertrauen. Der Index wird von einem gefüllt Push-Indexer, der nur läuft, während jemand hat die Mailbox geöffnet, so ist es erlaubt, willkürlich abgestanden zu sein, und nichts zeichnete eine aktuelle Mappe von eine abgestandene. Ein STATUS unterscheidet sie. Es ist die billigste Frage IMAP beantwortet . nein SELECT, keine Nachrichtendaten - und es gibt die Nachrichtenanzahl des Ordners und seine nächste UID. Der Index wird nur verwendet, wenn beide mit dem übereinstimmen, was er hält: die Anzahl Fänge alles hinzugefügt oder entfernt, und maxUid + 1 == UIDNEXT fängt den Fall eine Zählung kann nicht sehen, wo so viele angekommen sind, wie gelöscht wurden. UIDNEXT bewegt sich nur vorwärts, so ein Anhängen des Index verpasst lässt es über dem höchsten UID der Index gestrandet weiß. Jedes andere Ergebnis fällt zurück auf IMAP: ein fehlender Ordner, ein Server, der Decoder STATUS, ein leerer Index, ein Datenbankfehler. Das schlechteste verfügbare Ergebnis ist die Verhalten, das vorher existierte. Ein Ordner, der den Test nicht besteht, heilt sich selbst wenn die nächste Nachricht ankommt und indiziert wird. Aus in der Standard hinter ****************, weil die Antwort marker hängt von search_index.is_answered ab, das bis zum KamoInitializer ist gelaufen. Das Einschalten ist dann eher eine vorsätzliche Tat als ein Nebenwirkung eines Einsatzes. Das Abkommen Vordiz ist, wo falsch zeigt jemand die falsche Post, so dass es ist rein, verpackungsprivat und aus dieser Richtung getestet - jeder Fall fragt, ob es kann den Index verwenden, wenn es nicht darf.