From 9674688bb5e80471a6a421bac06f995c2e64f8f7 Mon Sep 17 00:00:00 2001 From: Daniel Lister Date: Thu, 24 Jan 2019 13:25:03 -0500 Subject: [PATCH] added get_execution_options for Engine and Connectino --- lib/sqlalchemy/engine/base.py | 18 ++++++++++++++++++ test/engine/test_execute.py | 15 +++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index 64303f2905..6fbe177d24 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -332,6 +332,15 @@ class Connection(Connectable): self.dialect.set_connection_execution_options(c, opt) return c + def get_execution_options(self): + """ Get the non-SQL options which will take effect during execution. + + .. seealso:: + + :meth:`.Connection.execution_options` + """ + return self._execution_options + @property def closed(self): """Return True if this connection is closed.""" @@ -1935,6 +1944,15 @@ class Engine(Connectable, log.Identified): """ return OptionEngine(self, opt) + def get_execution_options(self): + """ Get the non-SQL options which will take effect during execution. + + .. seealso:: + + :meth:`.Engine.execution_options` + """ + return self._execution_options + @property def name(self): """String name of the :class:`~sqlalchemy.engine.interfaces.Dialect` diff --git a/test/engine/test_execute.py b/test/engine/test_execute.py index 061dae0057..ad9144a382 100644 --- a/test/engine/test_execute.py +++ b/test/engine/test_execute.py @@ -1272,6 +1272,21 @@ class ExecutionOptionsTest(fixtures.TestBase): c2_branch = c2.connect() eq_(c2_branch._execution_options, {"foo": "bar"}) + def test_get_engine_execution_options(self): + engine = testing_engine("sqlite://") + engine.dialect = Mock() + e2 = engine.execution_options(foo="bar") + + eq_(e2.get_execution_options(), {"foo": "bar"}) + + def test_get_connection_execution_options(self): + engine = testing_engine("sqlite://", options=dict(_initialize=False)) + engine.dialect = Mock() + conn = engine.connect() + c = conn.execution_options(foo="bar") + + eq_(c.get_execution_options(), {"foo": "bar"}) + class EngineEventsTest(fixtures.TestBase): __requires__ = ("ad_hoc_engines",) -- 2.47.3