]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- Documentation clarification for query.delete()
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 13 Feb 2010 21:40:02 +0000 (21:40 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 13 Feb 2010 21:40:02 +0000 (21:40 +0000)
[ticket:1689]

CHANGES
lib/sqlalchemy/orm/query.py

diff --git a/CHANGES b/CHANGES
index e38d0932f170dda35c38ef172851d1ea1c21d804..cdf7e71f560edcc1c35fe141cd8ff2dceb10b21e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -54,7 +54,10 @@ CHANGES
    - Some internal streamlining of object loading grants a 
      small speedup for large results, estimates are around 
      10-15%.
-     
+
+    - Documentation clarification for query.delete()
+      [ticket:1689]
+      
 - sql
   - Added math negation operator support, -x.
   
index 456f1f19c56f0b40a8a95bfa53485ee81f9c3878..bd5a08987e469943b0d68d1c718fa05068c3998a 100644 (file)
@@ -1682,7 +1682,8 @@ class Query(object):
 
             'evaluate' - Evaluate the query's criteria in Python straight on
             the objects in the session. If evaluation of the criteria isn't
-            implemented, the 'fetch' strategy will be used as a fallback.
+            implemented, an error is raised.  In that case you probably 
+            want to use the 'fetch' strategy as a fallback.
           
             The expression evaluator currently doesn't account for differing
             string collations between the database and Python.
@@ -1707,14 +1708,17 @@ class Query(object):
         #TODO: cascades need handling.
 
         if synchronize_session not in [False, 'evaluate', 'fetch']:
-            raise sa_exc.ArgumentError("Valid strategies for session synchronization are False, 'evaluate' and 'fetch'")
+            raise sa_exc.ArgumentError("Valid strategies for session "
+                                    "synchronization are False, 'evaluate' and 'fetch'")
         self._no_select_modifiers("delete")
 
         self = self.enable_eagerloads(False)
 
         context = self._compile_context()
-        if len(context.statement.froms) != 1 or not isinstance(context.statement.froms[0], schema.Table):
-            raise sa_exc.ArgumentError("Only deletion via a single table query is currently supported")
+        if len(context.statement.froms) != 1 or \
+                    not isinstance(context.statement.froms[0], schema.Table):
+            raise sa_exc.ArgumentError("Only deletion via a single table "
+                                        "query is currently supported")
         primary_table = context.statement.froms[0]
 
         session = self.session