| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
criterion
|
|
|
|
| |
oracle ROW_NUMBER logic uses select.oid_column to get default order by
|
|
|
|
| |
to use __new__ to create loaded instances instead of the __init__ method
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
fix to mapper extension
CompoundSelect can export all columns now, not sure if theres any advantage there
|
| |
|
| |
|
| |
|
|
|
|
| |
allowing keywords in mapper.options()
|
|
|
|
| |
argument support to the mapper.select() methd. associated unit test tweaks and mapper integration.
|
| |
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
at the Session level,
fixes [ticket:113]
|
|
|
|
| |
attributes on new objects
|
|
|
|
|
|
|
| |
closed-minded about how it creates the join crit
erion as well as the sync rules in inheritance. syncrules have been tightened up to be smarter about creating a new
SyncRule given lists of tables and a join clause. properties also checks for relation direction against the "noninherited table" which for the moment makes it a stronger requirement that a relation to a mapper must relate to that mapper's main table, not any tables that it inherits from.
|
| |
|
|
|
|
| |
one row returned, courtesy J.Ellis
|
|
|
|
|
|
|
|
|
|
|
| |
more intelligent bind parameter dictionary that does type conversions late and preserves the unconverted value; used to fix mappers not comparing correct value in post-fetch [ticket:110]
removed pre_exec assertion from oracle/firebird regarding "check for sequence/primary key value"
fix to Unicode type to check for null, fixes [ticket:109]
create_engine() now uses genericized parameters; host/hostname, db/dbname/database, password/passwd, etc. for all engine connections
fix to select([func(column)]) so that it creates a FROM clause to the column's table, fixes [ticket:111]
doc updates for column defaults, indexes, connection pooling, engine params
unit tests for the above bugfixes
|
|
|
|
|
|
|
|
| |
the case of
inheritance. relations now create priamry/secondary joins against that lead table. if you want to create it against
an inherited table, use explicit join conditions.
added 'correlate' argument to CompoundSelect to get polymorph example working again.
|
| |
|
|
|
|
| |
the primaryjoin and secondaryjoin, and raises a descriptive exception if so.
|
|
|
|
| |
mapper, when the inheritance/eager loads share the same table. mapper inheritance will also favor the columns from the child table over those of the parent table when assigning column values to object attributes. "correlated subqueries" require a flag "correlated=True" if they are in the FROM clause of another SELECT statement, and they want to be correlated. this flag is set by default when using an "exists" clause.
|
|
|
|
| |
mapper; even though this is not usually needed, it allows certain exotic combinations of mapper setups to work (i.e. the one in the polymorph example)
|
|
|
|
|
| |
fixes to relation to enable it to locate "direction" more consistently with inheritance relationships
more tweaks to parenthesizing subqueries, unions, etc.
|
| |
|
|
|
|
| |
properly receives defaults on inserts)...
|
|
|
|
| |
attributes, util
|
|
|
|
| |
confuses users
|
| |
|
|
|
|
|
|
| |
[ticket:81]
TableFinder becomes a list-implementing object (should probably create clauseutils or sqlutils for these little helper visitors)
|
|
|
|
|
|
| |
on it, to make
room for more aggressive "identity map" assertion when modifying objects incoming from a result set
|
|
|
|
|
| |
clause elements including tables and columns, schema package deals with "physical"
representations
|
|
|
|
| |
get the full list of primary key cols
|
|
|
|
| |
properties without getting a "list changed during iteration" error
|
| |
|
|
|
|
|
| |
version has "property" accessor which returns MapperProperty at
the class level
|
| |
|