Detailfragen zu acon [Was: Re: [Allegro] acon: if Del ... nach fetch record]

Bernhard Eversberg ev at biblio.tu-bs.de
Mo Jun 21 11:19:51 CEST 2010


Thomas Berger schrieb:
> 
> Frage zur Effizienz: Angenommen ich habe einen "Datensatz" in
> der iV, ein damit den Kategoriespeicher fuellendes "insert" hat dann
> vermutlich einige Kosten. Was ist guenstiger, wenn man eine Kopie
> haben moechte:
> 
>  // Kopie des Satzes
> copy obj1 2
> switch obj
> 
>  // oder erneutes insert
> switch obj
> new
> insert
> 
Das erstere; dabei wird die Copy()-Methode der RECORD-Klasse genutzt,
die nicht jedes Feld einzeln behandelt, anders als "insert".

> Lassen sich die Unterschiede quantifizieren 
habe ich noch nicht versucht, hängt wohl auch von der durchschnittlichen
Anzahl Datenfelder je Satz ab.

> 
> Noch eine Frage: Ich habe den Eindruck, dass "Write" oft den Inhalt der iV
> zerstoert (genau dann, wenn dort CStrings *mit* folgenden Manipulationen (...)
> vorkommen?).
Ja, ist so.

> Soll das so sein bzw. gibt es eine Liste von Befehlen, die die iV erhalten oder
> zerstoeren (oft ist es ja dokumentiert, wie bei "fetch")?
> 
Es ist stets dokumentiert, wenn ein Befehl eine Wirkung auf die iV hat.

> 
> 
> Fuer "fetch record" (auch fuer "read"? auch bei a99?) ist der Trenner
> zwischen zwei Datensaetzen nicht die Leerzeile, sondern das Auftreten
> der Primaerschluesselkategorie (und es gab schon immer Probleme, wenn
> die nicht belegt war, etwa bei Exemplarsaetzen). Liest man daher eine
> nach .ADT umgewandelte Logdatei ein (enthaelt #u1), so besteht der
> "Datensatz", der in der iV ankommt, nur aus #u1 (und ihrem Inhalt), denn
> diese kommt *vor* der Schluesselkategorie #00.
> Der Rest wird wohl als naechster Datensatz interpretiert, aber nie
> eingelesen ...

Dem müssen wir noch nachgehen.

B.E.




Mehr Informationen über die Mailingliste Allegro