]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- Notes for r4338
authorJason Kirtland <jek@discorporate.us>
Tue, 25 Mar 2008 17:58:38 +0000 (17:58 +0000)
committerJason Kirtland <jek@discorporate.us>
Tue, 25 Mar 2008 17:58:38 +0000 (17:58 +0000)
CHANGES

diff --git a/CHANGES b/CHANGES
index f9c2c5a7bd2bf5420b02f8605d76622b7c2319ff..101edcac0d9414bd856e33e3284f14a1d12ebe24 100644 (file)
--- 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=<somestring>", which
+      is set as the escape character using the syntax "x LIKE y
+      ESCAPE '<somestring>'" [ticket:993], [ticket:791]
 
-    - like(), ilike(), contains(), startswith(), endswith() 
-      take an optional keyword argument "escape=<somestring>", 
-      which is set as the escape character using the syntax 
-      "x LIKE y ESCAPE '<somestring>'" [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