Commits

Show all
Author Commit Message Labels Comments Date
Mike Bayer
- flush() refactor merged from uow_nontree branch r3871-r3885 - topological.py cleaned up, presents three public facing functions which return list/tuple based structures, without exposing any internals. only the third function returns the "hierarchical" structure. when results include "cycles" or "child" items, 2- or 3- tuples are used to represent results. - unitofwork uses InstanceState almost exclusively now. new and deleted lists are now dicts which …
Mike Bayer
changed the anonymous numbering scheme to be more appealing got tests running
Mike Bayer
corrected for current output...
Mike Bayer
added a mention about `eagerload_all()` [ticket:897]
Mike Bayer
mapper.instances() is deprecated
Mike Bayer
a little refinement to topological options, more to come
Mike Bayer
fix to unique bind params, you *can* use the same unique bindparam multiple times in a statement. the collision check is strictly detecting non-unique's that happen to have the same name.
Mike Bayer
- also with dynamic, implemented correct count() behavior as well as other helper methods.
Mike Bayer
- added "cascade delete" behavior to "dynamic" relations just like that of regular relations. if passive_deletes flag (also just added) is not set, a delete of the parent item will trigger a full load of the child items so that they can be deleted or updated accordingly.
Mike Bayer
fixed key error when no pks could be located
Mike Bayer
- generation of "unique" bind parameters has been simplified to use the same "unique identifier" mechanisms as everything else. This doesn't affect user code, except any code that might have been hardcoded against the generated names. Generated bind params now have the form "<paramname>_<num>", whereas before only the second bind of the same name would have this form. - bindparam() objects themselves can be used as keys for execute(), i.e. statement.execute({bind1:'foo', bind2:'bar'})
Mike Bayer
warn if query.get() used with existing criterion
Mike Bayer
- query.get() and query.load() do not take existing filter or other criterion into account; these methods *always* look up the given id in the database or return the current instance from the identity map, disregarding any existing filter, join, group_by or other criterion which has been configured. [ticket:893]
Mike Bayer
assert_unicode=True replaced with default of assert_unicode='warn'
Mike Bayer
- ordering of cols in pks_by_table and cols_by_table is significant; particularly for pks_by_table the ordering is expected to match the ordering of pk columns in the table for usage in query.get() as well as identity key generation
Mike Bayer
more assertion hints...
Mike Bayer
improved assertions, test is failing on the buildbot only (not osx or linux)
Mike Bayer
some more omit schemas for [ticket:890]
Mike Bayer
- tables with schemas can still be used in sqlite, firebird, schema name just gets dropped [ticket:890]
Mike Bayer
- fixed wrong varname in session exception throw - fixed vertical example to just use a scoped session
Mike Bayer
- a major behavioral change to collection-based backrefs: they no longer trigger lazy loads ! "reverse" adds and removes are queued up and are merged with the collection when it is actually read from and loaded; but do not trigger a load beforehand. For users who have noticed this behavior, this should be much more convenient than using dynamic relations in some cases; for those who have not, you might notice your apps using a lot fewer queries than before in s…
Mike Bayer
- basic framework for generic functions, [ticket:615] - changed the various "literal" generation functions to use an anonymous bind parameter. not much changes here except their labels now look like ":param_1", ":param_2" instead of ":literal" - from_obj keyword argument to select() can be a scalar or a list.
Mike Bayer
- fixed backref bug where you could not del instance.attr if attr was None
Mike Bayer
- relaxed rules on column_property() expressions having labels; any ColumnElement is accepted now, as the compiler auto-labels non-labeled ColumnElements now. a selectable, like a select() statement, still requires conversion to ColumnElement via as_scalar() or label().
ged
typo
Mike Bayer
fixed replacement of existing column properties with synonyms, [ticket:888]
Mike Bayer
- moved class-level attributes placed by the attributes package into a _class_state variable attached to the class. - mappers track themselves primarily using the "mappers" collection on _class_state. ClassKey is gone and mapper lookup uses regular dict keyed to entity_name; removes a fair degree of WeakKeyDictionary overhead as well as ClassKey overhead. - mapper_registry renamed to _mapper_registry; is only consulted by the compile_mappers(), mapper.compile() and clear_mappers(…
Mike Bayer
- several ORM attributes have been removed or made private: mapper.get_attr_by_column(), mapper.set_attr_by_column(), mapper.pks_by_table, mapper.cascade_callable(), MapperProperty.cascade_callable(), mapper.canload() - refinements to mapper PK/table column organization, session cascading, some naming convention work
Mike Bayer
added test to ensure two conflicting m2m + backrefs raise an error
Mike Bayer
remove a little cruft
  1. Prev
  2. Next