summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/exc.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2009-05-17 21:54:17 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2009-05-17 21:54:17 +0000
commit9cafc854796e5a095697d577b61dac704b078704 (patch)
treea2cb26e6d00b61d955a1a9118167641bf3dcc39c /lib/sqlalchemy/exc.py
parent155466aad1c5ae4b43ed167a8b6e6013f0241370 (diff)
downloadsqlalchemy-9cafc854796e5a095697d577b61dac704b078704.tar.gz
- 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]
Diffstat (limited to 'lib/sqlalchemy/exc.py')
-rw-r--r--lib/sqlalchemy/exc.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/sqlalchemy/exc.py b/lib/sqlalchemy/exc.py
index d1af6d385..b424b806a 100644
--- a/lib/sqlalchemy/exc.py
+++ b/lib/sqlalchemy/exc.py
@@ -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)))