From c7b9c84312b6b252e68ea704670d0ea7fc0042f0 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 31 Aug 2016 14:34:54 -0400 Subject: Check for supports_execution at ClauseElement base Raise a more descriptive exception / message when ClauseElement or non-SQLAlchemy objects that are not "executable" are erroneously passed to ``.execute()``; a new exception ObjectNotExecutableError is raised consistently in all cases. Change-Id: I2dd393121e2c7e5b6b9e40286a2f25670876e8e4 Fixes: #3786 --- lib/sqlalchemy/engine/base.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'lib/sqlalchemy/engine/base.py') diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index ff855a539..83f0f0c83 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -940,9 +940,7 @@ class Connection(Connectable): try: meth = object._execute_on_connection except AttributeError: - raise exc.InvalidRequestError( - "Unexecutable object type: %s" % - type(object)) + raise exc.ObjectNotExecutableError(object) else: return meth(self, multiparams, params) -- cgit v1.2.1