| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
criterion
|
|
|
|
| |
oracle ROW_NUMBER logic uses select.oid_column to get default order by
|
| |
|
|
|
|
| |
condition....
|
|
|
|
| |
to avoid compilation name conflicts
|
|
|
|
| |
to use __new__ to create loaded instances instead of the __init__ method
|
|
|
|
| |
unit test for the whole thing
|
| |
|
|
|
|
|
|
| |
property, as the improved attribute system seems to handle inheritance OK and allows the property to keep its correct initialization on the parent
exceptions import in query
|
| |
|
| |
|
|
|
|
| |
really work , added test conditions to the dependency test + the original test that failed
|
| |
|
|
|
|
|
|
|
|
| |
created AbstractEngine class which provides base for SQLEngine and will also
provide base for ConnectionProxy, so SQL binding can be to an engine or specific
connection resource
ClauseElements get using() method which can take AbstractEngines for execution
made more separation between SchemaItems and bound engine
|
|
|
|
|
|
|
|
|
| |
receive session-specific context via the mapper.using() statement. reuslting object instances will be bound to this session, but query execution still handled by the SQLEngines implicit in the mapper's Table objects.
session now propigates to the unitofwork UOWTransaction object, as well as mapper's save_obj/delete_obj via the UOWTransaction it receives. UOWTransaction explicitly calls the Session for the engine corresponding to each Mapper in the flush operation, although the Session does not yet affect the choice of engines used, and mapper save/delete is still using the Table's implicit SQLEngine.
changed internal unitofwork commit() method to be called flush().
removed all references to 'engine' from mapper module, including adding insert/update specific SQLEngine methods such as last_inserted_ids, last_inserted_params, etc. to the returned ResultProxy so that Mapper need not know which SQLEngine was used for the execute.
changes to unit tests, SelectResults to support the new Query object.
|
|
|
|
| |
well as throughout the call-chain for those. lazy loader honors the "session" of the parent object, + added simple unit test
|
|
|
|
|
|
|
|
| |
with a class via
the class object as well as the optional entity_name parameter, which is a string defaulting to None.
any number of primary mappers can be created for a class, qualified by the entity name. instances of those classes
will issue all of their load and save operations through their entity_name-qualified mapper, and maintain separate identity from an otherwise equilvalent object.
|
|
|
|
| |
initializers strictly through the SmartPropery instances attached to the class, so that attributes retain their natural polymorphic behavior. naming conventions migrating to "managed_attribute", simplifying codepaths.
|
|
|
|
|
| |
fix to mapper extension
CompoundSelect can export all columns now, not sure if theres any advantage there
|
|
|
|
| |
its behavior a bit to not delete private relationships unless they were already marked as deleted at the attribute manipulation level. got "switching" behavior from one private relationship to another to work, added a unit test for that.
|
| |
|
| |
|
| |
|
|
|
|
| |
allowing keywords in mapper.options()
|
| |
|
|
|
|
| |
argument support to the mapper.select() methd. associated unit test tweaks and mapper integration.
|
| |
|
|
|
|
| |
had None for a parent, due to addition in [changeset:1186] which added a "deletion" traversal for many-to-one relationships. added unittest.
|
|
|
|
| |
from the identity map normally, but always blows away their attributes and replaces with those from the database, including changes
|
|
|
|
| |
immediately removed as well as explicit from dirty/deleted lists. this also changes uow.rollback_object() to remove from those lists, which is strange that it didnt do that before. anyway the mapper, when selecting and creating instances, asks the uow if this already identity-mapped instance is expired, and if so refreshes it on the fly, saving the need for the re-_get() operation, if some other query happens to touch upon the expired object. unit test added to confirm this.
|
|
|
|
|
|
| |
same as the label
comment in mapper
|
| |
|
|
|
|
|
|
|
|
| |
nobody noticed that.
types: added PickleType, its slightly trickier than trivial, so OK now its standard.
attributes: the level of pain if an AttributeError occurs inside a CallableProp, in combination with an object that implements __getattr__, is too deep for me to put the users through....so convert AttributeErrors to Assertions...
engine: im not a fan of catching universal exceptions and squashing them
|
|
|
|
|
|
| |
refresh() condition
added None check in PropertyLoader many-to-one private deletion traversal, fixes byroot_tree (add a unit test for that)
|
|
|
|
|
|
|
|
| |
column._label, to take
advantage of column labeling rules
bind param compilation,when it unique-ifys the name of bind params, maintains the length
of the bind parameter name instead of appending to it
|
| |
|
|
|
|
| |
columns of an underlying table
|
|
|
|
| |
still the current uow
|
|
|
|
|
| |
correction in attributes reset_history to really reset in all cases
added unit tests testing refresh()/expire() bug that was fixed by reset_history thing
|
| |
|
|
|
|
| |
to allow single-object commits to cascade into private child objects
|
| |
|
|
|
|
|
|
| |
at the Session level,
fixes [ticket:113]
|
|
|
|
| |
table !
|
|
|
|
| |
attributes on new objects
|
|
|
|
| |
arithmetic up front, instead of on each row
|
| |
|