diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-10-18 16:48:46 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-10-18 16:48:46 +0000 |
| commit | facb6516e9def708c2b53dcf65b3d2e3c8169744 (patch) | |
| tree | 2319c62de57d04f85157ff05bcc3cb8102a83777 /lib/sqlalchemy/engine | |
| parent | 1f9ee311cd8b66ec738095e2f176d81aea88b281 (diff) | |
| download | sqlalchemy-facb6516e9def708c2b53dcf65b3d2e3c8169744.tar.gz | |
- initial MySQL Connector/Python driver
- support exceptions raised in dialect initialize phase
- provide default dialect create_connect_args() method
Diffstat (limited to 'lib/sqlalchemy/engine')
| -rw-r--r-- | lib/sqlalchemy/engine/base.py | 4 | ||||
| -rw-r--r-- | lib/sqlalchemy/engine/default.py | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index 829f97558..643faa982 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -880,7 +880,9 @@ class Connection(Connectable): raise def _rollback_impl(self): - if not self.closed and not self.invalidated and self.__connection.is_valid: + # use getattr() for is_valid to support exceptions raised in dialect initializer, + # where we do not yet have the pool wrappers plugged in + if not self.closed and not self.invalidated and getattr(self.__connection, 'is_valid', False): if self.engine._should_log_info: self.engine.logger.info("ROLLBACK") try: diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index ad728da9c..12391c005 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -130,6 +130,11 @@ class DefaultDialect(base.Dialect): def connect(self, *cargs, **cparams): return self.dbapi.connect(*cargs, **cparams) + def create_connect_args(self, url): + opts = url.translate_connect_args() + opts.update(url.query) + return [[], opts] + def do_begin(self, connection): """Implementations might want to put logic here for turning autocommit on/off, etc. @@ -239,7 +244,6 @@ class DefaultExecutionContext(base.ExecutionContext): if self.isinsert or self.isupdate: self.__process_defaults() self.parameters = self.__convert_compiled_params(self.compiled_parameters) - elif statement is not None: # plain text statement self.result_map = self.compiled = None |
