From e93ca97baee6b64baf3115259e7e1a8ec05dfced Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 16 Mar 2011 10:36:48 -0400 Subject: - Added accessors to ResultProxy "returns_rows", "is_insert" [ticket:2089] --- lib/sqlalchemy/engine/base.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'lib/sqlalchemy/engine/base.py') diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index 972b06ce8..e88ad8265 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -2468,6 +2468,32 @@ class ResultProxy(object): """ return self._saved_cursor.lastrowid + @property + def returns_rows(self): + """True if this :class:`.ResultProxy` returns rows. + + I.e. if it is legal to call the methods + :meth:`~.ResultProxy.fetchone`, + :meth:`~.ResultProxy.fetchmany` + :meth:`~.ResultProxy.fetchall`. + + """ + return self._metadata is not None + + @property + def is_insert(self): + """True if this :class:`.ResultProxy` is the result + of a executing an expression language compiled + :func:`.expression.insert` construct. + + When True, this implies that the + :attr:`inserted_primary_key` attribute is accessible, + assuming the statement did not include + a user defined "returning" construct. + + """ + return self.context.isinsert + def _cursor_description(self): """May be overridden by subclasses.""" -- cgit v1.2.1