From: Daniel Lister Date: Thu, 24 Jan 2019 18:25:03 +0000 (-0500) Subject: added get_execution_options for Engine and Connectino X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9674688bb5e80471a6a421bac06f995c2e64f8f7;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git added get_execution_options for Engine and Connectino --- 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",)