Mike Bayer [Tue, 16 Oct 2007 16:00:37 +0000 (16:00 +0000)]
- query.get() and related functions (like many-to-one lazyloading)
generate randomly-generated bind parameter names, to prevent
name conflicts with bind parameters that already exist in the
mapped selectable.
Mike Bayer [Sat, 8 Sep 2007 20:19:48 +0000 (20:19 +0000)]
- adjusted operator precedence of NOT to match '==' and others, so that
~(x==y) produces NOT (x=y), which is compatible with MySQL (doesn't like
"NOT x=y") [ticket:764]
Mike Bayer [Thu, 9 Aug 2007 19:44:42 +0000 (19:44 +0000)]
- when reflecting tables from alternate schemas, the "default" placed upon
the primary key, i.e. usually a sequence name, has the "schema" name
unconditionally quoted, so that schema names which need quoting are fine.
its slightly unnecessary for schema names which don't need quoting
but not harmful.
Mike Bayer [Thu, 26 Jul 2007 18:25:50 +0000 (18:25 +0000)]
- added a check for joining from A->B using join(), along two
different m2m tables. this raises an error in 0.3 but is
possible in 0.4 when aliases are used. [ticket:687]
Jason Kirtland [Fri, 20 Jul 2007 19:43:46 +0000 (19:43 +0000)]
Merged lower case caching, fetching from r2955
Be sure to close rows fetched in reflection (if not autoclosed)
Fixed bind test, needed transactional storage engine for mysql
Mike Bayer [Fri, 20 Jul 2007 15:10:56 +0000 (15:10 +0000)]
- a new mutex that was added in 0.3.9 causes the pool_timeout
feature to fail during a race condition; threads would
raise TimeoutError immediately with no delay if many threads
push the pool into overflow at the same time. this issue has been
fixed.
Mike Bayer [Wed, 18 Jul 2007 18:51:35 +0000 (18:51 +0000)]
- merged some more of the SessionTransaction connection-bound checks from 0.4
- _BinaryExpression.compare() checks for a base set of "commutative" operators and checks for itself in reverse if so
- added ORM-based unit test for the above, fixes [ticket:664]
Mike Bayer [Sun, 15 Jul 2007 06:02:03 +0000 (06:02 +0000)]
- more docs
- got from_statement() to actually work with query, tests were not covering
- added auto-labeling of anonymous columns sent to add_column(), tests
Mike Bayer [Sun, 15 Jul 2007 04:50:11 +0000 (04:50 +0000)]
- columns can be overridden in a reflected table with a "key"
attribute different than the column's name, including for primary key
columns [ticket:650]
- more docs
Mike Bayer [Sat, 14 Jul 2007 23:06:57 +0000 (23:06 +0000)]
- test module turns warnings into exceptions so they can be tested for
- the two mapper PK tests should actually warn on the id column collision
- reverted abc_inheritance back to normal
Mike Bayer [Sat, 14 Jul 2007 21:57:51 +0000 (21:57 +0000)]
- improved ability to get the "correct" and most minimal set of primary key
columns from a join, equating foreign keys and otherwise equated columns.
this is also mostly to help inheritance scenarios formulate the best
choice of primary key columns. [ticket:185]
- added 'bind' argument to Sequence.create()/drop(), ColumnDefault.execute()
Mike Bayer [Fri, 13 Jul 2007 08:12:30 +0000 (08:12 +0000)]
- a warning is issued by Mapper when two primary key columns of the
same name are munged into a single attribute. this happens frequently
when mapping to joins (or inheritance).
Mike Bayer [Fri, 13 Jul 2007 07:36:39 +0000 (07:36 +0000)]
- composite primary key is represented as a non-keyed set to allow for
composite keys consisting of cols with the same name; occurs within a
Join. helps inheritance scenarios formulate correct PK.
- ticket #185 reopened. still need to get Join to produce a minmal PK for fk'ed columns
Mike Bayer [Thu, 12 Jul 2007 22:03:48 +0000 (22:03 +0000)]
- the various "engine" arguments, such as "engine", "connectable",
"engine_or_url", "bind_to", etc. are all present, but deprecated.
they all get replaced by the single term "bind". you also
set the "bind" of MetaData using
metadata.bind = <engine or connection>. this is part of 0.4
forwards compatibility where "bind" is the only keyword.
[ticket:631]
Mike Bayer [Thu, 12 Jul 2007 18:38:55 +0000 (18:38 +0000)]
- converted mapper.py unit test to 0.4's four separate mapper.py, query.py, eager_relations.py, lazy_relations.py.
tests 0.4 forwards compatibility for [ticket:631]
- fixed "reset_joinpoint()" in query to actually work, when the same table appears in two join()s it reuses that
same table as a joinpoint the way 0.4 does.
Mike Bayer [Tue, 10 Jul 2007 06:51:58 +0000 (06:51 +0000)]
more "column targeting" enhancements..columns have a "depth" from their ultimate source column so that corresponding_column() can find the column that is "closest" (i.e. fewest levels of proxying) to the requested column
Mike Bayer [Sun, 8 Jul 2007 21:18:46 +0000 (21:18 +0000)]
- ForeignKey to a table in a schema thats not the default schema
requires the schema to be explicit; i.e. ForeignKey('alt_schema.users.id')
- the fix in "schema" above fixes postgres reflection of foreign keys from an
alt-schema table to a public schema table