]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
17 years agofixing recent schema.py changes to work with oracle 'owner' attribute rel_0_4_3
Mike Bayer [Thu, 14 Feb 2008 23:41:17 +0000 (23:41 +0000)] 
fixing recent schema.py changes to work with oracle 'owner' attribute

17 years ago- comment typo
Jason Kirtland [Thu, 14 Feb 2008 22:42:53 +0000 (22:42 +0000)] 
- comment typo

17 years ago- Made testlib's --unhashable and r3935's set changes play nice
Jason Kirtland [Thu, 14 Feb 2008 22:39:42 +0000 (22:39 +0000)] 
- Made testlib's --unhashable and r3935's set changes play nice
- A bonus overhead reduction for IdentitySet instances

17 years ago- Corrected __eq__ pragma drift.
Jason Kirtland [Thu, 14 Feb 2008 22:07:58 +0000 (22:07 +0000)] 
- Corrected __eq__ pragma drift.

17 years agoRestore 2.3 compat for the sharding test
Jason Kirtland [Thu, 14 Feb 2008 21:47:01 +0000 (21:47 +0000)] 
Restore 2.3 compat for the sharding test

17 years agofixed (still uncovered) incorrect variable name...
Mike Bayer [Thu, 14 Feb 2008 20:07:38 +0000 (20:07 +0000)] 
fixed (still uncovered) incorrect variable name...

17 years ago- Fixed a couple pyflakes, cleaned up imports & whitespace
Jason Kirtland [Thu, 14 Feb 2008 20:02:10 +0000 (20:02 +0000)] 
- Fixed a couple pyflakes, cleaned up imports & whitespace

17 years agoMSSQL now compiles func.now() to CURRENT_TIMESTAMP
Rick Morrison [Thu, 14 Feb 2008 18:38:24 +0000 (18:38 +0000)] 
MSSQL now compiles func.now() to CURRENT_TIMESTAMP

17 years ago- fixed bug in result proxy where anonymously generated
Mike Bayer [Thu, 14 Feb 2008 18:22:47 +0000 (18:22 +0000)] 
- fixed bug in result proxy where anonymously generated
column labels would not be accessible using their straight
string name

17 years agoAdded EXEC to MSSQL _is_select regexp; should now detect row-returning stored procedures
Rick Morrison [Thu, 14 Feb 2008 18:03:57 +0000 (18:03 +0000)] 
Added EXEC to MSSQL _is_select regexp; should now detect row-returning stored procedures
Added experimental implementation of limit/offset using row_number()

17 years agoa TODO comment
Mike Bayer [Wed, 13 Feb 2008 17:27:47 +0000 (17:27 +0000)] 
a TODO comment

17 years ago0.4.3 edits
Jason Kirtland [Tue, 12 Feb 2008 21:27:18 +0000 (21:27 +0000)] 
0.4.3 edits

17 years ago- fixed bug introduced in r4070 where union() and other compound selects would not get
Mike Bayer [Tue, 12 Feb 2008 21:16:31 +0000 (21:16 +0000)] 
- fixed bug introduced in r4070 where union() and other compound selects would not get
an OID column if it only contained one selectable element, due to missing return in _proxy_column()
- visit_column() calls itself to render a primary key col being used as the interpretation of the oid col instead of relying upon broken partial logic

17 years agoadd pk cols to assocaition table
Mike Bayer [Tue, 12 Feb 2008 16:45:39 +0000 (16:45 +0000)] 
add pk cols to assocaition table

17 years ago- Added two new vertical dict mapping examples.
Jason Kirtland [Tue, 12 Feb 2008 01:44:20 +0000 (01:44 +0000)] 
- Added two new vertical dict mapping examples.

17 years ago- added expire_all() method to Session. Calls expire()
Mike Bayer [Mon, 11 Feb 2008 19:22:34 +0000 (19:22 +0000)] 
- added expire_all() method to Session.  Calls expire()
for all persistent instances.  This is handy in conjunction
with .....

