[Allegro] Folge von FLEX-Befehlen nicht invariant gegen Wiederholung
Bernhard Eversberg
ev at biblio.tu-bs.de
Mo Apr 4 13:19:10 CEST 2011
Am 26.03.2011 00:37, schrieb Heinrich Allers:
> Man lasse diese FLEX-Datei auf die Demo-Datenbank los:
>
> var "|1 he?"\find
> expo p e-w\expo f xyza.txt
> dow set
> close x
> var "+abc"\find
> // Die gleiche Sequenz sehr leicht variiert:
> var "|1 he?"\find
> expo p e-w\expo f xyzb.txt
> dow set
> close x
>
>
> In den letzten vier Zeilen läuft identisch das ab, was in den ersten 4 Zeilen der FLEX-Datei stattfindet: die
> große Frage, die ich habe, ist die, warum von den produzierten Ausgabedateien die eine (xyza.txt) stets,
> was Größe und Inhalt angeht, den Erwartungen entspricht, die zweite (xyzb.txt) aber stets nur Null Byte
> groß ist!
>
Es liegt an der scheinbar absichts-, aber jedenfalls nutzlos
eingestreuten Zeile
var "+abc"\find
Sie veranstaltet eine Volltextsuche in der Erg.Menge nach "abc", was jedoch
dann weder abgeprüft (mit "if empty ...") noch ausgenutzt wird.
Die Volltextsuche in der Ergebnismenge hatte gleichwohl, wie sich beim
Testen rausstellte, eine Problemzone, in deren Folge sich dann bei negativem
Ergebnis einer Erg.Mengen-Volltextsuche mit "find +..." der FLEX beendete
oder nicht zu korrektem Ende kommen konnte.
Wir haben eine Verbesserung erzielt und stellen ein neues a99.zip
unter ftp zum Testen bereit.
B.E.
Mehr Informationen über die Mailingliste Allegro