L"oschung von cat_n.ald gel"oschter S"atze
Thomas Berger
ThB at gymel.com
Mo Sep 29 21:56:00 CEST 2003
Lieber Herr Allers,
> 1.
> Eine Datenbank setze sich aus cat_1.ald, cat_2.ald, cat_3.ald, ... zusammen.
statthaft.
> 2.
> Sämtliche Datensätze in cat_2.ald werden gelöscht.
statthaft.
> 3.
> Die Datei cat_2.ald wird gelöscht.
Bedenken Sie, dass im Index noch Loeschschluessel auf die
geloeschten Datensaetze verweisen und in der .TBL deren
Position in der nicht mehr existierenden cat_2.ald vermerkt
ist.
Sie muessten nun eigentlich "entlueften", wobei es anders
als sonst nicht wirklich darauf ankommt, ungenutzten Platz
in cat_2.ald zurueckzugeben, sondern die Satznummern als
nicht mehr zu benutzen zu kennzeichnen. Sie koennen gezielt
eine einzelne .ald-Datei entlueften (hier cat_2):
%-P%\index -fr -n0 -d*%-D%\cat_2 -e%-b%/%-D%
Wenn 2. wirklich wahr war, muessten Sie danach eine
0 Byte grosse Datei cat_2.ald uebrigbehalten.
> 4.
> Eine neue Datei cat_2.ald wird ins Datenbankverzeichnis hineingestellt und
> mit
>
> set -d=...
> index -f71 - at 1 -n0 -m0 -dcat_2 -ecat/%-d% -h0
> index -fi1 - at 2 -n0 -m0 -dcat_2 -ecat/%-d% -h0
>
> in die bestehende Datenbank hinzu- bzw. hineinindexiert.
klarerweise (-f7*1*) wird hier zur Datenbank ergaenzt,
d.h. die bei 3. diskutierten zurueckgebliebenen Schluessel
von Leersaetzen aus cat_2.ald werden nicht bereinigt.
Eine Aenderung an einem Datensatz in der neuen cat_2.ald,
die zum Umspeichern fuehrt, wuerde also fast zwangslaeufig
den Satz an eine willkuerliche Stelle der cat_2.ald
zurueckspeichern, ausser Sie arbeiten absolut konsequent
mit -N0, d.h. Leersatznutzung wird verhindert.
viele Gruesse
Thomas Berger
Mehr Informationen über die Mailingliste Allegro