Mike Bayer [Tue, 14 Aug 2007 03:19:46 +0000 (03:19 +0000)]
- base_mapper() becomes a plain attribute
- session.execute() and scalar() can search for a Table with which to bind
from using the given ClauseElement
- session automatically extrapolates tables from mappers with binds,
also uses base_mapper so that inheritance hierarchies bind automatically
- moved ClauseVisitor traversal back to inlined non-recursive
Mike Bayer [Mon, 13 Aug 2007 20:14:04 +0000 (20:14 +0000)]
- a rudimental SessionExtension class has been added, allowing user-defined
functionality to take place at flush(), commit(), and rollback() boundaries.
Mike Bayer [Mon, 13 Aug 2007 20:00:38 +0000 (20:00 +0000)]
- generalized a SQLCompileTest out of select.py, installed
into dialect/mssql.py, dialect/oracle.py, sql/generative.py
- fixed oracle issues [ticket:732], [ticket:733], [ticket:734]
Mike Bayer [Sun, 12 Aug 2007 21:36:33 +0000 (21:36 +0000)]
- fixed compiler bug in mssql
- marked as unsupported for mssql all two-phase and nested transcation tests
- marked as unsupported for mssql various transactional/session tests which require two connections looking at uncommitted/external data at the same time (ms-sql cant handle it)
- put better explicit closeout step in unitofwork.py tests to appease ms-sqls hard locking
Jason Kirtland [Sat, 11 Aug 2007 23:15:32 +0000 (23:15 +0000)]
Added an exception hierarchy shadowing DB-API exc types
No more generic SQLErrors wrappers- the shadow type matching the DB-API error is raised. [ticket:706]
SQLError is now (also) DBAPIError.
DBAPIError and subtype constructors will refuse to wrap a SystemExit or KeyboardInterrupt, returningthe original interrupt exception instead of a new instance. [ticket:689]
Added a passthroughs for SE/KI exceptions in a couple except-and-discard situations
Mike Bayer [Sat, 11 Aug 2007 16:04:38 +0000 (16:04 +0000)]
- removed _calculate_correlations() methods, removed correlation_stack, select_stack;
all are merged into a single stack thats all within ansicompiler. clause visiting cut down
significantly.
Mike Bayer [Sat, 11 Aug 2007 14:03:23 +0000 (14:03 +0000)]
- case_sensitive=(True|False) setting removed from schema items, since
checking this state added a lot of method call overhead and there was
no decent reason to ever set it to False. Table and column names which are
all lower case will be treated as case-insenstive (yes we adjust for
Oracle's UPPERCASE style too).
Jason Kirtland [Sat, 11 Aug 2007 01:03:37 +0000 (01:03 +0000)]
by popular demand, mysql reflection is now a single round-trip and uses a parse of SHOW CREATE TABLE ddl [ticket:612]
the ANSI_QUOTES mode is now supported
halfway there for auto_increment on secondary columns [ticket:649]
indexes are now reflected [ticket:663]
Mike Bayer [Thu, 9 Aug 2007 21:50:23 +0000 (21:50 +0000)]
- decoupled all ColumnElements from also being Selectables. this means
that anything which is a column expression does not have a "c" or a
"columns" attribute. Also works for select().as_scalar(); _ScalarSelect
is a columnelement, so you can't say select().as_scalar().c.foo, which is
a pretty confusing mistake to make. in the case of _ScalarSelect made
an explicit raise if you try to access 'c'.
Mike Bayer [Thu, 9 Aug 2007 19:51:36 +0000 (19:51 +0000)]
- added 'object_session' as classlevel method to Session
- moved 'identity_key' to be a classmethod on Session
- some docstrings
- merged r3229 from 0.3 branch to unconditonally quote schemaname in PG-reflected default
- name fixes in dynamic unit test
Jason Kirtland [Wed, 8 Aug 2007 23:45:26 +0000 (23:45 +0000)]
Added `set_types` to util, a tuple of available set implementations.
Added BIT and SET ([ticket:674])- all mysql data types are now covered!
Fix for YEAR DDL generation, also no longer a concatenable type.
Expanded docs for some mysql column esoterica.
Ants Aasma [Wed, 8 Aug 2007 22:35:05 +0000 (22:35 +0000)]
- fix mssql compiling explicitly added alias twice
- add is_select to mssql dialect. currently adds only sp_columns, someone familiar with mssql should update this
- update mssql get_default_schema_name api
- remove commented code from Query.filter_by