Hallo nochmal!
Am 20. Februar 2013 16:47 schrieb Ronny Seffner ronny@seffner.de:
Hallo morphium,
Bauen wir auch gleich noch dein gewünschtes Limit 1 mit ein, dann sieht es so aus:
Das liefert in allen Zuständen, die erwarteten Ergebnisse. Super.
Jetzt versuche ich mich mal noch im Verstehen und Interpretieren. LIMIT 1 begrenzt die Ergebnisliste auf maximal 1 _ODER_ genau 1 - sprich beugt das nun dem leeren Resultat vor (hmm, sind zwei Fragen)?
Das LIMIT 1 begrenzt auf maximal 1 - hat nichts mit dem leeren Ergebnis zu tun.
Was genau passiert durch das "AND plicy_greylist = 'greylist'"? Wird hier sichergestellt, dass andere Policies (wie z.B. 'whitelist') eben nicht matchen - klar.
Das stellt sicher, dass nur ein Ergebnis zurückgeliefert wird (1 Zeile, 1 Feld), wenn das Ergebnis greylist ist. Vorher war in dem Fall, dass es nicht greylist war, dein result-set trotzdem 1 Zeile groß, der String darin war eben ''. Jetzt sind es 0 Zeilen.
Also allein das LIMIT 1 and den richtigen Stellen liefert postmap was es hören will eine policy (als String) oder einen leeren String ('').
Nein, das policy_grelist = 'greylist'. Hoffe ich. :-)
Viele Grüße