max. Schluessellaenge mal wieder

Thomas Berger ThB at gymel.com
Fr Mär 22 10:06:22 CET 2002


Lieber Herr Eversberg,

Folgenden Satz habe ich aus einer allegro-NRW-Datenbank
gegrabbelt. Ich vermute mal, dass hier ein GKD-Satz
importiert und evtl. noch verschoent wurde. Vielleicht
aber auch abgeschrieben, man weiss ja nie.

Ich konnte die Datenbank mit "-B25000" indexieren, ein
kleines Perl-Sript, das die ii-Dateien auswertet, ergibt,
dass der Satz im zweiten Indexlauf 387 Schluessel mit 
einer Gesamtlaenge von 18243 Bytes produziert (aber da 
muss man noch 387*5 draufaddieren, nicht wahr?), Eintraege
fuer .STL und .RES nicht mitgerechnet. Die Indexierung
ist natuerlich Sache der Parameterdatei, in der Tat
werden alle Verweise in zwei Register gesetzt, aber
ich habe das Beispiel unten angehaengt, damit man 
einen Eindruck bekommt, dass ein Satz mit ca. 5.500
Bytes Verweisungsformen nicht wenig Schluesselmasse
ergibt.

In der fraglichen Datenbank (ca. 46.000 Saetze nach
Umwandlung von Hierarchisch in Satzverknuepft) gibt
es noch 95 weitere Saetze, die auf eine Schluessellaenge
von mehr als 8.000 kommen, hauptsaechlich Stammsaetze,
auch Personenstammsaetze sind dabei (Ich habe eine
andere Datenbank, die aehnliche Probleme macht, dort
gibt es die Tendenz zu 70 - 100 Einzelschlagworten
pro Aufnahme, das gibt auch Indexierungsprobleme). 

Ach so, mit "-B25000" konnte ich die Datenbank wie
gesagt indexieren ohne Absturz, der Versuch, diesen
Datensatz in a99 unbearbeitet noch einmal zu 
speichern, bringt a99 zum Absturz. Da ist wohl trotz
Objektorientiert noch dieselbe Restriktion von 10.000
am Werk wie bei den DOS-Modulen.

Dieses Limit von 8.000 bzw. 10.000 ist ja wohl uralt,
inzwischen ist il normalerweise nicht mehr 60, die
Kurztitelliste und Restriktionendatei und SR-Schluessel,
Parametrierungsloesung fuer Linkstrunkierung und Kategorien-
statistik sind erfunden worden, die Rechner der Anwender 
sind schneller und stabiler geworden, die Anwender uebernehmen
Fremddaten. Das sind alles Faktoren, die im Laufe der
Jahre zu einem groesseren Speicherhunger gefuehrt haben.

