Ein R"atsel der Avanti-Recherche!
Martin Butkus
m.butkus at tu-bs.de
Di Okt 28 18:33:29 CET 2003
In message <1AEN3D-1Zqezh0 at fwd08.sul.t-online.com> you write:
Lieber Herr Allers,
ich meine Ihr Recherche-Problem von neulich eingegrenzt zu haben.
Vorweg: an Avanti liegt es nicht (direkt), und daß das Problem
nur mit Ihrer Datenbank auftritt, wundert mich inzwischen auch nicht
mehr.
Leider kann ich Ihnen aber noch keine Lösung anbieten, die Vorgehensweise
müssen Herr Eversberg und ich nochmal besprechen.
Das Problem mit Ihrer Datenbank war, daß die Avanti-Anfrage
> ...
> find TIT fahrrad?
> if error jump ende
> list internal
> :ende
> ...
keine Ausgabe verursachte, während die Anfrage
> ...
> find TIT fahrradk?
> if error jump ende
> list internal
> :ende
> ...
funktionierte.
Der Grund dafür, daß der "if error"-Konstrukt ansprach, lag daran,
daß die Funktionsweise des "find"-Befehl vor einiger Zeit verändert
worden ist - und zwar dahingehend, daß nach jedem "find" ein
implizites "get f" durchgeführt wird (d.h. der erste Datensatz
der Ergebnismenge wird geladen).
Ferner ist es so, daß Sie in manchen Sätzen Ihrer Datenbank recht
merkwürdige Kategorien verwenden, nämlich solche, die nicht das
Format "#NNN" haben, (wobei NNN für eine Zahl steht) sondern
stattdessen "### xyz".
Damit kommt nun der Avanti nicht klar. Er kann den ersten Datensatz
aus der Ergebnismenge zwar in jedem Fall laden, erzeugt dabei aber
einen Fehler ("xyz ist keine gültige Kategorie").
Deswegen führt Abfrage nach "if error" zur Ausführung des
"goto"-Befehls, damit wird das "list internal" übersprungen
--> keine Ausgabe.
Komisch ist nur, daß dieser Fehler nicht angezeigt wird.
Warum das so ist, habe ich noch nicht herausfinden können.
Daß es bei der Suche nach "fahrradk?" *trotzdem* klappte, liegt
einfach daran, daß der erste Satz aus *dieser* Ergebnismenge zufällig
nur "normale" Kategorien der Form #NNN enthält - wogegen der erste
Satz der Ergebnismenge von "fahrrad?" eine "komische" Kategorie enthält.
Im Fall "fahrrad?" ist dies der Satz Nr. 194, und der sieht so aus:
1200024 h <---- "komisches" Register
#001 954649125
#004 20000228
#030 g|1iar|z|||17
#036 aDE
#037 bger
#050 a|b|||||||||||
#051 m||||||
#054 b
#070 a292
#076 |a
#100 Färber, Werner
#102 a115649425
#331 Leselöwen-Fahrradgeschichten
#359 Werner Färber. Zeichn. von Julia Drinnenberg
und so weiter. Im Fall "fahrradk?" dagegen ist es Satz Nr. 31584,
und der sieht so aus:
#010 g1140005205
#054 v;32;40m
#089 16
#090 00200
#331 Fahrradkurier. Rettungsschwimmer. Erste Liebe. Bürger Lars Dietrich:
"Ich bring Dich um..."
#425aa1997
#433 ? Min. : farb. + Textheft
#897G 1
#898i 1
#899D 1
Die Moral von der Geschichte ist natürlich, daß man solche "komischen"
Kategorien nicht benutzen sollte ;). Nun sagte mir Herr Eversberg aber,
daß Sie so etwas brauchen. Von daher müßte man mal gucken, ob
und wie man das dem Avanti doch noch irgendwie beibringen könnte.
Freundliche Grüße,
Martin Butkus
Mehr Informationen über die Mailingliste Allegro