From cd5f697a173a64df0cdb1a90ab871b81f56469d4 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Fri, 16 Jul 2021 15:41:05 +0100 Subject: Remove use of Session.begin.subtransactions flag Resolve the following RemovedIn20Warning warning: The Session.begin.subtransactions flag is deprecated and will be removed in SQLAlchemy version 2.0. See the documentation at session_subtransactions for background on a compatible alternative pattern. Change-Id: Ib2537bae77861ee60d17a48a72c57b88e043553e Signed-off-by: Stephen Finucane --- oslo_db/sqlalchemy/models.py | 14 ++------------ oslo_db/tests/fixtures.py | 5 ----- 2 files changed, 2 insertions(+), 17 deletions(-) (limited to 'oslo_db') diff --git a/oslo_db/sqlalchemy/models.py b/oslo_db/sqlalchemy/models.py index 2bad0f5..72ac7cb 100644 --- a/oslo_db/sqlalchemy/models.py +++ b/oslo_db/sqlalchemy/models.py @@ -34,18 +34,8 @@ class ModelBase(object): def save(self, session): """Save this object.""" - - # NOTE(boris-42): This part of code should be look like: - # session.add(self) - # session.flush() - # But there is a bug in sqlalchemy and eventlet that - # raises NoneType exception if there is no running - # transaction and rollback is called. As long as - # sqlalchemy has this bug we have to create transaction - # explicitly. - with session.begin(subtransactions=True): - session.add(self) - session.flush() + session.add(self) + session.flush() def __setitem__(self, key, value): setattr(self, key, value) diff --git a/oslo_db/tests/fixtures.py b/oslo_db/tests/fixtures.py index 502719b..35b1a87 100644 --- a/oslo_db/tests/fixtures.py +++ b/oslo_db/tests/fixtures.py @@ -42,11 +42,6 @@ class WarningsFixture(fixtures.Fixture): message=r'The Session.autocommit parameter is deprecated .*', category=sqla_exc.SADeprecationWarning) - warnings.filterwarnings( - 'once', - message=r'The Session.begin.subtransactions flag is deprecated .*', - category=sqla_exc.SADeprecationWarning) - warnings.filterwarnings( 'once', message=r'Calling \.begin\(\) when a transaction is already .*', -- cgit v1.2.1