- instances which have been partially or fully expired
will have their expired attributes populated during a regular
Query operation which affects those objects, preventing
a needless second SQL statement for each instance.

17 years ago- Fixed .get(<int>) of a String PK (exposed by pg 8.3)
Jason Kirtland [Mon, 11 Feb 2008 19:14:38 +0000 (19:14 +0000)] 
- Fixed .get(<int>) of a String PK (exposed by pg 8.3)

17 years ago- updated the naming scheme of the base test classes in test/testlib/testing.py;
Mike Bayer [Mon, 11 Feb 2008 00:28:39 +0000 (00:28 +0000)] 
- updated the naming scheme of the base test classes in test/testlib/testing.py;
tests extend from either TestBase or ORMTest, using additional mixins for
special assertion methods as needed

17 years ago- Table columns and constraints can be overridden on a
Mike Bayer [Sun, 10 Feb 2008 23:39:09 +0000 (23:39 +0000)] 
- Table columns and constraints can be overridden on a
an existing table (such as a table that was already
reflected) using the 'useexisting=True' flag, which now
takes into account the arguments passed along with it.
- fixed one element of [ticket:910]
- refactored reflection test

17 years ago- Better error messaging on failed collection bulk-assignments
Jason Kirtland [Sat, 9 Feb 2008 19:15:45 +0000 (19:15 +0000)] 
- Better error messaging on failed collection bulk-assignments

17 years ago- Note about future CollectionAttributeImp.collection_intrface removal + whitespace...
Jason Kirtland [Sat, 9 Feb 2008 18:45:50 +0000 (18:45 +0000)] 
- Note about future CollectionAttributeImp.collection_intrface removal + whitespace cleanup.

17 years ago- Determine the basic collection interface dynamically when adapting a collection...
Jason Kirtland [Sat, 9 Feb 2008 18:45:11 +0000 (18:45 +0000)] 
- Determine the basic collection interface dynamically when adapting a collection to an interable

17 years agoadded info on foreign_keys attribute
Mike Bayer [Sat, 9 Feb 2008 17:26:48 +0000 (17:26 +0000)] 
added info on foreign_keys attribute

17 years ago- lazy loader can now handle a join condition where the "bound"
Mike Bayer [Sat, 9 Feb 2008 01:48:19 +0000 (01:48 +0000)] 
- lazy loader can now handle a join condition where the "bound"
column (i.e. the one that gets the parent id sent as a bind
parameter) appears more than once in the join condition.
Specifically this allows the common task of a relation()
which contains a parent-correlated subquery, such as "select
only the most recent child item". [ticket:946]
- col_is_part_of_mappings made more strict, seems to be OK
with tests
- memusage will dump out the size list in an assertion fail

17 years agoheisenbug in aisle 3
Mike Bayer [Sat, 9 Feb 2008 01:24:01 +0000 (01:24 +0000)] 
heisenbug in aisle 3

