Commits

Author Commit Message Labels Comments Date
Mike Bayer
- [bug] Fixed bug mostly local to new AbstractConcreteBase helper where the "type" attribute from the superclass would not be overridden on the subclass to produce the "reserved for base" error message, instead placing a do-nothing attribute there. This was inconsistent vs. using ConcreteBase as well as all the behavior of classical concrete mappings, where the "type" column from the polymorphic base w…
Mike Bayer
- [feature] *Very limited* support for inheriting mappers to be GC'ed when the class itself is deferenced. The mapper must not have its own table (i.e. single table inh only) without polymorphic attributes in place. This allows for the use case of creating a temporary subclass of a declarative mapped class, with no table or mapping directives of its own, to be garbage collected when dereferenced…
Mike Bayer
- [feature] The registry of classes in declarative_base() is now a WeakValueDictionary. So subclasses of "Base" that are dereferenced will be garbage collected, *if they are not referred to by any other mappers/superclass mappers*. [ticket:2526]
Mike Bayer
- break up configure_property - fix this test for 2.5
Mike Bayer
move mapper-level UOW functionality straight into unitofwork also. there's no need for this to be per-mapper. can't move dependency init off of property though as this init needs to happen up front, added a test to prove it.
Mike Bayer
- move load_scalar_attributes out to loading.py
Mike Bayer
attempt to fix this test for pypy
Mike Bayer
- [bug] Fixed more un-intuitivenesses in CTEs which prevented referring to a CTE in a union of itself without it being aliased. CTEs now render uniquely on name, rendering the outermost CTE of a given name only - all other references are rendered just as the name. This even includes other CTE/SELECTs that refer to different versions of the same CTE object, such as a SELECT or a UNION ALL of that SELECT. W…
Mike Bayer
- [bug] ORM will perform extra effort to determine that an FK dependency between two tables is not significant during flush if the tables are related via joined inheritance and the FK dependency is not part of the inherit_condition, saves the user a use_alter directive. [ticket:2527]
Mike Bayer
add section on replacing result_processor()/bind_processor()
Mike Bayer
2.3 is a distant memory
Mike Bayer
rework imports here
Mike Bayer
except the example was wrong.
Mike Bayer
- add a nice example about begin_nested as context manager.
Mike Bayer
- this is now ported to 0.7.9
Mike Bayer
add a section on many-to-many deletes
Mike Bayer
notify_all workaround for 2.5
Mike Bayer
add 2.5 compat for next()
Mike Bayer
turn commit_all into an iterative method
Mike Bayer
- pass kw through here
Mike Bayer
- move cte tests into their own test/sql/test_cte.py - rework bindtemplate system of "numbered" params by applying the numbers last, as we now need to generate these out of order in some cases - add positional assertion to assert_compile - add new cte_positional collection to track bindparams generated within cte visits; splice this onto the beginning of self.positiontup at cte render time, [ticket:2521]
Mike Bayer
- change notify to notify_all() so all waiters exit immediately, continuing [ticket:2522]
Mike Bayer
remove WeakIdentityMapping tests
Mike Bayer
- somehting is making this test have an inconsistent callcount
Mike Bayer
- [moved] The InstrumentationManager interface and the entire related system of alternate class implementation is now moved out to sqlalchemy.ext.instrumentation. This is a seldom used system that adds significant complexity and overhead to the mechanics of class instrumentation. The new architecture allows it to remain unused until InstrumentationManager is actually imported, at which point it is bootstrapped into the core.
Mike Bayer
2.5 compat
Mike Bayer
- fix this import - call loading.instances
Mike Bayer
- absolute imports in connectors, databases
Mike Bayer
absolute imports in core, sql
Mike Bayer
- move all of orm to use absolute imports - break out key mechanics of loading objects into new "orm.loading" module, removing implementation details from both mapper.py and query.py. is analogous to persistence.py - some other cleanup and old cruft removal
  1. Prev
  2. Next