From 784ff76cef903d2a826c9eba0c38db0158d414c5 Mon Sep 17 00:00:00 2001 From: Jason Kirtland Date: Tue, 25 Mar 2008 17:58:38 +0000 Subject: [PATCH] - Notes for r4338 --- CHANGES | 121 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 60 insertions(+), 61 deletions(-) diff --git a/CHANGES b/CHANGES index f9c2c5a7bd..101edcac0d 100644 --- a/CHANGES +++ b/CHANGES @@ -5,104 +5,103 @@ CHANGES 0.4.5 ===== - orm - - added a more aggressive check for "uncompiled mappers", + - Added a more aggressive check for "uncompiled mappers", helps particularly with declarative layer [ticket:995] - - - Added comparable_property(), adds query Comparator behavior - to regular, unmanaged Python properties - - When attributes are expired on a pending instance, an error - will not be raised when the "refresh" action is triggered - and returns no result + - Added comparable_property(), adds query Comparator + behavior to regular, unmanaged Python properties + + - When attributes are expired on a pending instance, an + error will not be raised when the "refresh" action is + triggered and returns no result - - Fixed/covered case when using a False value as a polymorphic - discriminator + - Fixed/covered case when using a False value as a + polymorphic discriminator - Fixed bug which was preventing synonym() attributes from being used with inheritance - - - fixed SQL function truncation of trailing underscores + + - Fixed SQL function truncation of trailing underscores [ticket:996] - + - Session.execute can now find binds from metadata - - adjusted the definition of "self-referential" to be - any two mappers with a common parent (this affects - whether or not aliased=True is required when joining - with Query). + - Adjusted the definition of "self-referential" to be any + two mappers with a common parent (this affects whether or + not aliased=True is required when joining with Query). - - made some fixes to the "from_joinpoint" argument to - query.join() so that if the previous join was aliased - and this one isn't, the join still happens successfully. - - - assorted "cascade deletes" fixes: - - Fixed "cascade delete" operation of dynamic - relations, which had only been implemented for - foreign-key nulling behavior in 0.4.2 and not actual - cascading deletes [ticket:895] - - - delete cascade without delete-orphan cascade on a + - Made some fixes to the "from_joinpoint" argument to + query.join() so that if the previous join was aliased and + this one isn't, the join still happens successfully. + + - Assorted "cascade deletes" fixes: + - Fixed "cascade delete" operation of dynamic relations, + which had only been implemented for foreign-key + nulling behavior in 0.4.2 and not actual cascading + deletes [ticket:895] + + - Delete cascade without delete-orphan cascade on a many-to-one will not delete orphans which were disconnected from the parent before session.delete() is called on the parent (one-to-many already had this). - - - delete cascade with delete-orphan will delete - orphans whether or not it remains attached to its - also-deleted parent. - + + - Delete cascade with delete-orphan will delete orphans + whether or not it remains attached to its also-deleted + parent. + - fixed order_by calculation in Query to properly alias mapper-config'ed order_by when using select_from() - sql - 'name' is no longer a required constructor argument for - Column(). It (and .key) may now be deferred until the column - is added to a Table. + Column(). It (and .key) may now be deferred until the + column is added to a Table. + + - like(), ilike(), contains(), startswith(), endswith() take + an optional keyword argument "escape=", which + is set as the escape character using the syntax "x LIKE y + ESCAPE ''" [ticket:993], [ticket:791] - - like(), ilike(), contains(), startswith(), endswith() - take an optional keyword argument "escape=", - which is set as the escape character using the syntax - "x LIKE y ESCAPE ''" [ticket:993], - [ticket:791] + - random() is now a generic sql function and will compile to + the database's random implementation, if any. - oracle - - the "owner" keyword on Table is now deprecated, and is - exactly synonymous with the "schema" keyword. Tables - can now be reflected with alternate "owner" attributes, + - The "owner" keyword on Table is now deprecated, and is + exactly synonymous with the "schema" keyword. Tables can + now be reflected with alternate "owner" attributes, explicitly stated on the Table object or not using "schema". - - all of the "magic" searching for synonyms, DBLINKs etc. - during table reflection - are disabled by default unless you specify - "oracle_resolve_synonyms=True" on the Table object. - Resolving synonyms necessarily leads to some messy - guessing which we'd rather leave off by default. - When the flag is set, tables and related tables - will be resolved against synonyms in all cases, meaning - if a synonym exists for a particular table, reflection - will use it when reflecting related tables. This is - stickier behavior than before which is why it's - off by default. + - All of the "magic" searching for synonyms, DBLINKs etc. + during table reflection are disabled by default unless you + specify "oracle_resolve_synonyms=True" on the Table + object. Resolving synonyms necessarily leads to some + messy guessing which we'd rather leave off by default. + When the flag is set, tables and related tables will be + resolved against synonyms in all cases, meaning if a + synonym exists for a particular table, reflection will use + it when reflecting related tables. This is stickier + behavior than before which is why it's off by default. - extensions - The "synonym" function is now directly usable with "declarative". Pass in the decorated property using the "descriptor" keyword argument, e.g.: somekey = synonym('_somekey', descriptor=property(g, s)) - - - the "deferred" function is usable with "declarative". + + - The "deferred" function is usable with "declarative". Simplest usage is to declare deferred and Column together, - e.g.: data = deferred(Column(Text)) - + e.g.: data = deferred(Column(Text)) + - Declarative also gained @synonym_for(...) and @comparable_using(...), front-ends for synonym and comparable_property. - + - Improvements to mapper compilation when using declarative; already-compiled mappers will still trigger compiles of other uncompiled mappers when used [ticket:995] - + - Declarative will complete setup for Columns lacking names, allows a more DRY syntax. @@ -112,7 +111,7 @@ CHANGES - inheritance in declarative can be disabled when sending "inherits=None" to __mapper_args__. - + 0.4.4 ------ - sql -- 2.47.3