From: Mike Bayer Date: Fri, 8 Jun 2012 18:35:24 +0000 (-0400) Subject: - [feature] The 'objects' argument to X-Git-Tag: rel_0_8_0b1~402 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=60694d6052618ab732b36d75016ed337fe341603;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - [feature] The 'objects' argument to flush() is no longer deprecated, as some valid use cases have been identified. --- diff --git a/CHANGES b/CHANGES index 89825af955..a57f0aa87a 100644 --- a/CHANGES +++ b/CHANGES @@ -131,6 +131,11 @@ CHANGES to be part of that, this is [ticket:2491]. Also in 0.7.8. + - [feature] The 'objects' argument to + flush() is no longer deprecated, as some + valid use cases have been identified. + Also in 0.7.8. + - [feature] Query now "auto correlates" by default in the same way as select() does. Previously, a Query used as a subquery diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py index 7f820aa057..432c43898a 100644 --- a/lib/sqlalchemy/orm/session.py +++ b/lib/sqlalchemy/orm/session.py @@ -1629,20 +1629,15 @@ class Session(object): will create a transaction on the fly that surrounds the entire set of operations int the flush. - objects - Optional; a list or tuple collection. Restricts the flush operation - to only these objects, rather than all pending changes. - Deprecated - this flag prevents the session from properly maintaining - accounting among inter-object relations and can cause invalid results. + :param objects: Optional; restricts the flush operation to operate + only on elements that are in the given collection. + + This feature is for an extremely narrow set of use cases where + particular objects may need to be operated upon before the + full flush() occurs. It is not intended for general use. """ - if objects: - util.warn_deprecated( - "The 'objects' argument to session.flush() is deprecated; " - "Please do not add objects to the session which should not " - "yet be persisted.") - if self._flushing: raise sa_exc.InvalidRequestError("Session is already flushing")