Mike Bayer [Sat, 4 Feb 2006 17:05:09 +0000 (17:05 +0000)]
one-to-one support:
rolled the BackrefExtensions into a single GenericBackrefExtension to handle
all combinations of list/nonlist properties (such as one-to-one)
tweak to properties.py which may receive "None" as "added_items()", in the case of a scalar property
instead of a list
PropHistory masquerades as a List on the setattr/append delattr/remove side to make one-to-one's automatically
work
Robert Leftwich [Sun, 29 Jan 2006 12:30:32 +0000 (12:30 +0000)]
Reworked RowProxy to restore column order preservation and to remove some dictionary-like behaviour that was unnecessary and caused breakage in existing code. Added tests for column preservation.
Robert Leftwich [Sat, 28 Jan 2006 22:24:16 +0000 (22:24 +0000)]
RowProxy changes - added keys(), used keys() to add more dictionary-like behaviour (values(), iteritems(), iterkeys(), etc). Made parent and row private. Modified tests that used RowProxy.row to use values().
Mike Bayer [Thu, 26 Jan 2006 00:27:14 +0000 (00:27 +0000)]
refactoring of objectstore to handle cleaning up after itself with less
instruction from properties/mapper
objectstore gets an assertion for appending a deleted item
mapper has fix for inheritance
mapper selectone() etc. set "limit=1"
Mike Bayer [Sat, 21 Jan 2006 05:41:16 +0000 (05:41 +0000)]
adjustment to dependencies+childtasks attached to circular task - they go
on just the lead task instead of each per-object task.
more tweaks to dumper output
Mike Bayer [Fri, 20 Jan 2006 03:49:35 +0000 (03:49 +0000)]
when breaking a circular task into child tasks, propigate the child tasks and the non-self-referring dependencies of the lead task to each child task...else they dont happen !
Mike Bayer [Fri, 20 Jan 2006 00:42:07 +0000 (00:42 +0000)]
added explicit bind parameters and column type maps to text type
text type also parses :<string> into bind param objects
bind parameters convert their incoming type using engine.type_descriptor() methods
types.adapt_type() adjusted to not do extra work with incoming types, since the bind
param change will cause it to be called a lot more
added tests to new text type stuff, bind params, fixed some type tests
added basic docs for using text with binde params
Mike Bayer [Thu, 19 Jan 2006 01:43:26 +0000 (01:43 +0000)]
implemented better hash_key on select allowing proper comparisons, implemented
hash_key on all clause objects
added hash_key test to select
util gets extra threadlocal functions and the recursionstack object
Robert Leftwich [Mon, 16 Jan 2006 06:22:52 +0000 (06:22 +0000)]
Fixed problem in Column.copy(), _make_proxy() with nullable and hidden not being reflected into new Column. Added test for same. Removed reference to non-existant columns test from list of tests in alltests.
Robert Leftwich [Thu, 12 Jan 2006 07:33:28 +0000 (07:33 +0000)]
r818@lightspeed: robert | 2006-01-12 18:32:38 +1100
Added class name to the TypeError string to make it easier to find constructor problems when mapper is constructing complex mappings
Mike Bayer [Sun, 8 Jan 2006 18:11:52 +0000 (18:11 +0000)]
sqlite/postgres reflection will properly add foreign keys
added append_item() method to column to work similarly to table.append_item(), used to
append foreign keys to the column (required in mysql)
appending new foreign keys will properly replace the old one, so explicitly appending
foreign keys to tables will replace those loaded via table reflection (instead of doubling them up)
Mike Bayer [Sun, 8 Jan 2006 01:34:13 +0000 (01:34 +0000)]
added 'import_instance' to properly deal with out-of-imap objects,
added assertion upon commit that all mapped objects are properly present in the identity map
Mike Bayer [Sun, 8 Jan 2006 01:26:47 +0000 (01:26 +0000)]
improvements to relational algrebra of Alias, Select, Join objects, so that they
all report their column lists, primary key, foreign key lists consistently
and so that ForeignKey objects can line up tables against relational objects
Mike Bayer [Thu, 5 Jan 2006 05:47:02 +0000 (05:47 +0000)]
mapper - pks_by_table should store keys in order even tho we dont have a failure case
lazyloader can lazyload using mapper.get() if it is appropriate, saves a lot of queries
a few more assertions in properties in prep for relations against select statement mappers
mapper get() clause is determined upfront to avoid re-generating it
Mike Bayer [Thu, 5 Jan 2006 05:44:10 +0000 (05:44 +0000)]
added compare function to the more basic expression objects
adding priamry_key/foreign_keys to selects, alias etc to increase their useability for relating them to tables
improved _get_col_by_original to double-check the column it finds