diff options
Diffstat (limited to 'lib/sqlalchemy/sql/dml.py')
| -rw-r--r-- | lib/sqlalchemy/sql/dml.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql/dml.py b/lib/sqlalchemy/sql/dml.py index 5c75e068f..cbcf54d1c 100644 --- a/lib/sqlalchemy/sql/dml.py +++ b/lib/sqlalchemy/sql/dml.py @@ -14,6 +14,7 @@ from . import coercions from . import roles from .base import _from_objects from .base import _generative +from .base import ColumnCollection from .base import CompileState from .base import DialectKWArgs from .base import Executable @@ -364,6 +365,28 @@ class UpdateBase( """ self._returning = cols + def _exported_columns_iterator(self): + """Return the RETURNING columns as a sequence for this statement. + + .. versionadded:: 1.4 + + """ + + return self._returning or () + + @property + def exported_columns(self): + """Return the RETURNING columns as a column collection for this + statement. + + .. versionadded:: 1.4 + + """ + # TODO: no coverage here + return ColumnCollection( + (c.key, c) for c in self._exported_columns_iterator() + ).as_immutable() + @_generative def with_hint(self, text, selectable=None, dialect_name="*"): """Add a table hint for a single table to this |
