0.1 Changelog

0.1.7

Veröffentlicht: Fr, 5. Mai 2006
  • [keine_Tags]

    einige Korrekturen am Algorithmus zur topologischen Sortierung

  • [keine_Tags]

    DISTINCT ON Unterstützung für Postgres hinzugefügt (geben Sie einfach distinct=[col1,col2..] an)

  • [keine_Tags]

    __mod__ (Operator %) zu SQL-Ausdrücken hinzugefügt

  • [keine_Tags]

    „order_by“ Mapper-Eigenschaft vom vererbenden Mapper übernommen

  • [keine_Tags]

    Korrektur des Spaltentyps, der bei Mapper UPDATES/DELETEs verwendet wird

  • [keine_Tags]

    wenn convert_unicode=True, schlug die Reflexion fehl, wurde behoben

  • [keine_Tags]

    Typen, Typen, Typen! funktionierten immer noch nicht….muss TypeDecorator wieder verwenden :(

  • [keine_Tags]

    mysql binärer Typ konvertiert Array-Ausgabe in Puffer, behebt PickleType

  • [keine_Tags]

    Speicherleck in attributes.py endgültig behoben

  • [keine_Tags]

    Unittests sind nach den unterstützten Datenbanken qualifiziert

  • [keine_Tags]

    Fehler behoben, bei dem Spaltendefaults die VALUES-Klausel von INSERT-Objekten überschrieben

  • [keine_Tags]

    Fehler behoben, bei dem Tabellendefinitionen mit Schemanamen eine Engine-Verbindung erzwangen

  • [keine_Tags]

    Korrektur für Klammern, damit sie mit Subqueries in INSERT/UPDATE korrekt funktionieren

  • [keine_Tags]

    HistoryArraySet erhält die Methode extend()

  • [keine_Tags]

    Lazyload-Unterstützung für andere Vergleichsoperatoren als = behoben

  • [keine_Tags]

    Lazyload-Korrektur, bei der zwei Vergleiche in der Join-Bedingung auf dieselbe Spalte verweisen

  • [keine_Tags]

    „construct_new“-Flag zu Mapper hinzugefügt, wird __new__ zum Erstellen von Instanzen anstelle von __init__ verwenden (Standard in 0.2)

  • [keine_Tags]

    selectresults.py zu SVN hinzugefügt, letztes Mal verpasst

  • [keine_Tags]

    Anpassung, um eine Many-to-Many-Beziehung von einer Tabelle zu sich selbst über eine Assoziationstabelle zu ermöglichen

  • [keine_Tags]

    kleine Korrektur an der Funktion „translate_row“, die vom polymorphen Beispiel verwendet wird

  • [keine_Tags]

    create_engine verwendet cgi.parse_qsl zum Lesen der Query-String (in 0.2 außer Kraft gesetzt)

  • [keine_Tags]

    Anpassungen am CAST-Operator

  • [keine_Tags]

    Funktionsnamen LOCAL_TIME/LOCAL_TIMESTAMP -> LOCALTIME/LOCALTIMESTAMP korrigiert

  • [keine_Tags]

    Reihenfolge von ORDER BY/HAVING in compile korrigiert

0.1.6

Veröffentlicht: Mi, 12. April 2006
  • [keine_Tags]

    Unterstützung für MS-SQL, dank Rick Morrison, Runar Petursson

  • [keine_Tags]

    das neueste SQLSoup von J. Ellis

  • [keine_Tags]

    ActiveMapper hat vorläufige Unterstützung für Vererbung (Jeff Watkins)

  • [keine_Tags]

    „mods“-System hinzugefügt, das austauschbare Module ermöglicht, die Kernfunktionalität modifizieren/erweitern, unter Verwendung der Funktion „install_mods(*modnames)“.

  • [keine_Tags]

    das erste „Mod“ hinzugefügt, SelectResults, das Mapper-Selects modifiziert, um Generatoren zurückzugeben, die Bereiche in LIMIT/OFFSET-Abfragen umwandeln (Jonas Borgstr?

  • [keine_Tags]

    Abfragefähigkeiten von Mapper in ein separates Query-Objekt ausgelagert, das Session-zentriert ist. Dies verbessert die Leistung von mapper.using(session) und ermöglicht andere Dinge.

  • [keine_Tags]

    objectstore/Session refaktoriert, die offizielle Methode zum Speichern von Objekten ist nun über die flush()-Methode. Die begin/commit-Funktionalität von Session ist in LegacySession ausgelagert, die bis zur Serie 0.2 weiterhin das Standardverhalten ist.

  • [keine_Tags]

    Typensystem wird zur Kompilierzeit der Abfrage an eine Engine gebunden, nicht zur Laufzeit der Schemakonstruktion. Dies vereinfacht das Typensystem sowie die ProxyEngine.

  • [keine_Tags]

    „version_id“-Schlüsselwortargument zu Mapper hinzugefügt. Dieses Schlüsselwort sollte sich auf ein Spaltenobjekt vom Typ Integer beziehen, vorzugsweise nicht nullbar, das in der zugeordneten Tabelle zur Nachverfolgung von Versionsnummern verwendet wird. Diese Nummer wird bei jeder Speicheroperation inkrementiert und in den UPDATE/DELETE-Bedingungen angegeben, damit sie in die zurückgegebene Zeilenanzahl einfließt, was zu einem ConcurrencyError führt, wenn der empfangene Wert nicht die erwartete Anzahl ist.

  • [keine_Tags]

    „entity_name“-Schlüsselwortargument zu Mapper hinzugefügt. Ein Mapper ist nun über das Klassenobjekt sowie einen optionalen entity_name-Parameter, eine Zeichenkette mit dem Standardwert None, mit einer Klasse verbunden. Beliebig viele primäre Mapper können für eine Klasse erstellt werden, qualifiziert durch den Entitätsnamen. Instanzen dieser Klassen geben alle ihre Lade- und Speicheroperationen über ihren Entitätsnamen-qualifizierten Mapper aus und behalten eine separate Identität in der Identitätszuordnung für ein ansonsten gleichwertiges Objekt.

  • [keine_Tags]

    Überarbeitung des Attributsystems. Der Code wurde klargestellt und auch korrigiert, um die ordnungsgemäße polymorphe Behandlung von Objektattributen zu unterstützen.

  • [keine_Tags]

    „for_update“-Flag zu Select-Objekten hinzugefügt

  • [keine_Tags]

    einige Korrekturen für Backrefs

  • [keine_Tags]

    Korrektur für postgres1 DateTime-Typ

  • [keine_Tags]

    Dokumentationsseiten größtenteils auf Markdown-Syntax umgestellt

0.1.5

Veröffentlicht: Mo, 27. März 2006
  • [keine_Tags]

    SQLSession-Konzept zu SQLEngine hinzugefügt. Dieses Objekt verwaltet das Abrufen einer Verbindung aus dem Connection-Pool sowie eine laufende Transaktion. Methoden push_session() und pop_session() zu SQLEngine hinzugefügt, die eine neue SQLSession auf die Engine pushen/poppen, was Operationen auf einer zweiten Verbindung ermöglicht, die innerhalb der vorherigen „verschachtelt“ ist, und verschachtelte Transaktionen ermöglicht. Andere Tricks werden später bezüglich SQLSession kommen.

  • [keine_Tags]

    nest_on-Argument zu objectstore.Session hinzugefügt. Dies ist eine einzelne SQLEngine oder eine Liste von Engines, für die push_session()/pop_session() bei jeder Aktivierung dieser Session aufgerufen wird (über objectstore.push_session() oder Äquivalent). Dies ermöglicht einer Unit-of-Work-Session, die verschachtelte Transaktionsfunktion zu nutzen, ohne explizit push_session/pop_session auf der Engine aufzurufen.

  • [keine_Tags]

    objectstore/unitofwork auseinandergezogen, um „Session Scoping“ von „uow commit heavy lifting“ zu trennen

  • [keine_Tags]

    populate_instance()-Methode zu MapperExtension hinzugefügt. Ermöglicht es einer Erweiterung, die Population von Objektattributen zu modifizieren. Diese Methode kann die populate_instance()-Methode eines anderen Mappers aufrufen, um die Attributpopulation von einem Mapper zum anderen weiterzuleiten; einige Zeilenübersetzungslogik ist ebenfalls integriert, um dabei zu helfen.

  • [keine_Tags]

    Oracle8-kompatible „use_ansi“-Flagge korrigiert, die JOINs in Vergleiche mit den = und (+) Operatoren umwandelt, besteht grundlegende Unittests

  • [keine_Tags]

    Anpassungen der Oracle LIMIT/OFFSET-Unterstützung

  • [keine_Tags]

    Oracle-Reflexion verwendet ALL_** Views anstelle von USER_**, um eine größere Liste von zu reflektierenden Elementen zu erhalten

  • [keine_Tags]

    Korrekturen für Oracle-Fremdschlüsselreflexion

    Referenzen: #105

  • [keine_Tags]

    objectstore.commit(obj1, obj2,…) fügt einen zusätzlichen Schritt hinzu, um private Beziehungen zu Eigenschaften zu suchen und untergeordnete Objekte zu löschen, auch wenn es kein globaler Commit ist

  • [keine_Tags]

    viele Korrekturen für Mapper, die Vererbung verwenden, gestärkte das Konzept von Beziehungen eines Mappers, die zur „lokalen“ Tabelle für diesen Mapper gebildet werden, nicht zu den Tabellen, die sie erbt. Ermöglicht komplexere kompositorische Muster mit Lazy/Eager Loading.

  • [keine_Tags]

    Unterstützung für Mapper hinzugefügt, um von anderen auf derselben Tabelle zu erben, geben Sie einfach dieselbe Tabelle wie die des übergeordneten/untergeordneten Mappers an.

  • [keine_Tags]

    einige geringfügige Geschwindigkeitsverbesserungen am Attributsystem in Bezug auf das Instanziieren und Befüllen neuer Objekte.

  • [keine_Tags]

    MySQL Binär-Unittest behoben

  • [keine_Tags]

    INSERTs können Klausel-Elemente als VALUES-Argumente empfangen, nicht nur Literalwerte

  • [keine_Tags]

    Unterstützung für das Aufrufen von Multi-Token-Funktionen, z. B. schema.mypkg.func()

  • [keine_Tags]

    J. Ellis' SQLSoup-Modul zum Erweiterungspaket hinzugefügt

  • [keine_Tags]

    polymorphe Beispiele hinzugefügt, die Methoden zum Laden mehrerer Objekttypen aus einem Mapper veranschaulichen, von denen das zweite die neue Methode populate_instance() verwendet. Kleine Verbesserungen am Mapper, UNION-Konstrukt zur Unterstützung der Beispiele

  • [keine_Tags]

    Verbesserungen/Korrekturen an session.refresh()/session.expire() (die vielleicht früher „invalidieren“ genannt wurden..)

  • [keine_Tags]

    session.expunge() hinzugefügt, das ein Objekt vollständig aus der aktuellen Session entfernt

  • [keine_Tags]

    *args, **kwargs Pass-Through zu engine.transaction(func) hinzugefügt, was die einfachere Erstellung von transaktionalisierenden Dekoratorfunktionen ermöglicht

  • [keine_Tags]

    Iterator-Schnittstelle zu ResultProxy hinzugefügt: „for row in result:…“

  • [keine_Tags]

    Assertion hinzugefügt zu tx = session.begin(); tx.rollback(); tx.begin(), d.h. kann nicht nach einem rollback() verwendet werden

  • [keine_Tags]

    Datums-/Zeitkonvertierung bei Bindeparametern zur Korrektur von SQLite hinzugefügt, damit Datumsangaben mit pysqlite1 funktionieren

  • [keine_Tags]

    Verbesserungen an Subqueries, um ihre FROM-Klauseln intelligenter zu konstruieren

    Referenzen: #116

  • [keine_Tags]

    PickleType zu types hinzugefügt.

  • [keine_Tags]

    Zwei Fehler mit Spaltenbezeichnungen in Bezug auf Bindeparameter behoben: Bindeparameter-Schlüsselnamen werden jetzt aus einem Spalten-"Label" in allen relevanten Fällen generiert, um Regeln für überlange Namen zu nutzen, und Prüfungen auf eine eigentümliche Kollision mit einer Spalte namens „tablename_colname“ hinzugefügt

  • [keine_Tags]

    umfassende Überarbeitung der Dokumentation zum Unit of Work, andere Dokumentationsabschnitte.

  • [keine_Tags]

    Attribute-Fehler behoben, bei dem, wenn ein Objekt committet wurde, seine lazy-geladene Liste verloren ging, wenn sie nicht geladen worden war

  • [keine_Tags]

    unique_connection()-Methode zu engine, Connection Pool hinzugefügt, um eine Verbindung zurückzugeben, die nicht Teil des Thread-lokalen Kontexts oder einer aktuellen Transaktion ist

  • [keine_Tags]

    invalidate()-Funktion zu gepoolter Verbindung hinzugefügt. Entfernt die Verbindung aus dem Pool. Benötigt noch Arbeit, damit Engines automatisch eine Verbindung zu einer veralteten DB wiederherstellen.

  • [keine_Tags]

    distinct()-Funktion zu Spaltenelementen hinzugefügt, sodass Sie func.count(mycol.distinct()) machen können

  • [keine_Tags]

    „always_refresh“-Flag zu Mapper hinzugefügt, erstellt einen Mapper, der die Attribute von Objekten, die er von der DB holt/auswählt, immer aktualisiert und dabei alle vorgenommenen Änderungen überschreibt.

0.1.4

Veröffentlicht: Mo, 13. März 2006
  • [keine_Tags]

    create_engine() verwendet jetzt generische Parameter; host/hostname, db/dbname/database, password/passwd usw. für alle Engine-Verbindungen. Macht Engine-URIs viel „universeller“

  • [keine_Tags]

    Unterstützung für SELECT-Anweisungen hinzugefügt, die in eine Spaltenklausel eingebettet sind, unter Verwendung des Flags „scalar=True“

  • [keine_Tags]

    weitere Überarbeitung von EagerLoading in Verbindung mit vererbenden Mappern; Verbesserungen an Eager Loads, die ihre Alias-Abfragen korrekt ermitteln, auch Beziehungen, die zu einem Mapper mit vererbenden Mappern eingerichtet sind, erstellen Joins zur Tabelle, die spezifisch für den Mapper selbst ist (d. h. und nicht zu Tabellen, die geerbt wurden/weiter unten in der Vererbungskette liegen), dies kann durch die Verwendung benutzerdefinierter primärer/sekundärer Joins überschrieben werden.

  • [keine_Tags]

    J.Ellis-Patch zu mapper.py hinzugefügt, sodass selectone() eine Ausnahme auslöst, wenn die Abfrage mehr als eine Objektzeile zurückgibt, selectfirst() keine Ausnahme auslöst. Fügt auch selectfirst_by (synonym mit get_by) und selectone_by hinzu

  • [keine_Tags]

    onupdate-Parameter zu Column hinzugefügt, führt SQL/Python bei einer UPDATE-Anweisung aus. Fügt auch „for_update=True“ zu allen DefaultGenerator-Unterklassen hinzu

  • [keine_Tags]

    Unterstützung für die Oracle-Tabellenreflexion, beigesteuert von Andrija Zaric; es müssen noch einige Fehler bezüglich zusammengesetzter Primärschlüssel/Dictionary-Auswahl behoben werden

  • [keine_Tags]

    ein anfängliches Firebird-Modul eingecheckt, wartet auf Tests.

  • [keine_Tags]

    sql.ClauseParameters-Dictionary-Objekt als Ergebnis von compiled.get_params() hinzugefügt, führt eine späte Typverarbeitung von Bindeparametern durch, sodass die ursprünglichen Werte leichter zugänglich sind

  • [keine_Tags]

    mehr Dokumentation für Indizes, Spaltendefaults, Connection Pooling, Engine-Konstruktion

  • [keine_Tags]

    Überarbeitung der Konstruktion des Typensystems. Verwendet ein einfacheres Vererbungsmuster, so dass jeder der generischen Typen leicht unterklassifiziert werden kann, ohne dass TypeDecorator erforderlich ist.

  • [keine_Tags]

    „convert_unicode=False“-Parameter zu SQLEngine hinzugefügt, bewirkt, dass alle String-Typen Unicode-Typen behandeln, mit Rohbyte-/UTF-8-Übersetzung auf der Bindeparameter- und Ergebnisroutensitzenseite.

  • [keine_Tags]

    „encoding=”utf8““-Parameter zu Engine hinzugefügt. Die angegebene Kodierung wird für alle Encode/Decode-Aufrufe innerhalb von Unicode-Typen sowie für Strings verwendet, wenn convert_unicode=True.

  • [keine_Tags]

    verbesserte Unterstützung für die Zuordnung zu UNIONs, polymorphes.py-Beispiel hinzugefügt, um die Mehrklassenzuordnung zu einem UNION zu veranschaulichen

  • [keine_Tags]

    Korrektur für SQLite LIMIT/OFFSET-Syntax

  • [keine_Tags]

    Korrektur für Oracle LIMIT-Syntax

  • [keine_Tags]

    backref()-Funktion hinzugefügt, ermöglicht Backreferences, Schlüsselwortargumente zu haben, die an die Backref weitergegeben werden.

  • [keine_Tags]

    Sequenzen und ColumnDefault-Objekte können standalone execute()/scalar() ausführen

  • [keine_Tags]

    SQL-Funktionen (z. B. func.foo()) können standalone execute()/scalar() ausführen

  • [keine_Tags]

    Korrektur für SQL-Funktionen, damit die ANSI-Standardfunktionen, d. h. current_timestamp usw., keine Klammern angeben. Alle anderen Funktionen tun dies.

  • [keine_Tags]

    setattr_clean und append_clean zu SmartProperty hinzugefügt, die Attribute setzen, ohne ein „dirty“-Ereignis oder eine Historie auszulösen. Verwendung: myclass.prop1.setattr_clean(myobject, ‚hi‘)

  • [keine_Tags]

    Verbesserte Unterstützung für Spaltendefaults, wenn sie von Mappern verwendet werden; Mapper ziehen vorab ausgeführte Defaults aus den ausgeführten Bindeparametern der Anweisung (vor der Konvertierung), um sie in die Attribute eines gespeicherten Objekts zu laden; wenn passive Defaults ausgelöst wurden, wird stattdessen die Zeile aus der DB nachgeholt, um das Objekt zu füllen.

  • [keine_Tags]

    „get_session().invalidate(*obj)“-Methode zu objectstore hinzugefügt, Instanzen werden sich bei jedem Zugriff auf ein Attribut selbst neu laden.

  • [keine_Tags]

    Verbesserungen an SQL-Funktionsaufrufen, einschließlich eines „engine“-Schlüsselwortarguments, damit sie standalone execute()/scalar() ausgeführt werden können, außerdem wurde der func-Accessor zu SQLEngine hinzugefügt

  • [keine_Tags]

    Korrektur für MySQL4 benutzerdefinierte Tabellen-Engines, z. B. TYPE anstelle von ENGINE

  • [keine_Tags]

    leicht verbesserte Protokollierung, enthält Zeitstempel und ein einigermaßen konfigurierbares Formatierungssystem, anstelle eines vollwertigen Protokollierungssystems

  • [keine_Tags]

    Verbesserungen an der ActiveMapper-Klasse von der TG-Gang, einschließlich Many-to-Many-Beziehungen

  • [keine_Tags]

    Double und TinyInt-Unterstützung für mysql hinzugefügt

0.1.3

Veröffentlicht: Do, 2. März 2006
  • [keine_Tags]

    vollständige „post_update“-Funktion, fügt eine zweite UPDATE-Anweisung vor INSERTs und nach DELETEs hinzu, um eine Beziehung ohne Abhängigkeiten zu synchronisieren; wird verwendet, wenn zwei Zeilen persistiert werden, die voneinander abhängig sind

  • [keine_Tags]

    vollständige mapper.using(session)-Funktion, lokalisierte per-Objekt Session-Funktionalität; Objekte können als lokal zu jeder benutzerdefinierten Session deklariert und manipuliert werden

  • [keine_Tags]

    Korrektur für Oracle „row_number over“-Klausel mit mehreren Tabellen

  • [keine_Tags]

    mapper.get() wählte keine mehrschlüsseligen Objekte aus, wenn die Tabelle des Mappers ein Join war, wie z. B. bei einer Vererbungsbeziehung, dies ist behoben.

  • [keine_Tags]

    Überarbeitung der Pakete sql/schema, so dass das sql-Paket eigenständig laufen kann und Selects, Inserts usw. ohne Engine-Abhängigkeiten erzeugt. Baut auf neuen lexikalischen Objekten TableClause/ColumnClause auf. Die Table/Column-Objekte von Schema sind die „physischen“ Unterklassen davon. Vereinfacht die Beziehung zwischen Schema/SQL, Erweiterungen (wie Proxyengine) und beschleunigt die Gesamtleistung erheblich. Entfernt das gesamte getattr()-Verhalten, das 0.1.1 plagte.

  • [keine_Tags]

    Refactoring der Synchronisierung von Daten zwischen zwei Objekten durch den Mapper in ein separates Modul, funktioniert besser mit Eigenschaften, die an einen Mapper angehängt sind, der eine zusätzliche Vererbungsbeziehung zu einer der zugehörigen Tabellen hat, auch die gleiche Methodik, die zur Synchronisierung von Eltern-/Kindobjekten verwendet wird, wird nun vom Mapper zur Synchronisierung zwischen vererbenden und geerbten Mappern verwendet.

  • [keine_Tags]

    Die Prüfung auf „Außerhalb der Identitätszuordnung“ im objectstore wurde aggressiver gemacht, die Prüfung wird durchgeführt, wenn Objektattribute modifiziert oder das Objekt gelöscht wird

  • [keine_Tags]

    Index-Objekt vollständig implementiert, kann eigenständig oder über die Argumente „index“ und „unique“ auf Spalten erstellt werden.

  • [keine_Tags]

    „convert_unicode“-Flagge zu SQLEngine hinzugefügt, behandelt alle String/CHAR-Typen als Unicode-Typen, mit Rohbyte-/UTF-8-Übersetzung auf der Bindeparameter- und Ergebnisroutensitzenseite.

  • [keine_Tags]

    Postgres verwaltet eine Liste von ANSI-Funktionen, die keine Klammern haben müssen, sodass Funktionsaufrufe ohne Argumente konsistent funktionieren

  • [keine_Tags]

    Tabellen können ohne angegebene Engine erstellt werden. Dies weist ihnen standardmäßig eine pro Modul gespeicherte „Standard-Engine“ zu, die eine ProxyEngine ist. Diese Engine kann über die Funktion „global_connect“ verbunden werden.

  • [keine_Tags]

    „refresh(*obj)“-Methode zu objectstore / Session hinzugefügt, um die Attribute eines beliebigen Objekts-Sets bedingungslos aus der Datenbank neu zu laden

0.1.2

Veröffentlicht: Fr, 24. Februar 2006
  • [keine_Tags]

    ein rekursiver Aufruf im Schema behoben, der irgendwie 994 Mal lief und dann normal zurückkehrte. Nichts kaputt gemacht, alles verlangsamt. Dank jpellerin für die Entdeckung.

0.1.1

Veröffentlicht: Do, 23. Februar 2006
  • [keine_Tags]

    kleine Korrektur an der Function-Klasse, sodass Ausdrücke mit func.foo() den Typ des Function-Objekts (d.h. die linke Seite) als Typ des booleschen Ausdrucks verwenden, nicht die andere Seite, die eher ein bewegliches Ziel ist (Änderungssatz 1020).

  • [keine_Tags]

    Erstellung von selbstreferenziellen Mappern mit Backrefs geringfügig einfacher gemacht (aber immer noch nicht ganz einfach - Änderungssatz 1019)

  • [keine_Tags]

    Korrekturen für Eins-zu-Eins-Zuordnungen (Änderungssatz 1015)

  • [keine_Tags]

    psycopg1 Datum/Zeit-Problem mit None behoben (Änderungssatz 1005)

  • [keine_Tags]

    zwei Probleme im Zusammenhang mit Postgres, das Ihnen keinen „lastrowid“ geben möchte, da OIDs veraltet sind

    • Datenbankseitige Standardwerte für Postgres, die auf Primärschlüsselspalten stehen, werden explizit vorher ausgeführt, auch wenn das nicht die Idee eines PassiveDefault ist. Dies liegt daran, dass Sequenzen auf Spalten als PassiveDefaults reflektiert werden, aber für eine Primärschlüsselspalte explizit ausgeführt werden müssen, damit wir wissen, was wir gerade eingefügt haben.

    • Wenn Sie eine Zeile hinzugefügt hätten, die eine Reihe von datenbankseitigen Standardwerten hat, und die PassiveDefault-Funktion auf die alte Weise funktionierte, d. h. sie werden einfach auf der Datenbankseite ausgeführt, würde die Ausnahme „kann die Zeile ohne OID nicht zurückbekommen“, die aufgetreten ist, ebenfalls nicht auftreten, es sei denn, jemand (normalerweise die ORM) fragt explizit danach.

  • [keine_Tags]

    Fehler bei engine.execute_compiled behoben, bei dem ein zweites ResultProxy erstellt wurde, das einfach weggeworfen wurde.

  • [keine_Tags]

    begann mit der Implementierung neuerer Logik in Objekt-Eigenschaften. Sie können jetzt myclass.attr.property sagen, was Ihnen den PropertyLoader gibt, der zu diesem Attribut gehört, d.h. myclass.mapper.props[‚attr‘]

  • [keine_Tags]

    Eager Loading wurde intern überarbeitet, um stets Aliase zu verwenden. Komplexere Eager Loading-Ketten können nun ohne explizite Anweisungen wie „use aliases“ erstellt werden. EagerLoader-Code ist jetzt auch wesentlich einfacher.

  • [keine_Tags]

    ein neues, etwas experimentelles Flag „use_update“ zu Relationen hinzugefügt, das angibt, dass diese Beziehung entweder nach einem primären INSERT oder vor einem primären DELETE über eine zweite UPDATE-Anweisung behandelt werden sollte. Behandelt zirkuläre Zeilenabhängigkeiten.

  • [keine_Tags]

    Exceptions-Modul hinzugefügt, alle ausgelösten Ausnahmen (außer einigen KeyError/AttributeError-Ausnahmen) stammen von diesen Klassen ab.

  • [keine_Tags]

    Korrektur für Datumstypen mit MySQL, zurückgegebener Timedelta konvertiert zu datetime.time

  • [keine_Tags]

    Zwei-Phasen-objectstore.commit-Operationen (d.h. begin/commit) geben jetzt ein transaktionales Objekt (SessionTrans) zurück, um Transaktionsgrenzen klarer zu kennzeichnen.

  • [keine_Tags]

    Index-Objekt mit create/drop-Unterstützung zu Schema hinzugefügt

  • [keine_Tags]

    Korrektur für Postgres, wo es explizit einen PassiveDefault auf einer Tabelle vorab ausführt, wenn es sich um eine Primärschlüsselspalte handelt, im Einklang mit der fortlaufenden Problematik „wir können eingefügte Zeilen aus Postgres nicht zurückbekommen“

  • [keine_Tags]

    Änderung an der information_schema-Abfrage, die Postgres-Tabellendefinitionen zurückgibt, verwendet jetzt ein explizites JOIN-Schlüsselwort, da ein Benutzer mit 8.1 eine schnellere Leistung hatte

  • [keine_Tags]

    Korrektur für engine.process_defaults, damit es korrekt mit einer Tabelle funktioniert, die unterschiedliche Spaltennamen/Spaltenschlüssel hat (Änderungssatz 982)

  • [keine_Tags]

    eine Spalte kann nur an eine Tabelle angehängt werden – dies wird nun behauptet

  • [keine_Tags]

    Postgres-Zeit-Typen erben vom Time-Typ

  • [keine_Tags]

    Korrektur für alltests, damit es den Typentest ausführt (jetzt testtypes genannt)

  • [keine_Tags]

    Korrektur für Join-Objekt, damit es seine Fremdschlüssel korrekt exportiert (cs 973)

  • [keine_Tags]

    Beziehungen zu Mappern, die Vererbung verwenden, korrigiert (cs 973)