diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-12-15 07:43:42 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-12-15 07:43:42 +0000 |
| commit | f5b5696afddacdd7c5a5ede716e7241e5fa5c97e (patch) | |
| tree | e8e659b1b238f29f3c0e6616f75c0d7ba27a5536 | |
| parent | 422558bc5d58557a758b56f4d592d08dd6f86309 (diff) | |
| download | sqlalchemy-f5b5696afddacdd7c5a5ede716e7241e5fa5c97e.tar.gz | |
fixed the raise for mysql to re-raise the errorrel_0_3_3
| -rw-r--r-- | CHANGES | 5 | ||||
| -rw-r--r-- | doc/build/content/adv_datamapping.txt | 2 | ||||
| -rw-r--r-- | doc/build/genhtml.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/databases/mysql.py | 4 | ||||
| -rw-r--r-- | setup.py | 2 |
5 files changed, 8 insertions, 7 deletions
@@ -1,3 +1,5 @@ +0.3.3 + - string-based FROM clauses fixed, i.e. select(..., from_obj=["sometext"]) - fixes to passive_deletes flag, lazy=None (noload) flag - added example/docs for dealing with large collections @@ -6,7 +8,8 @@ that was not reachable (thanks to Sébastien Lelong), also fixed dispose() method - patch that makes MySQL rowcount work correctly! [ticket:396] - +- fix to MySQL catch of 2006/20014 errors + 0.3.2 - major connection pool bug fixed. fixes MySQL out of sync errors, will also prevent transactions getting rolled back diff --git a/doc/build/content/adv_datamapping.txt b/doc/build/content/adv_datamapping.txt index 50e8980d5..79f8158a2 100644 --- a/doc/build/content/adv_datamapping.txt +++ b/doc/build/content/adv_datamapping.txt @@ -253,8 +253,6 @@ Deferred columns can be placed into groups so that they load together: #### Working with Large Collections -(requires some bugfixes released as of version 0.3.3) - SQLAlchemy relations are generally simplistic; the lazy loader loads in the full list of child objects when accessed, and the eager load builds a query that loads the full list of child objects. Additionally, when you are deleting a parent object, SQLAlchemy insures that it has loaded the full list of child objects so that it can mark them as deleted as well (or to update their parent foreign key to NULL). It does not issue an en-masse "delete from table where parent_id=?" type of statement in such a scenario. This is because the child objects themselves may also have further dependencies, and additionally may also exist in the current session in which case SA needs to know their identity so that their state can be properly updated. So there are several techniques that can be used individually or combined together to address these issues, in the context of a large collection where you normally would not want to load the full list of relationships: diff --git a/doc/build/genhtml.py b/doc/build/genhtml.py index 858d100df..f30a7997d 100644 --- a/doc/build/genhtml.py +++ b/doc/build/genhtml.py @@ -24,7 +24,7 @@ files = [ ] title='SQLAlchemy 0.3 Documentation' -version = '0.3.2' +version = '0.3.3' root = toc.TOCElement('', 'root', '', version=version, doctitle=title) diff --git a/lib/sqlalchemy/databases/mysql.py b/lib/sqlalchemy/databases/mysql.py index a452a696e..966912d3a 100644 --- a/lib/sqlalchemy/databases/mysql.py +++ b/lib/sqlalchemy/databases/mysql.py @@ -307,14 +307,14 @@ class MySQLDialect(ansisql.ANSIDialect): except mysql.OperationalError, o: if o.args[0] == 2006 or o.args[0] == 2014: cursor.invalidate() - raise o + raise o def do_execute(self, cursor, statement, parameters, **kwargs): try: cursor.execute(statement, parameters) except mysql.OperationalError, o: if o.args[0] == 2006 or o.args[0] == 2014: cursor.invalidate() - raise o + raise o def do_rollback(self, connection): @@ -3,7 +3,7 @@ use_setuptools() from setuptools import setup, find_packages setup(name = "SQLAlchemy", - version = "0.3.2", + version = "0.3.3", description = "Database Abstraction Library", author = "Mike Bayer", author_email = "mike_mp@zzzcomputing.com", |
