[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