]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- Exception messages are truncated when the list of bound
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 17 May 2009 21:54:17 +0000 (21:54 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 17 May 2009 21:54:17 +0000 (21:54 +0000)
parameters is larger than 10, preventing enormous
multi-page exceptions from filling up screens and logfiles
for large executemany() statements. [ticket:1413]

CHANGES
lib/sqlalchemy/exc.py

diff --git a/CHANGES b/CHANGES
index ae3a6969bca827b028dc778956460ef5187b841f..4250bfffefda508f1e5d83f191ae7be3028ff2ed 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -134,6 +134,11 @@ CHANGES
       identifiers, such as 'database.owner'. [ticket: 594, 1341]
 
 - sql
+    - Exception messages are truncated when the list of bound 
+      parameters is larger than 10, preventing enormous
+      multi-page exceptions from filling up screens and logfiles
+      for large executemany() statements. [ticket:1413]
+      
     - ``sqlalchemy.extract()`` is now dialect sensitive and can
       extract components of timestamps idiomatically across the
       supported databases, including SQLite.
index d1af6d385dbce5e6d604345bb9a4ea33144aad93..b424b806a1795e7484139de7e26d32c2f349e7ee 100644 (file)
@@ -132,6 +132,11 @@ class DBAPIError(SQLAlchemyError):
         self.connection_invalidated = connection_invalidated
 
     def __str__(self):
+        if len(self.params) > 10:
+            return ' '.join((SQLAlchemyError.__str__(self),
+                             repr(self.statement),
+                             repr(self.params[:2]),
+                             '... and a total of %i bound parameters' % len(self.params)))
         return ' '.join((SQLAlchemyError.__str__(self),
                          repr(self.statement), repr(self.params)))