Fehler entdeckt und beseitigt
Bernhard Eversberg
EV at buch.biblio.etc.tu-bs.de
Mo Mär 13 12:26:16 CET 1995
Fehlermoeglichkeit aufgedeckt: Eingabe von Ctrl+A bis Ctrl+F problematisch.
Die ASCII-Codes 01 bis 06 haben eine Steuerwirkung und sollen nicht als
Zeichen innerhalb einer Titelaufnahme vorkommen. Leider kann man sie
mit Ctrl+A bis Ctrl+E eingeben. Das kann auch vesehentlich passieren,
wenn man Ctrl statt Shift drueckt. Wenn man es nicht merkt, kann spaeter
ein Datenfehler entstehen:
-- die Anzeige sieht merkwuerdig aus: das haengt davon ab, wo das Zeichen
innerhalb der Aufnahme steht. Die Kategorieanzeige hat dem Anschein
nach an der Stelle einen Schaden.
-- Korrektur des Schadens gelingt nicht: Der Datensatz ist an der
Problemstelle anscheinend abgehackt. Wenn man PgDn gibt (oder #+ Enter)
kann es sein, dass der Rest des Satzes zum Vorschein kommt - als ob
es ein Untersatz waere! (Die Codes 01 bis 06 dienen ja intern dazu,
Haupt- und Untersaetze der Stufen #00 bis #05 einzuleiten)
-- Loeschen des Satzes gelingt, u.U. verschwinden nicht alle Schluessel.
Aber: der Loesch-Schluessel //nnnnn ist falsch, und zwar mindestens
um 1 zu gross.
Spaeter:
-- Ein neuer Satz wird an dieser Stelle gespeichert: der Leerschluessel
taeuscht eine zu grosse Laenge vor. Dann wird der Anfang des nach-
folgenden Satzes ueberschrieben. Damit hat man das Symptom, aber die
Ursache ist nach Eintritt dieses Schadens nicht mehr feststellbar.
Der Loeschvorgang kann zeitlich laenger zurueckliegen! Das Problem
trat sehr selten auf und konnte bisher nie nachvollzogen werden.
Jetzt ist dies endlich gelungen.
Abhilfe: Codes 01 bis 06 sorgfaeltig vermeiden. Wenn man einen Schaden
entdeckt, Satz loeschen, aber dann die Datei sofort entlueften, weil
dann der falsche Schluessel verschwindet. Oder mit Routine
"organisieren / 7 = Datenbank neu aufbauen" die Daten komplett
erneuern lassen.
PRESTO.LZH auf dem Server wurde erneuert, die anderen Programme noch nicht.
Noch zwei Hinweise:
Das INDEX-Programm fragt bei Funktion -f7 nach einer "Nummer fuer die neuen
Daten". Hier gibt man am besten stets 0 ein, damit die alten Dateinummern
erhalten bleiben. Sonst kommt alles in eine Datei, was man oft nicht will,
und es bleiben wahrscheinlich alte .ALD-Dateien mit anderen Nummern stehen,
die eigentlich verschwinden muessten. Wenn man danach irgendwann erneut
Funktion -f7 benutzt, hat man anschliessend mengenweise Dubletten, weil diese
alten Dateien dann wieder mit verarbeitet werden.
Ein kleineres Problem bei INDEX.EXE wurde auch beseitigt: bei komplizierten
Parameterdateien trat es auf, dass im Index an bestimmten Schluesseln hinten
noch Reste von anderen Schluesseln anderer Datensaetze dranhingen. Das kommt
jetzt nicht mehr vor. INDEX wurde erneuert.
Beste Gruesse, B.E.
Mehr Informationen über die Mailingliste Allegro