(when db.dispose is called in unitofwork test with sqlite, the first test that runs in memusage grows by two gc'ed objects on every iteration; then the problem vanishes.  doesnt matter what test runs in memusage.  doing a dispose() in memusage solves the problem also.  screwing wiht the mechanics of engine.dispose() only fix it when both the pool.dispose() *and* the pool.ressurect() are disabled.  its just a subtle python/pysqlite bug afaict)

17 years ago- added generative where(<criterion>) method to delete()
Mike Bayer [Fri, 8 Feb 2008 22:57:45 +0000 (22:57 +0000)] 
- added generative where(<criterion>) method to delete()
and update() constructs which return a new object with
criterion joined to existing criterion via AND, just
like select().where().
- compile assertions use assertEquals()

17 years ago- Added deferrability support to constraints
Jason Kirtland [Fri, 8 Feb 2008 20:50:33 +0000 (20:50 +0000)] 
- Added deferrability support to constraints

17 years ago- psycopg2 can raise un-str()able exceptions; don't croak when trying to log them
Jason Kirtland [Fri, 8 Feb 2008 20:38:28 +0000 (20:38 +0000)] 
- psycopg2 can raise un-str()able exceptions; don't croak when trying to log them

17 years agoFix: deletes with schemas on MSSQL 2000 [ticket:967]
Paul Johnston [Fri, 8 Feb 2008 16:48:37 +0000 (16:48 +0000)] 
Fix: deletes with schemas on MSSQL 2000 [ticket:967]

17 years agotest for session close efficiency
Mike Bayer [Fri, 8 Feb 2008 15:45:54 +0000 (15:45 +0000)] 
test for session close efficiency

17 years agoFix some mssql unit tests
Paul Johnston [Fri, 8 Feb 2008 13:45:19 +0000 (13:45 +0000)] 
Fix some mssql unit tests

17 years agoStrip schema from access tables
Paul Johnston [Fri, 8 Feb 2008 12:05:28 +0000 (12:05 +0000)] 
Strip schema from access tables

17 years agoAvoid using common keywords as field names: the test executes literal selects
Lele Gaifax [Wed, 6 Feb 2008 17:52:48 +0000 (17:52 +0000)] 
Avoid using common keywords as field names: the test executes literal selects

17 years agocheck for unicode first before encoding
Mike Bayer [Wed, 6 Feb 2008 17:44:48 +0000 (17:44 +0000)] 
check for unicode first before encoding

17 years agounit-of-work flush didn't close the failed transaction when the session was not in...
Ants Aasma [Wed, 6 Feb 2008 17:38:29 +0000 (17:38 +0000)] 
unit-of-work flush didn't close the failed transaction when the session was not in a transaction and commiting the transaction failed.

17 years ago- Some more reST docstring corrections
Jason Kirtland [Wed, 6 Feb 2008 01:40:40 +0000 (01:40 +0000)] 
- Some more reST docstring corrections

17 years ago- clean up the print version of the docs a bit [ticket:745]
Jason Kirtland [Wed, 6 Feb 2008 01:32:33 +0000 (01:32 +0000)] 
- clean up the print version of the docs a bit [ticket:745]

17 years ago- A few quick docstring typo fixes, including [ticket:766]
Jason Kirtland [Wed, 6 Feb 2008 01:09:08 +0000 (01:09 +0000)] 
- A few quick docstring typo fixes, including [ticket:766]

17 years agoC-u 66 C-x f M-q
Jason Kirtland [Wed, 6 Feb 2008 00:11:05 +0000 (00:11 +0000)] 
C-u 66 C-x f M-q

17 years agoChangeLog for r4115
Jason Kirtland [Wed, 6 Feb 2008 00:01:44 +0000 (00:01 +0000)] 
ChangeLog for r4115

17 years ago- Enabled schema support on SQLite, added the temporary table namespace to table...
Jason Kirtland [Tue, 5 Feb 2008 23:31:14 +0000 (23:31 +0000)] 
- Enabled schema support on SQLite, added the temporary table namespace to table name reflection
- TODO: add sqlite to the standard alternate schema tests. a little tricky, because unlike CREATE SCHEMA, an ATTACH DATABASE won't survive a pool dispose...

17 years ago- doc edits- thanks asmodai! [ticket:906]
Jason Kirtland [Tue, 5 Feb 2008 20:26:08 +0000 (20:26 +0000)] 
- doc edits- thanks asmodai! [ticket:906]

17 years agobetter that it doesn't get a scalar loader callable
Mike Bayer [Tue, 5 Feb 2008 19:42:51 +0000 (19:42 +0000)] 
better that it doesn't get a scalar loader callable

17 years agoexpire with synonyms [ticket:964]
Mike Bayer [Tue, 5 Feb 2008 19:41:51 +0000 (19:41 +0000)] 
expire with synonyms [ticket:964]

17 years ago- Autodetect mysql's ANSI_QUOTES mode, sometimes. [ticket:845]
Jason Kirtland [Tue, 5 Feb 2008 17:26:35 +0000 (17:26 +0000)] 
- Autodetect mysql's ANSI_QUOTES mode, sometimes. [ticket:845]
  The dialect needs a hook run on first pool connect to detect this most of
  the time, and a refactor with Dialect-per-Connection to get it right all of
  the time. (It's a connection-session scoped setting with dialect-modifying
  behavior)

17 years agohmmm.
Jason Kirtland [Tue, 5 Feb 2008 15:34:28 +0000 (15:34 +0000)] 
hmmm.

17 years ago- Added free-form `DDL` statements, can be executed standalone or tied to the DDL...
Jason Kirtland [Tue, 5 Feb 2008 05:46:33 +0000 (05:46 +0000)] 
- Added free-form `DDL` statements, can be executed standalone or tied to the DDL create/drop lifecycle of Tables and MetaData. [ticket:903]
- Added DDL event hooks, triggers callables before and after create / drop.

17 years ago*more* tweaks to avoid DEFAULT VALUES on sqlite
Mike Bayer [Mon, 4 Feb 2008 22:40:52 +0000 (22:40 +0000)] 
*more* tweaks to avoid DEFAULT VALUES on sqlite

17 years agolock in replacing '%' with '%%'
Mike Bayer [Mon, 4 Feb 2008 22:35:29 +0000 (22:35 +0000)] 
lock in replacing '%' with '%%'

17 years ago- add dummy column to appease older SQLite verisons in unicode.py
Mike Bayer [Mon, 4 Feb 2008 21:47:42 +0000 (21:47 +0000)] 
- add dummy column to appease older SQLite verisons in unicode.py
- add test "escape_literal_column" comiler method to start addressing literal '%' character

17 years ago- ColumnDefault callables can now be any kind of compliant callable, previously only...
Jason Kirtland [Mon, 4 Feb 2008 20:49:38 +0000 (20:49 +0000)] 
- ColumnDefault callables can now be any kind of compliant callable, previously only actual functions were allowed.

17 years agoforcibly clean out _sessions, _mapper_registry at test start to eliminate leftovers...
Mike Bayer [Mon, 4 Feb 2008 20:35:25 +0000 (20:35 +0000)] 
forcibly clean out _sessions, _mapper_registry at test start to eliminate leftovers from other unit tests (from other test scripts) still stored in memory

17 years agoadd some extra assertions to ensure all mappers are gone after clear_mappers() (for...
Mike Bayer [Mon, 4 Feb 2008 02:44:04 +0000 (02:44 +0000)] 
add some extra assertions to ensure all mappers are gone after clear_mappers() (for [ticket:963])

17 years ago- fixed reflection of Time columns on sqlite
Jason Kirtland [Fri, 1 Feb 2008 08:11:12 +0000 (08:11 +0000)] 
- fixed reflection of Time columns on sqlite

17 years ago- some consolidation of tests in select.py, moved
Mike Bayer [Fri, 1 Feb 2008 01:16:18 +0000 (01:16 +0000)] 
- some consolidation of tests in select.py, moved
other tests to more specific modules
- added "now()" as a generic function; on SQLite and
Oracle compiles as "CURRENT_TIMESTAMP"; "now()"
on all others [ticket:943]

17 years ago- Workaround for datetime quirk, LHS comparisons to SA expressions now work.
Jason Kirtland [Thu, 31 Jan 2008 21:32:38 +0000 (21:32 +0000)] 
- Workaround for datetime quirk, LHS comparisons to SA expressions now work.

17 years ago- Friendlier exception messages for unbound, implicit execution
Jason Kirtland [Thu, 31 Jan 2008 19:48:13 +0000 (19:48 +0000)] 
- Friendlier exception messages for unbound, implicit execution
- Implicit binding failures now raise UnboundExecutionError

17 years ago- added "autocommit=True" kwarg to select() and text(),
Mike Bayer [Thu, 31 Jan 2008 17:48:22 +0000 (17:48 +0000)] 
- added "autocommit=True" kwarg to select() and text(),
as well as generative autocommit() method on select();
for statements which modify the database through some
user-defined means other than the usual INSERT/UPDATE/
DELETE etc., this flag will enable "autocommit" behavior
during execution if no transaction is in progress
[ticket:915]

17 years ago- implemented RowProxy.__ne__ [ticket:945], thanks knutroy
Jason Kirtland [Thu, 31 Jan 2008 04:49:31 +0000 (04:49 +0000)] 
- implemented RowProxy.__ne__ [ticket:945], thanks knutroy
- test coverage for same

17 years ago- the startswith(), endswith(), and contains() operators
Mike Bayer [Thu, 31 Jan 2008 03:57:20 +0000 (03:57 +0000)] 
- the startswith(), endswith(), and contains() operators
now concatenate the wildcard operator with the given
operand in SQL, i.e. "'%' || <bindparam>" in all cases,
accept text('something') operands properly [ticket:962]

- cast() accepts text('something') and other non-literal
operands properly [ticket:962]

17 years agoescapedefaultstest passes on everything
Mike Bayer [Wed, 30 Jan 2008 21:33:17 +0000 (21:33 +0000)] 
escapedefaultstest passes on everything

17 years agomoved default escaping test to its own test so oracle gets it
Mike Bayer [Wed, 30 Jan 2008 21:31:32 +0000 (21:31 +0000)] 
moved default escaping test to its own test so oracle gets it

17 years ago- Oracle and others properly encode SQL used for defaults
Mike Bayer [Wed, 30 Jan 2008 21:08:11 +0000 (21:08 +0000)] 
- Oracle and others properly encode SQL used for defaults
like sequences, etc., even if no unicode idents are used
since identifier preparer may return a cached unicode
identifier.

17 years agodocstring fix
Mike Bayer [Wed, 30 Jan 2008 19:19:21 +0000 (19:19 +0000)] 
docstring fix

17 years ago- next release will be 0.4.3
Mike Bayer [Wed, 30 Jan 2008 17:35:20 +0000 (17:35 +0000)] 
- next release will be 0.4.3
- fixed merge() collection-doubling bug when merging
transient entities with backref'ed collections.
[ticket:961]
- merge(dont_load=True) does not accept transient
entities, this is in continuation with the fact that
merge(dont_load=True) does not accept any "dirty"
objects either.

17 years ago- "Passive defaults" and other "inline" defaults can now
Mike Bayer [Mon, 28 Jan 2008 23:15:40 +0000 (23:15 +0000)] 
- "Passive defaults" and other "inline" defaults can now
be loaded during a flush() call if needed; in particular,
this allows constructing relations() where a foreign key
column references a server-side-generated, non-primary-key
column. [ticket:954]

17 years ago- Added a simple @future test marker.
Jason Kirtland [Mon, 28 Jan 2008 19:58:39 +0000 (19:58 +0000)] 
- Added a simple @future test marker.

17 years ago- Fixed little think-o in fails_if
Jason Kirtland [Mon, 28 Jan 2008 19:52:04 +0000 (19:52 +0000)] 
- Fixed little think-o in fails_if

17 years ago- Fixed bug in polymorphic inheritance where incorrect
Mike Bayer [Sun, 27 Jan 2008 02:21:23 +0000 (02:21 +0000)] 
- Fixed bug in polymorphic inheritance where incorrect
exception is raised when base polymorphic_on
column does not correspond to any columns within
the local selectable of an inheriting mapper more
than one level deep

17 years agoencourage usage of union() and other composites as module-level
Mike Bayer [Fri, 25 Jan 2008 20:52:13 +0000 (20:52 +0000)] 
encourage usage of union() and other composites as module-level

17 years ago- added standalone "query" class attribute generated
Mike Bayer [Fri, 25 Jan 2008 18:16:12 +0000 (18:16 +0000)] 
- added standalone "query" class attribute generated
by a scoped_session.  This provides MyClass.query
without using Session.mapper.  Use via:

MyClass.query = Session.query_property()

17 years ago- Ignore jython debris
Jason Kirtland [Thu, 24 Jan 2008 19:08:22 +0000 (19:08 +0000)] 
- Ignore jython debris

17 years ago- Flipped join order of __radd__ on association proxied lists.
Jason Kirtland [Thu, 24 Jan 2008 01:12:46 +0000 (01:12 +0000)] 
- Flipped join order of __radd__ on association proxied lists.

17 years ago- IdentitySet binops no longer accept plain sets.
Jason Kirtland [Thu, 24 Jan 2008 01:00:41 +0000 (01:00 +0000)] 
- IdentitySet binops no longer accept plain sets.

17 years agoA little clarity tweak to r4093
Jason Kirtland [Thu, 24 Jan 2008 00:21:58 +0000 (00:21 +0000)] 
A little clarity tweak to r4093

17 years agoCorrected behavior of get_cls_kwargs and friends
Jason Kirtland [Thu, 24 Jan 2008 00:08:40 +0000 (00:08 +0000)] 
Corrected behavior of get_cls_kwargs and friends

17 years agoadded an intro for the code sample so that its not construed as a "synopsis"
Mike Bayer [Wed, 23 Jan 2008 20:00:53 +0000 (20:00 +0000)] 
added an intro for the code sample so that its not construed as a "synopsis"

17 years ago- query.join() can also accept tuples of attribute
Mike Bayer [Wed, 23 Jan 2008 19:20:49 +0000 (19:20 +0000)] 
- query.join() can also accept tuples of attribute
name/some selectable as arguments.  This allows
construction of joins *from* subclasses of a
polymorphic relation, i.e.:

query(Company).\
join(
  [('employees', people.join(engineer)), Engineer.name]
)

17 years agoAdded notes about 2.3 improvements
Jason Kirtland [Wed, 23 Jan 2008 18:26:50 +0000 (18:26 +0000)] 
Added notes about 2.3 improvements

17 years agoEdits
Jason Kirtland [Wed, 23 Jan 2008 18:20:26 +0000 (18:20 +0000)] 
Edits

17 years agowhups, args in wrong order
Mike Bayer [Wed, 23 Jan 2008 15:21:18 +0000 (15:21 +0000)] 
whups, args in wrong order

17 years agomore descriptive error message for m2m concurrency error
Mike Bayer [Wed, 23 Jan 2008 15:18:28 +0000 (15:18 +0000)] 
more descriptive error message for m2m concurrency error

17 years agomore capability added to reduce_columns
Mike Bayer [Wed, 23 Jan 2008 15:16:43 +0000 (15:16 +0000)] 
more capability added to reduce_columns

17 years ago- Migrated zoomark to profiling.function_call_count(), tightened up the numbers....
Jason Kirtland [Tue, 22 Jan 2008 22:43:04 +0000 (22:43 +0000)] 
- Migrated zoomark to profiling.function_call_count(), tightened up the numbers.  Is there variation by platform too?  Buildbots will tell...

17 years agorein in r3840 find and replace rampage
Jason Kirtland [Tue, 22 Jan 2008 21:32:51 +0000 (21:32 +0000)] 
rein in r3840 find and replace rampage

17 years ago- 2.3 fixup part three: 100% on postgres, mysql
Jason Kirtland [Tue, 22 Jan 2008 21:08:21 +0000 (21:08 +0000)] 
- 2.3 fixup part three: 100% on postgres, mysql

17 years ago- Removed some test bogosity
Jason Kirtland [Tue, 22 Jan 2008 19:42:12 +0000 (19:42 +0000)] 
- Removed some test bogosity

17 years ago- Cover 2.3 Decimal fallback
Jason Kirtland [Tue, 22 Jan 2008 18:06:46 +0000 (18:06 +0000)] 
- Cover 2.3 Decimal fallback

17 years ago- 2.3 fixup, part two: 100% passing for sqlite
Jason Kirtland [Mon, 21 Jan 2008 23:19:39 +0000 (23:19 +0000)] 
- 2.3 fixup, part two: 100% passing for sqlite
  - added 2.4-style binops to util.Set on 2.3
  - OrderedSets pickle on 2.3
  - more lib/sqlalchemy set vs Set corrections
  - fixed InstrumentedSet.discard for 2.3
  - set, sorted compatibility for test suite
- added testing.fails_if decorator

17 years agoclean up a little close() silliness
Mike Bayer [Sun, 20 Jan 2008 19:04:06 +0000 (19:04 +0000)] 
clean up a little close() silliness

17 years agofactor create_row_adapter into sql.util.row_adapter
Mike Bayer [Sun, 20 Jan 2008 05:06:55 +0000 (05:06 +0000)] 
factor create_row_adapter into sql.util.row_adapter

17 years agofurther clarification on transaction state
Mike Bayer [Sun, 20 Jan 2008 04:47:16 +0000 (04:47 +0000)] 
further clarification on transaction state

17 years agofix rollback behavior with transaction context manager and failed two phase transactions
Ants Aasma [Sun, 20 Jan 2008 04:31:53 +0000 (04:31 +0000)] 
fix rollback behavior with transaction context manager and failed two phase transactions

17 years agoexample of using try-catch to do transaction commit/rollback was wrong in the docs
Ants Aasma [Sun, 20 Jan 2008 03:39:43 +0000 (03:39 +0000)] 
example of using try-catch to do transaction commit/rollback was wrong in the docs

17 years ago- parent transactions weren't started on the connection when adding a connection...
Ants Aasma [Sun, 20 Jan 2008 03:22:00 +0000 (03:22 +0000)] 
- parent transactions weren't started on the connection when adding a connection to a nested session transaction.
- session.transaction now always refers to the innermost active transaction, even when commit/rollback are called directly on the session transaction object.
- when preparing a two-phase transaction fails on one connection all the connections are rolled back.
- two phase transactions can now be prepared.
- session.close() didn't close all transactions when nested transactions were used.
- rollback() previously erroneously set the current transaction directly to the parent of the transaction that could be rolled back to.
- autoflush for commit() wasn't flushing for simple subtransactions.

17 years ago- Restored 2.3 compat. in lib/sqlalchemy
Jason Kirtland [Sat, 19 Jan 2008 23:37:11 +0000 (23:37 +0000)] 
- Restored 2.3 compat. in lib/sqlalchemy
- Part one of test suite fixes to run on 2.3
  Lots of failures still around sets; sets.Set differs from __builtin__.set
  particularly in the binops. We depend on set extensively now and may need to
  provide a corrected sets.Set subclass on 2.3.

17 years ago- Added source transformation framework for non-2.4 parser implementations
Jason Kirtland [Sat, 19 Jan 2008 23:11:47 +0000 (23:11 +0000)] 
- Added source transformation framework for non-2.4 parser implementations
- test/clone.py can create and update (transformed) copies of the test suite
- Added Python 2.4 decorator -> 2.3 source transform

17 years ago- Oracle assembles the correct columns in the result set
Mike Bayer [Sat, 19 Jan 2008 20:11:29 +0000 (20:11 +0000)] 
- Oracle assembles the correct columns in the result set
  column mapping when generating a LIMIT/OFFSET subquery,
  allows columns to map properly to result sets even
  if long-name truncation kicks in [ticket:941]

17 years ago- some expression fixup:
Mike Bayer [Sat, 19 Jan 2008 18:36:52 +0000 (18:36 +0000)] 
- some expression fixup:
- the '.c.' attribute on a selectable now gets an
entry for every column expression in its columns
clause; previously, "unnamed" columns like functions
and CASE statements weren't getting put there.  Now
they will, using their full string representation
if no 'name' is available.
- The anonymous 'label' generated for otherwise
unlabeled functions and expressions now propagates
outwards at compile time for expressions like
select([select([func.foo()])])
- a CompositeSelect, i.e. any union(), union_all(),
intersect(), etc. now asserts that each selectable
contains the same number of columns.  This conforms
to the corresponding SQL requirement.
- building on the above ideas, CompositeSelects
now build up their ".c." collection based on
the names present in the first selectable only;
corresponding_column() now works fully for all
embedded selectables.

17 years agocheck for session is none, [ticket:940]
Mike Bayer [Thu, 17 Jan 2008 16:24:26 +0000 (16:24 +0000)] 
check for session is none, [ticket:940]