Great news !
I just upgraded from 0.2.2 to 0.2.3 but unfortunately I got an error :
Mod_python error: "PythonHandler public/dispatch"
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line 299, in
HandlerDispatch
result = object(req)
File "/home/mage/public_html/work/ias/trunk/public/dispatch.py", line 68, in
handler
route.ctrl_module, autoreload=autoreload, log=log)
File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line 457, in
import_module
module = imp.load_module(mname, f, p, d)
File
"/home/mage/public_html/work/ias/trunk/application/controllers/invasive.py",
line 2, in ?
from application.controllers.base import BaseController
File "/home/mage/public_html/work/ias/trunk/application/controllers/base.py",
line 5, in ?
from application.models.user import UserPermission
File "/home/mage/public_html/work/ias/trunk/application/models/__init__.py",
line 106, in ?
mapper(Origin, origins)
File "/usr/lib/python2.3/site-packages/sqlalchemy/orm/__init__.py", line 49,
in mapper
return Mapper(class_, table, *args, **params)
File "/usr/lib/python2.3/site-packages/sqlalchemy/orm/mapper.py", line 136,
in __init__
self._compile_class()
File "/usr/lib/python2.3/site-packages/sqlalchemy/orm/mapper.py", line 480,
in _compile_class
init.__name__ = oldinit.__name__
TypeError: readonly attribute
Does something need to be changed in the mappers ?
Thanks
Michael Bayer wrote:
> hey all -
>
> this one is pretty important as it fixes a major speed hit that was
> occuring with backref relationships getting cascaded like crazy when
> you attached objects together.
>
> also, the internals of Mapper are highly modified to support
> "deferred" compilation; a compile() method is automatically called
> when they are first used which works up all the internal
> relationships, after all mappers have been constructed (you can also
> call compile() yourself to force the compilation). the advantage is
> that you can now define your Mappers in any order, using class
> objects as arguments tor relation().
>
> another enormous change is the attributes package, which does all the
> "magic" history tracking on your objects, is totally rewritten. its
> a lot simpler and uses an approach that should allow more flexibility
> and a little bit more speed. i have run it through a grueling series
> of tests and i havent managed to break it; but im pretty sure someone
> out there will...so just let me know.
>
> changelog:
>
> 0.2.3
> - overhaul to mapper compilation to be deferred. this allows mappers
> to be constructed in any order, and their relationships to each
> other are compiled when the mappers are first used.
> - fixed a pretty big speed bottleneck in cascading behavior particularly
> when backrefs were in use
> - the attribute instrumentation module has been completely rewritten;
> its
> now a large degree simpler and clearer, slightly faster. the "history"
> of an attribute is no longer micromanaged with each change and is
> instead part of a "CommittedState" object created when the
> instance is first loaded. HistoryArraySet is gone, the behavior of
> list attributes is now more open ended (i.e. theyre not sets anymore).
> - py2.4 "set" construct used internally, falls back to sets.Set when
> "set" not available/ordering is needed.
> - fix to transaction control, so that repeated rollback() calls
> dont fail (was failing pretty badly when flush() would raise
> an exception in a larger try/except transaction block)
> - "foreignkey" argument to relation() can also be a list. fixed
> auto-foreignkey detection [ticket:151]
> - fixed bug where tables with schema names werent getting indexed in
> the MetaData object properly
> - fixed bug where Column with redefined "key" property wasnt getting
> type conversion happening in the ResultProxy [ticket:207]
> - fixed 'port' attribute of URL to be an integer if present
> - fixed old bug where if a many-to-many table mapped as "secondary"
> had extra columns, delete operations didnt work
> - bugfixes for mapping against UNION queries
> - fixed incorrect exception class thrown when no DB driver present
> - added NonExistentTable exception thrown when reflecting a table
> that doesnt exist [ticket:138]
> - small fix to ActiveMapper regarding one-to-one backrefs, other
> refactorings
> - overridden constructor in mapped classes gets __name__ and
> __doc__ from the original class
> - fixed small bug in selectresult.py regarding mapper extension
> [ticket:200]
> - small tweak to cascade_mappers, not very strongly supported
> function at the moment
> - some fixes to between(), column.between() to propigate typing
> information better [ticket:202]
> - if an object fails to be constructed, is not added to the
> session [ticket:203]
> - CAST function has been made into its own clause object with
> its own compilation function in ansicompiler; allows MySQL
> to silently ignore most CAST calls since MySQL
> seems to only support the standard CAST syntax with Date types.
> MySQL-compatible CAST support for strings, ints, etc. a TODO
>
>
>
> _______________________________________________
> Sqlalchemy-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users
>
_______________________________________________
Sqlalchemy-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users