summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-07-01 09:39:52 +0000
committerGerrit Code Review <review@openstack.org>2015-07-01 09:39:52 +0000
commit432812794e6e6a54cf69356e921afb9fd1a6a23d (patch)
tree17d133d3e2f5016f1a54967adf16e79b3a62a8af
parentde2f8c037f4848f03711da705f977118e3785e29 (diff)
parente8c4a03c8783b5911e84088027e50689c892f6db (diff)
downloadoslo-db-432812794e6e6a54cf69356e921afb9fd1a6a23d.tar.gz
Merge "Add legacy get_sessionmaker() method"
-rw-r--r--oslo_db/sqlalchemy/enginefacade.py12
-rw-r--r--oslo_db/tests/sqlalchemy/test_enginefacade.py7
2 files changed, 19 insertions, 0 deletions
diff --git a/oslo_db/sqlalchemy/enginefacade.py b/oslo_db/sqlalchemy/enginefacade.py
index 056dd31..4497a50 100644
--- a/oslo_db/sqlalchemy/enginefacade.py
+++ b/oslo_db/sqlalchemy/enginefacade.py
@@ -964,6 +964,18 @@ class LegacyEngineFacade(object):
else:
return self._factory._writer_maker(**kwargs)
+ def get_sessionmaker(self, use_slave=False):
+ """Get the sessionmaker instance used to create a Session.
+
+ This can be called for those cases where the sessionmaker() is to
+ be temporarily injected with some state such as a specific connection.
+
+ """
+ if use_slave:
+ return self._factory._reader_maker
+ else:
+ return self._factory._writer_maker
+
@classmethod
def from_config(cls, conf,
sqlite_fk=False, autocommit=True, expire_on_commit=False):
diff --git a/oslo_db/tests/sqlalchemy/test_enginefacade.py b/oslo_db/tests/sqlalchemy/test_enginefacade.py
index a463c7b..fe8030c 100644
--- a/oslo_db/tests/sqlalchemy/test_enginefacade.py
+++ b/oslo_db/tests/sqlalchemy/test_enginefacade.py
@@ -947,6 +947,13 @@ class LegacyIntegrationtest(test_base.DbTestCase):
enginefacade.get_legacy_facade() is legacy_facade
)
+ def test_get_sessionmaker(self):
+ legacy_facade = enginefacade.get_legacy_facade()
+ self.assertTrue(
+ legacy_facade.get_sessionmaker() is
+ enginefacade._context_manager._factory._writer_maker
+ )
+
class ThreadingTest(test_base.DbTestCase):
"""Test copying on new threads using real connections and sessions."""