[Python-de] Re: Sprachfeatures und so (war: Modul von woanders laden)

Janko Hauser jhauser at ifm.uni-kiel.de
Sat Mar 9 19:05:19 EST 2002


On Sat, 9 Mar 2002 17:36:36 +0100
"Matthias Urlichs" <smurf at noris.de> wrote:

> 
> Nun nehme man ein komplexeres Beispiel, wie zB den Grundgedanken "wir
> ersetzen prozeduralen SQL-Zugriff und die Übergabe von Integer-PRIMARY
> KEY-Werten durch Objekte mit Gedächtnis". Also: statt
> 	db.DoSQL("UPDATE kunde SET letzte_rechnung="+SQLDATE(2002,03,01)+" WHERE ID=kunde_id"
> was massiv fehlerträchtig ist wenn man anfängt drüber nachzudenken, soll
> einfach nur
> 	kunde.letzte_rechnung=mx.Date(2001,03,01)
> dastehen.
> 
> Bitte die Tatsache, dass SQL Transaktionen hat, die auch mal fehlschlagen
> können, und trotzdem lokales Cachen diverser Werte essenziell ist, nicht
> vergessen. ;-)
> 
So wie du es beschreibst sieht es aus, als wuerdest du mit viel Magie in __getattr__, __setattr__ arbeiten. Weise einem Attribute einen Wert zu, der im Grunde ein Parameter ist und bei Abfrage des attr rufe eine Methode, die eine SQL-Abfrage macht und das Ergebnis cached, oder nur ein gecachtes Ergebnis liefert. Ich kann mich aber auch taeuschen und dieses Raetsel ganz falsch loesen. Doch wenn es so ist, frage ich mich, wozu dieser Kram?

> ... vor dem Problem steh ich gerade, und finde es ziemlich nervig, dass
> ich dafür anscheinend einen ZODB-Server mit nativer Datenbankunter-
> stützung programmieren muss... scheint es ja noch nicht zu geben.
> 

Diesen Teil des Raetsels verstehe ich nicht. Wenn es darum geht auf `relativ' einfacher Weise OO-Attribute-Zuweisung in einer relationalen Datenbank persistent zu machen, dann schaue dir vielleicht mal ZPatterns an, die haben sehr viel vodoo da reingelegt das Storage von der Applicationslogic zu trennen. Fuer manche war es aber wohl zuviel Vodoo , aber einen ex-perler sollte das nicht abschrecken :-).

__Janko






More information about the Python-de mailing list