with-transaction

Der Aufruf (with-transaction database symbol s-expr1 s-expr2 ...) erzeugt zunächst eine Transaktion anhand der Datenbank database und speichert diese in der lokalen Variablen symbol. Dabei können Datenbank-Objekte mit get-ontology erzeugt werden.

Die S-Expressions s-expr1, s-expr2 ... werden der Reihe nach in einer Umgebung ausgeführt, die die lokale Variable symbol enthält.

Die Auswertung der S-Expressions wird abgebrochen, sobald eine den Wert nil ergibt. In diesem Fall wird die Transaktion zurückgerollt.

Wenn alle S-Expressions zu einen Wert ungleich nil ausgewertet werden können, dann wird die Transaktion festgeschrieben.

Das Resultat von with-transaction ist das Resultat der letzten ausgewerteten S-Expression s-expr.