Jason Kirtland [Wed, 1 Aug 2007 00:12:42 +0000 (00:12 +0000)]
Promoted format_table_seq from mysql to ansisql. Formats a fully qualified table reference as a quoted sequence, suitable for '.'.joining or whatever. [ticket:666]
Mike Bayer [Tue, 31 Jul 2007 22:54:07 +0000 (22:54 +0000)]
- commented out auto-rollback of attributes for now, added [ticket:705] with the recipe
- added "drop_all()" at the start of all unittest runs; see if that helps some of the carwrecks we have
Mike Bayer [Tue, 31 Jul 2007 20:12:22 +0000 (20:12 +0000)]
re-jiggered (yes, thats a technical term) DeprecationWarning into SADeprecationWarning so that we can set the "once" filter across all SQLAlchemy-originating DeprecationWarnings.
- restored old assign_mapper monkey patched query methods but with two differences:
* added a deprecation warning
* check if a method with that name already exist in the class
- more foolproof deprecation warning for scalar kwarg
Jason Kirtland [Tue, 31 Jul 2007 00:19:23 +0000 (00:19 +0000)]
MetaData can now reflect() all tables in the database en-masse thanks to table_names().
table_names changed to accept an explicit connection
ThreadLocalMetaData constructor now takes no arguments. If case_sensitive is needed in a multi-bind context, move it to Table or subclass TLMD to force it.
Banished **kwargs from MetaData
Lots of class doc and docstring improvements around MetaData and TLMD.
Some engine->bind internal naming updates + reorg in schema.
MySQL table_names now return Unicode. (Also, a unicode reflect() unit test is needed.)
Mike Bayer [Sun, 29 Jul 2007 20:30:32 +0000 (20:30 +0000)]
- added Session constructor which turns autoflush/transactional on
- Session is used by unitofwork unit test now as well as session.py tests
- fixes to table/schema reflection broken last night
- doc updates
- other unittest fixes
Mike Bayer [Sun, 29 Jul 2007 17:39:37 +0000 (17:39 +0000)]
- removed import of old sqlite module [ticket:654]
- removed sqlite version warning, all tests pass 100% with py2.5's older sqlite lib
- fixed dynamic test for py2.5
Jason Kirtland [Sun, 29 Jul 2007 16:13:23 +0000 (16:13 +0000)]
Big MySQL dialect update, mostly efficiency and style.
Added TINYINT [ticket:691]- whoa, how did that one go missing for so long?
Added a charset-fixing pool listener. The driver-level option doesn't help everyone with this one.
New reflector code not quite done and omiited from this commit.
Mike Bayer [Sun, 29 Jul 2007 00:42:49 +0000 (00:42 +0000)]
- removed auto_close_cursors and disallow_open_cursors arguments from Pool;
reduces overhead as cursors are normally closed by ResultProxy and Connection.
Mike Bayer [Sat, 28 Jul 2007 05:16:03 +0000 (05:16 +0000)]
- trimming down redundancy in lazyloader code
- fixups to ORM test fixture code
- fixup to dynamic realtions, test for autoflush session, delete-orphan
- made new dynamic_loader() function to create them
- removed old hasparent() call on AttributeHistory
Mike Bayer [Fri, 27 Jul 2007 18:57:02 +0000 (18:57 +0000)]
- clarified LoaderStrategy implementations, centralized deferred column loading
into DeferredColumnLoader (i.e. deferred polymorphic loader)
- added generic deferred_load(instance, props) method, will set up "deferred" or "lazy"
loads across a set of properties.
- mapper post-fetch now uses all deferreds, no more post-selects inside a flush() [ticket:652]
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()