summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-04-29 16:56:11 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-04-29 16:56:11 +0000
commita74232c70cd8e3857646038900fc03edf63f0dd8 (patch)
tree56a1ff3ff8eb52ad1553c74c7a838c16071b20b8 /lib/sqlalchemy/engine
parenta487142f9b6d4b63270a445d5e3d7517865a00eb (diff)
downloadsqlalchemy-a74232c70cd8e3857646038900fc03edf63f0dd8.tar.gz
- added 'url' attribute to Engine
- added docstring to 'echo' attribute
Diffstat (limited to 'lib/sqlalchemy/engine')
-rw-r--r--lib/sqlalchemy/engine/base.py7
-rw-r--r--lib/sqlalchemy/engine/default.py3
-rw-r--r--lib/sqlalchemy/engine/strategies.py12
3 files changed, 12 insertions, 10 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py
index 1cea9ffc3..c2ee0c08d 100644
--- a/lib/sqlalchemy/engine/base.py
+++ b/lib/sqlalchemy/engine/base.py
@@ -676,11 +676,12 @@ class Engine(Connectable):
self.echo = echo
self.logger = logging.instance_logger(self)
- name = property(lambda s:sys.modules[s.dialect.__module__].descriptor()['name'])
+ name = property(lambda s:sys.modules[s.dialect.__module__].descriptor()['name'], doc="String name of the [sqlalchemy.engine#Dialect] in use by this ``Engine``.")
engine = property(lambda s:s)
- dialect = property(lambda s:s._dialect)
+ dialect = property(lambda s:s._dialect, doc="the [sqlalchemy.engine#Dialect] in use by this engine.")
echo = logging.echo_property()
-
+ url = property(lambda s:s.connection_provider.url, doc="The [sqlalchemy.engine.url#URL] object representing this ``Engine`` object's datasource.")
+
def dispose(self):
self.connection_provider.dispose()
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py
index 92bb9ba72..ae12a8dd0 100644
--- a/lib/sqlalchemy/engine/default.py
+++ b/lib/sqlalchemy/engine/default.py
@@ -12,7 +12,8 @@ from sqlalchemy.engine import base
"""Provide default implementations of the engine interfaces"""
class PoolConnectionProvider(base.ConnectionProvider):
- def __init__(self, pool):
+ def __init__(self, url, pool):
+ self.url = url
self._pool = pool
def get_connection(self):
diff --git a/lib/sqlalchemy/engine/strategies.py b/lib/sqlalchemy/engine/strategies.py
index ed31743d8..7d85de9ad 100644
--- a/lib/sqlalchemy/engine/strategies.py
+++ b/lib/sqlalchemy/engine/strategies.py
@@ -92,7 +92,7 @@ class DefaultEngineStrategy(EngineStrategy):
else:
pool = pool
- provider = self.get_pool_provider(pool)
+ provider = self.get_pool_provider(u, pool)
# create engine.
engineclass = self.get_engine_cls()
@@ -110,7 +110,7 @@ class DefaultEngineStrategy(EngineStrategy):
def pool_threadlocal(self):
raise NotImplementedError()
- def get_pool_provider(self, pool):
+ def get_pool_provider(self, url, pool):
raise NotImplementedError()
def get_engine_cls(self):
@@ -123,8 +123,8 @@ class PlainEngineStrategy(DefaultEngineStrategy):
def pool_threadlocal(self):
return False
- def get_pool_provider(self, pool):
- return default.PoolConnectionProvider(pool)
+ def get_pool_provider(self, url, pool):
+ return default.PoolConnectionProvider(url, pool)
def get_engine_cls(self):
return base.Engine
@@ -138,8 +138,8 @@ class ThreadLocalEngineStrategy(DefaultEngineStrategy):
def pool_threadlocal(self):
return True
- def get_pool_provider(self, pool):
- return threadlocal.TLocalConnectionProvider(pool)
+ def get_pool_provider(self, url, pool):
+ return threadlocal.TLocalConnectionProvider(url, pool)
def get_engine_cls(self):
return threadlocal.TLEngine