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