AW: AW: [Allegro] Presto Index
Thomas Fischer
fischer at mail.sub.uni-goettingen.de
Do Jun 2 09:33:22 CEST 2005
Hallo Herr Berger,
ich hoffe, dass meine E-Mail heute etwas schneller ankommt, gestern hat AON für diesen Brief 9 Stunden gebraucht.
Wieder einmal war Ihr Brief sehr hilfreich.
> > Die ccc.bat hat den folgenden Inhalt, und es wird sofort klar,
> > dass das nicht gut gehen kann:
> >
> > -----------------------
> > echo off
> > cls
> > set -d=C:\allegro\ssg-aac
> > set -k=GAac
> > set -k1=G
> > set -c=C
> > set -l=GER
> > set -b=Aac
> > set -P=%-P%
> > @echo off
> > if exist C:\allegro\ssg-aac\ii1. goto qs
> > goto ende
> > :qs
> > C:\allegro\qrix -kGAac -fq1 -dC:\allegro\ssg-aac
> -eAAC/C:\allegro\ssg-aac -K120 -yC:\allegro\ssg-aac\ -lGER
> -PC:\allegro a -x9999
> > :ende
> >
> > %-C% -kGAac -dC:\allegro\ssg-aac -oC:\allegro\ssgfi\MCP.OPT -a3 -bAac -x
> das %-C% stammt hoechstwahrscheinlich aus einer Zeile
> C %-C%
> in Ihrer MCP.OPT. Das ist zu selbstbezueglich um funktionieren zu
> koennen...
Das ist ein ausgezeichneter Hinweis! Ich habe nachgesehen und die Setzung geändert, auf
C %-G%
Mir ist aber nicht klar, was Sie mit "zu selbstbezueglich" meinen.
Konstruktionen der Art
b %-B%
k %-K%
P %-P%
sind ja nur Gedächtnisstützen, um sich Aufruf und Parameter zu merken. Ob die Variablennamen so kurz sein müssen, weiß ich nicht, da bin ich nur der Braunschweiger Sparsamkeit gefolgt.
Da ich meine MCP.OPT für über ein Dutzend Datenbanken nutze, müssen an diesen Stellen halt Variable benutzt werden.
Warum Allegro aber nicht wie bei -P
set -P=%-P%
setzt, sondern von woher auch immer
set -c=C
, ist mir schleierhaft.
> (-c ist hingegen irgendein Laufwerksbuchstabe, der einer normalerweise
> nicht mehr existierenden Setzung "c C" in der .opt-Datei entspricht bzw.
> der Anzeige "Laufwerk" rechts unten im Cockpit)
Hier sehe ich eher das Problem: In undurchsichtiger (undokumentierter?) Weise wird hier plötzlich "irgendein Laufwerksbuchstabe" in eine Variable geschrieben. Woher weiß ich, dass eines der diversen benutzten Programme nicht auch das jetzt von mir benutzte %-G% abschießt?
c fehlt auch als Parameter in der Liste der Programmparameter (Kapitel 12.1: Liste der Optionen); vielleicht habe ich das deswegen einmal genommen, weil es der erste freie Buchstabe war. Bei Aufruf von Presto im Cockpit wird es abgefragt, was es soll ist unklar. In der cphans.opt steht an dieser Stelle
c C Laufwerk (völliger Quatsch)
In der offiziellen cp.bat fehlt die Setzung und wird auch unter "Allgemeine Optionen" nicht mehr erwähnt.
> Jedenfalls hat das nichts mit Ihrem Indexierungsproblem zu tun, eher
> mit Unordnung in Ihren .opt-Dateien.
Na ja, so würde ich es nicht sehen.
Was die Unordnung betrifft, so hat das eher damit zu tun, dass ich eben nur eine und nicht viele .OPT-Dateien habe. Und damit, dass das Allegro-System hier etwas tut, was allem Anschein nach nichts nutzt, aber Schaden anrichtet.
Interessanter Weise hat es aber auch etwas mit meinem Indexproblem zu tun:
Nach Ersetzung von
C %-C%
durch
C %-G%
wird
1. in der ccc.bat korrekt (wie von Ihnen erwartet)
%-G% -kGAac -dC:\allegro\ssg-aac -oC:\allegro\ssgfi\MCP.OPT -a3 -bAac -x
aufgerufen, für mich überraschend aber auch nicht mehr
set c=...
gesetzt.
2. der gesamt Indexdurchlauf vollständig und erfolgreich abgeschlossen.
Dabei wird allerdings etwa die doppelte Zahl der Einträge angegeben:
Statt
INDEX 1 enthält 4896 Einträge
INDEX 2 enthält 640665 Einträge
...
bekomme ich jetzt
INDEX 1 enthält 9731 Einträge
INDEX 2 enthält 1276164 Einträge
...
von protoq angezeigt.
Ein anschließend durchgeführtes
Index kompaktieren
läuft jetzt auch klaglos an und durch.
Dies liefert dann wiederum
INDEX 1 enthält 4865 Einträge
INDEX 2 enthält 635473 Einträge
...
Was das jetzt heißt, weiß ich noch nicht.
Außerdem wird bei beiden Methoden die NEWINX allem Anschein nach zur neuen AAC.GDX gemacht (exakt gleiche Größe und gleicher Änderungszeitpunkt) aber anschließend nicht gelöscht, auch einige (leere) VDM*.tmp sind im Verzeichnis übriggeblieben.
Soweit erst einmal, und nochmals vielen Dank.
Mit freundlichen Grüßen
Thomas Fischer
Mehr Informationen über die Mailingliste Allegro