Fuer Index.exe sehe ich zwar nicht ein, dass es ein
Indexierungslimit ueberhaupt gibt (bzw. warum es 
nicht automatisch die 30-80kB sind, die fuer II-Dateien
zur Verfuegung stehen, mit einem geschickten Rollback
a la "berechnete Schluessel passen nicht mehr in den
Speicher, also nicht mehr weiter einsammeln, ii-Datei
wegschreiben, die Schluessel des Satzes noch einmal
berechnen" waere das problemlos moeglich), kann aber
mit dem Schalter -B leben. Dass PRESTO hier Probleme
hat, kann ich auch akzeptieren, obwohl hier eine
.CFG-Option helfen koennte: Anwender koennen im Falle
solcher Problemsaetze mit a99 arbeiten.
Dass aber a99 hier ueberhaupt Probleme hat und zweitens
auch noch in bekannter Allegro-Manier einfach abstuerzt,
das geht nicht. Ich finde dringend, dass a99 entweder
den Speicher fuer berechnete Schluessel dynamisch
alloziert oder hilfsweise mindestens 64kB dafuer 
bereitstellt und NICHT abstuerzt, wenn die Speichergrenze
ueberschritten wird, sondern meinethalben einen
Spezialschluessel (max exceeded) irgendwo ablegt oder
eine Alertbox bringt.

viele Gruesse
Thomas Berger



#000 5/108/K00004075 
#574 Körperschaftsaufnahme 
#066 5/108 
#068 20020114/19:20:09 
#090 i 
#800 Erzdiözese <Köln> 
#802 2029646-0 
#810 Erzbistum <Köln> 
#811 Ordinariat <Köln> 
#812 Erzbischöfliches Ordinariat <Köln> 
#813 Erzdiözese <Köln> / Ordinariat 
#814 Erzbischöfliches Ordinariat <Erzdiözese, Köln> 
#815 Ordinariat <Erzdiözese, Köln> 
#816 Erzbistum <Köln> / Ordinariat 
#817 Ordinariat <Erzbistum, Köln> 
#818 Erzbischöfliches Ordinariat <Erzbistum, Köln> 
#819 Ordinariat des Erzbistums <Köln> 
#81A Ordinariat der Erzdiözese <Köln> 
#81B Diözese <Köln> 
#81C Bistum <Köln> 
#81D Erzbistum <Köln> / Generalvikariat 
#81E Hauptabteilung Seelsorge <Erzbistum, Köln> 
#81F Generalvikariat <Erzbistum, Köln> 
#81G Erzbistum <Köln> / Presseamt 
#81H Presseamt <Erzbistum, Köln> 
#81I Erzbistum <Köln> / Metropolitankapitel 
#81J Metropolitankapitel <Erzbistum, Köln> 
#81K Erzbistum <Köln> / Hauptabteilung Seelsorge 
#81L Erzbistum <Köln> / Referat Ehe und Familie 
#81M Erzdiözese <Köln> / Generalvikariat 
#81N Generalvikariat <Erzdiözese, Köln> 
#81O Erzdiözese <Köln> / Presseamt 
#81P Presseamt <Erzdiözese, Köln> 
#81Q PEK 
#81R Erzdiözese <Köln> / Metropolitankapitel 
#81S Metropolitankapitel <Erzdiözese, Köln> 
#81T Erzbischöfliches Generalvikariat <Köln> 
#81U Archidiocesis Coloniensis 
#81V Diocesis Coloniensis 
#81W Erzdiözese <Köln> / Hauptabteilung Seelsorge 
#81X Erzdiözese <Köln> / Referat Ehe und Familie 
#81Y Capitulum Metropolitanum Coloniense 
#81Z Erzdiözese <Köln> / Referat Privater Rundfunk 
#81[ Hauptabteilung Seelsorge <Erzdiözese, Köln> 
#81\ Referat Ehe und Familie <Erzdiözese, Köln> 
#81] Referat Privater Rundfunk <Erzdiözese, Köln> 
#81^ Erzdiözese <Köln> / Domkapitel 
#81_ Hauptabteilung Seelsorge, Pastoral <Erzdiözese, Köln> 
#81` Abteilung Bildung <Erzdiözese, Köln> 
#81a Domkapitel <Erzdiözese, Köln> 
#81b Erzdiözese <Köln> / Diözesankonferenz 
#81c Diözesankonferenz <Köln> 
#81d Erzdiözese <Köln> / Priesterrat 
#81e Priesterrat im Erzbistum Köln 
#81f Erzdiözese <Köln> / Hauptaubteilung Seelsorge, Personal 
#81g Erzdiözese <Köln> / Abteilung Bildung 
#81h Priesterrat / <Erzdiözese, Köln> 
#81i Erzdiözese <Köln> / Hauptabteilung Schule, Hochschule 
#81j Diözesankonferenz <Erzdiözese, Köln> 
#81k Erzdiözese <Köln> / Synodus 
#81l Synodus Diocesana Coloniensis 
#81m Erzdiözese <Köln> / Erzbischof 
#81n Erzbischof <Erzdiözese, Köln> 
#81o Diözesanrat der Katholiken <Erzdiözese, Köln> 
#81p Erzdiözese <Köln> / Diözesanrat 
#81q Diözesanrat <Erzdiözese, Köln> 
#81r Erzdiözese <Köln> / Schulabteilung 
#81s Schulabteilung <Erzdiözese, Köln> 
#81t Erzdiözese <Köln> / Diözesanpastoralrat 
#81u Diözesanpastoralrat <Erzdiözese, Köln> 
#81vfHochstift <Köln> 
#81w Hauptabteilung Schule, Hochschule <Erzdiözese, Köln> 
#81x Referat Ehe und Familie <Erzbistum, Köln> 
#81y Erzbistum <Köln> / Referat Privater Rundfunk 
#81z Referat Privater Rundfunk <Erzbistum, Köln> 
#81 Erzbistum <Köln> / Domkapitel 
#81| Hauptabteilung Seelsorge, Pastoral <Erzbistum, Köln> 
#81 Hauptabteilung Bildung <Erzbistum, Köln> 
#81~ Domkapitel <Erzbistum, Köln> 
#81Ê Erzbistum <Köln> / Diözesankonferenz 
#81Ç Erzbistum <Köln> / Priesterrat 
#81ü Priesterrat in der Erzdiözese Köln 
#81é Erzbistum <Köln> / Hauptabteilung Seelsorge, Pastoral 
#81â Erzbistum <Köln> / Abteilung Bildung 
#81ä Priesterrat / <Erzbistum, Köln> 
#81à Erzbistum <Köln> / Hauptabteilung Schule, Hochschule 
#81å Diözesankonferenz <Erzbistum, Köln> 
#81ç Erzbistum <Köln> / Synodus 
#81ê Erzbistum <Köln> / Erzbischof 
#81ë Erzbischof <Erzbistum, Köln> 
#81è Bischof <Erbistum, Köln> 
#81ï Erzbistum <Köln> / Bischof 
#81î Bischof <Erzdiözese, Köln> 
#81ì Erzdiözese <Köln> / Bischof 
#81Ä Diözesanrat der Katholiken <Erzbistum, Köln> 
#81Å Erzbistum <Köln> / Diözesanrat 
#81É Diözesanrat <Erzbistum, Köln> 
#81æ Erzbistum <Köln> / Schulabteilung 
#81Æ Schulabteilung <Erzbistum, Köln> 
#81ô Erzbistum <Köln> / Diözesanpastoralrat 
#81ö Diözesanpastoralrat <Erzbistum, Köln> 
#81ò Hauptabteilung Schule, Hochschule <Erzbistum, Köln> 
#81û Erzdiözese <Köln> / Generalvikariat / Hauptabteilung Seelsorge 
#81ù Hauptabteilung Seelsorge im Bischöflichen Generalvikariat
<Erzdiözese, Köln> 
#81ÿ Generalvikariat <Erzdiözese, Köln> / Hauptabteilung Seelsorge 
#81Ö Erzbistum <Köln> / Generalvikariat / Hauptabteilung Seelsorge 
#81Ü Hauptabteilung Seelsorge im Bischöflichen Genralvikariat
<Erzbistum, Köln> 
#81¢ Generalvikariat <Erzbistum, Köln> / Hauptabteilung Seelsorge 
#81£ Hauptabteilung Seelsorge im Generalvikariat <Erzbistum, Köln> 
#81Ì Hauptabteilung Seelsorge im Generalvikariat <Erzdiözese, Köln> 
#81Ã Bischöfliches Generalvikariat <Köln> 
#81Ý Bischöfliches Generalvikariat <Köln> / Hauptabteilung Seelsorge 
#81á Priesterrat der Erzdiözese <Köln> 
#81í Priesterrat des Erzbistums <Köln> 
#81ó Erzdiözese <Köln> / Generalvikariat / Presseamt 
#81ú Presseamt im Bischöflichen Generalvikariat <Erzdiözese, Köln> 
#81ñ Generalvikariat <Erzdiözese, Köln> / Presseamt 
#81Ñ Presseamt im Generalvikariat <Erzdiözese, Köln> 
#81Ð Erzbischöfliches Generalvikariat <Köln> 
#81ð Erzbistum <Köln> / Generalvikariat / Presseamt 
#81Â Presseamt im Bischöflichen Generalvikariat <Erzbistum, Köln> 
#81® Generalvikariat <Erzbistum, Köln> / Presseamt 
#81 Presseamt im Generalvikariat <Erzbistum, Köln> 
#81Š Presseamt im Erzbischöflichen Generalvikariat <Erzbistum, Köln> 
#81š Presseamt im Erzbischöflichen Generalvikariat <Erzdiözese, Köln> 
#81ý Hauptabteilung Seelsorge im Erzbischöflichen Generalvikariat
<Erzdiözese, Köln> 
#81Û Hauptabteilung Seelsorge im Erzbischöflichen Generalvikariat
<Erzbistum, Köln> 
#81¾ Presseamt des Erzbistum <Köln> 
#81¹ Presseamt der Erzdiözese <Köln> 
#81Þ Erzdiözese <Köln> / Abteilung Bau-, Kunst- und Dekmalpflege 
#81þ Erzbistum <Köln> / Abteilung Bau-, Kunst- und Dekmalpflege 
#81„ Abteilung Bau-, Kunst- und Dekmalpflege <Erzbistum, Köln> 
#81 Abteilung Bau-, Kunst- und Dekmalpflege <Erzdiözese, Köln> 
#830 GKD, 14. Aufl.




Mehr Informationen über die Mailingliste Allegro