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
Mike Bayer [Tue, 3 Jan 2006 00:40:40 +0000 (00:40 +0000)]
cleanup to mapper/relation order_by parameter to be more consistently picked up
down the chain of engine->mapper->select()
documented mapperoption methods
Mike Bayer [Tue, 3 Jan 2006 00:36:16 +0000 (00:36 +0000)]
type objects pass engine around to get a hold of DBAPI type objects
added dbapi.Binary creation to base BinaryType
fixed MySQL binary type
adjustment to Join._match_primaries to work better with self-referential table
Mike Bayer [Sun, 1 Jan 2006 21:08:22 +0000 (21:08 +0000)]
rowid_column becomes more like the "order by column". 'default_ordering' flag sent to create_engine enables whether or not the rowid_column on a Table will be None or not. mappers/relations will by default use the rowid_column for ordering if its not None, else theres no default ordering.
still should better define 'default_ordering'/'rowid_column' relationship since its a little kludgy.
Mike Bayer [Sun, 1 Jan 2006 20:30:53 +0000 (20:30 +0000)]
postgres oids say byebye by default, putting hooks in for engines to determine column defaults externally to it having a 'default' property, beefed up unittests to support inserts with/without defaults (will fix oracle unit tests too)
Mike Bayer [Fri, 30 Dec 2005 05:58:45 +0000 (05:58 +0000)]
changes related to mapping against arbitrary selects, selects with labels or functions:
testfunction has a more complete test (needs an assert tho);
added new labels, synonymous with column key, to "select" statements that are subqueries with use_labels=False, since SQLite wants them -
this also impacts the names of the columns attached to the select object in the case that the key and name dont match, since
it is now the key, not the name;
aliases generate random names if name is None (need some way to make them more predictable to help plan caching);
select statements have a rowid column of None, since there isnt really a "rowid"...at least cant figure out what it would be yet;
mapper creates an alias if given a select to map against, since Postgres wants it;
mapper checks if it has pks for a given table before saving/deleting, skips it otherwise;
mapper will not try to order by rowid if table doesnt have a rowid (since select statements dont have rowids...)
Mike Bayer [Fri, 30 Dec 2005 00:27:46 +0000 (00:27 +0000)]
reworking concept of column lists, "FromObject", "Selectable";
support for types to be propigated into boolean expressions;
new label() function/method to make any column/literal/function/bind param
into a "foo AS bar" clause, better support in ansisql for this concept;
trying to get column list on a select() object to be Column and ColumnClause
objects equally, working on mappers that map to those select() objects
Mike Bayer [Fri, 30 Dec 2005 00:23:01 +0000 (00:23 +0000)]
catching up oracle to current, some tweaks to unittests to work better with oracle,
allow different ordering of expected statements.
unittests still dont work completely with oracle due to sequence columns in INSERT statements