]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
18 years agoupdate example to work with new collections class
Mike Bayer [Thu, 28 Jun 2007 19:26:24 +0000 (19:26 +0000)] 
update example to work with new collections class

18 years agosome comparison fixes
Mike Bayer [Thu, 28 Jun 2007 18:25:39 +0000 (18:25 +0000)] 
some comparison fixes

18 years ago- Applied some safe collections optimizations and annotated a few key places
Jason Kirtland [Thu, 28 Jun 2007 17:42:34 +0000 (17:42 +0000)] 
- Applied some safe collections optimizations and annotated a few key places
  for future optimization.  As-is, masseagerload shows a speed up and overall
  function reduction compared to 0.4 pre-collections.
- Some minor cleanups in collections + related

18 years ago- Replaced collection api: The "InstrumentedList" proxy is replaced with
Jason Kirtland [Wed, 27 Jun 2007 21:08:14 +0000 (21:08 +0000)] 
- Replaced collection api: The "InstrumentedList" proxy is replaced with
  a proxy-free, decorator-based approach for user-space instrumentation and
  a "view" adapter for interaction with the user's collection within the orm.
  Fixes [ticket:213], [ticket:548], [ticket:563].
- This needs many more unit tests.  There is significant indirect coverage
  through association proxy, but direct tests are needed, specifically in
  the decorators and add/remove event firing.
- Collections are now instrumented via decorations rather than
  proxying.  You can now have collections that manage their own
  membership, and your class instance will be directly exposed on the
  relation property.  The changes are transparent for most users.
- InstrumentedList (as it was) is removed, and relation properties no
  longer have 'clear()', '.data', or any other added methods beyond those
  provided by the collection type.  You are free, of course, to add them
  to a custom class.
- __setitem__-like assignments now fire remove events for the existing
  value, if any.
- dict-likes used as collection classes no longer need to change __iter__
  semantics- itervalues() is used by default instead.  This is a backwards
  incompatible change.
- subclassing dict for a mapped collection is no longer needed in most cases.
  orm.collections provides canned implementations that key objects by a
  specified column or a custom function of your choice.
- collection assignment now requires a compatible type- assigning None
  to clear a collection or assinging a list to a dict collection will now
  raise an argument error.
- AttributeExtension moved to interfaces, and .delete is now .remove
  The event method signature has also been swapped around.

18 years agomerge from trunk fix for undetected disconnects for mysql (ticket #625), r2793
Ants Aasma [Wed, 27 Jun 2007 09:54:33 +0000 (09:54 +0000)] 
merge from trunk fix for undetected disconnects for mysql (ticket #625), r2793

18 years agomerge 2791 from trunk, fix for bad error message (ticket #607)
Ants Aasma [Tue, 26 Jun 2007 19:07:51 +0000 (19:07 +0000)] 
merge 2791 from trunk, fix for bad error message (ticket #607)

18 years agomerge compound select grouping patch from trunk (ticket #623)
Ants Aasma [Tue, 26 Jun 2007 18:31:57 +0000 (18:31 +0000)] 
merge compound select grouping patch from trunk (ticket #623)

18 years agomerge from trunk #624 fix, modulo operator escaping
Ants Aasma [Tue, 26 Jun 2007 16:38:16 +0000 (16:38 +0000)] 
merge from trunk #624 fix, modulo operator escaping

18 years agomerged between precedence from trunk ([2785])
Ants Aasma [Mon, 25 Jun 2007 19:20:53 +0000 (19:20 +0000)] 
merged between precedence from trunk ([2785])

18 years agomerged operator precedence fixes/tests IN fixes/tests from trunk r2782-r2783
Mike Bayer [Mon, 25 Jun 2007 17:22:14 +0000 (17:22 +0000)] 
merged operator precedence fixes/tests IN fixes/tests from trunk r2782-r2783

18 years agodocstring cleanup, removal of some ORM cruft
Mike Bayer [Mon, 25 Jun 2007 03:47:29 +0000 (03:47 +0000)] 
docstring cleanup, removal of some ORM cruft

18 years agomoved "clone" conditional blocks into separate copy_internals() method; was a
Mike Bayer [Mon, 25 Jun 2007 03:14:01 +0000 (03:14 +0000)] 
moved "clone" conditional blocks into separate copy_internals() method; was a
conflation of tasks having them in the same place like that.

18 years agoremoved ConnectionProvider. engines have a "pool" attribute now.
Mike Bayer [Sun, 24 Jun 2007 20:58:08 +0000 (20:58 +0000)] 
removed ConnectionProvider.  engines have a "pool" attribute now.

18 years agomerged trunk r2755-r2778
Mike Bayer [Sun, 24 Jun 2007 20:09:54 +0000 (20:09 +0000)] 
merged trunk r2755-r2778

18 years ago- fixed limit/offset compilation for postgres
Mike Bayer [Sun, 24 Jun 2007 20:00:44 +0000 (20:00 +0000)] 
- fixed  limit/offset compilation for postgres

18 years ago- merge of generative_sql branch
Mike Bayer [Sun, 24 Jun 2007 19:58:41 +0000 (19:58 +0000)] 
- merge of generative_sql branch
- copy_container() removed.  ClauseVisitor.traverse() now features "clone"
flag which allows traversal with copy-and-modify-in-place behavior
- select() objects copyable now [ticket:52] [ticket:569]
- improved support for custom column_property() attributes which
  feature correlated subqueries...work better with eager loading now.
- accept_visitor()  methods removed.  ClauseVisitor now genererates method
names based on class names, or an optional __visit_name__ attribute.  calls
regular visit_XXX methods as they exist, can optionally call an additional
"pre-descent" enter_XXX method to allow stack-based operations on traversals
- select() and union()'s now have "generative" behavior.  methods like
order_by() and group_by() return a *new* instance - the original instance
is left unchanged.  non-generative methods remain as well.
- the internals of select/union vastly simplified - all decision making
regarding "is subquery" and "correlation" pushed to SQL generation phase.
select() elements are now *never* mutated by their enclosing containers
or by any dialect's compilation process

18 years ago- Added missing orm import
Jason Kirtland [Fri, 22 Jun 2007 21:10:30 +0000 (21:10 +0000)] 
- Added missing orm import

18 years ago- expanded assignment test, ensure that re-assigning the value of
Jason Kirtland [Thu, 21 Jun 2007 21:01:04 +0000 (21:01 +0000)] 
- expanded assignment test, ensure that re-assigning the value of
  an association mutates the backing object (rather than a delete and
  create with new primary keys)

18 years ago- merged trunk r2730-r2755
Mike Bayer [Wed, 20 Jun 2007 22:53:03 +0000 (22:53 +0000)] 
- merged trunk r2730-r2755
- removed "clear_mapper()" method

18 years agoupdate changelog
Mike Bayer [Wed, 20 Jun 2007 22:09:51 +0000 (22:09 +0000)] 
update changelog

18 years agoadded a unit test to test PK "collapsing" as in [changeset:2636], to help illustrate...
Mike Bayer [Wed, 20 Jun 2007 21:59:38 +0000 (21:59 +0000)] 
added a unit test to test PK "collapsing" as in [changeset:2636], to help illustrate for [ticket:611]

18 years agofixed overly eager check for ClauseElement type in filter()
Mike Bayer [Wed, 20 Jun 2007 21:24:34 +0000 (21:24 +0000)] 
fixed overly eager check for ClauseElement type in filter()

18 years agofixed outerjoin() to use correct start point
Mike Bayer [Wed, 20 Jun 2007 21:17:28 +0000 (21:17 +0000)] 
fixed outerjoin() to use correct start point

18 years ago- finally figured out how to get setuptools version in, available
Mike Bayer [Tue, 19 Jun 2007 17:48:46 +0000 (17:48 +0000)] 
- finally figured out how to get setuptools version in, available
as sqlalchemy.__version__ [ticket:428]

18 years agofilter() checks for ClauseElement [ticket:535]
Mike Bayer [Sun, 17 Jun 2007 01:06:00 +0000 (01:06 +0000)] 
filter() checks for ClauseElement [ticket:535]

18 years ago- merged last_inserted_ids() fix from trunk [changeset:2743]
Mike Bayer [Sun, 17 Jun 2007 00:57:06 +0000 (00:57 +0000)] 
- merged last_inserted_ids() fix from trunk [changeset:2743]

18 years ago- Eh, dummy_threading trick didn't actually work for no-op'ing overflow.
Jason Kirtland [Sat, 16 Jun 2007 18:46:23 +0000 (18:46 +0000)] 
- Eh, dummy_threading trick didn't actually work for no-op'ing overflow.
  Works now, but less readable.
- Shaped the script from ticket #608 into a test case

18 years ago- Put a mutex around the QueuePool's overflow handlings
Jason Kirtland [Sat, 16 Jun 2007 15:51:13 +0000 (15:51 +0000)] 
- Put a mutex around the QueuePool's overflow handlings

18 years ago- Added testbase.Table and testbase.Column, interceptors that can set up
Jason Kirtland [Fri, 15 Jun 2007 22:35:53 +0000 (22:35 +0000)] 
- Added testbase.Table and testbase.Column, interceptors that can set up
  test-run- and dialect-specific options on those objects
  All tests re-pointed to go through the interceptors
- Removed mysql_engine= from table declarations, replaced with a general
  flag indicating storage requirements
- Added ability to choose a global MySQL storage engine for all tests
  --mysql-engine=<whatever>
  If none is specified, tests use the old db-default/InnoDB behavior
- Added ability to append arbitrary table creation params
  --table-option=KEY=VALUE
  For MySQL 3, use this to set mysql_type instead of --mysql-engine
- Removed a couple dead test modules

18 years agounit test fix
Mike Bayer [Fri, 15 Jun 2007 16:53:00 +0000 (16:53 +0000)] 
unit test fix

18 years ago- added "explcit" create/drop/execute support for sequences
Mike Bayer [Fri, 15 Jun 2007 16:51:25 +0000 (16:51 +0000)] 
- added "explcit" create/drop/execute support for sequences
(i.e. you can pass a "connectable" to each of those methods
on Sequence)
- checkfirst flag propigates for sequence creates/drops

18 years ago- merged trunk 2629-2730
Mike Bayer [Thu, 14 Jun 2007 18:37:20 +0000 (18:37 +0000)] 
- merged trunk 2629-2730
- fixes to is_select() which is now an important method
- mysql unit tests fixes

18 years ago - result sets from CRUD operations close their underlying cursor immediately.
Mike Bayer [Thu, 14 Jun 2007 18:17:05 +0000 (18:17 +0000)] 
 - result sets from CRUD operations close their underlying cursor immediately.
    will also autoclose the connection if defined for the operation; this
    allows more efficient usage of connections for successive CRUD operations
    with less chance of "dangling connections".

18 years agofixed up really old tests to work without legacy engine syntax
Mike Bayer [Thu, 14 Jun 2007 04:14:19 +0000 (04:14 +0000)] 
fixed up really old tests to work without legacy engine syntax

18 years agor/m psycopg1 support
Jonathan Ellis [Tue, 12 Jun 2007 20:44:13 +0000 (20:44 +0000)] 
r/m psycopg1 support

18 years agoadd explanation of prefab db connections
Jonathan Ellis [Tue, 12 Jun 2007 20:43:43 +0000 (20:43 +0000)] 
add explanation of prefab db connections

18 years agofix apparent typo
Jonathan Ellis [Tue, 12 Jun 2007 20:39:48 +0000 (20:39 +0000)] 
fix apparent typo

18 years agomerge 2684-2686 from trunk
Jonathan Ellis [Tue, 12 Jun 2007 20:22:57 +0000 (20:22 +0000)] 
merge 2684-2686 from trunk

18 years ago- Faster FOR UPDATE tests
Jason Kirtland [Tue, 12 Jun 2007 01:58:26 +0000 (01:58 +0000)] 
- Faster FOR UPDATE tests

18 years ago- Added tests for SELECT ... FOR UPDATE
Jason Kirtland [Tue, 12 Jun 2007 00:45:23 +0000 (00:45 +0000)] 
- Added tests for SELECT ... FOR UPDATE
- Added postgres support for FOR UPDATE NOWAIT via select(for_update='nowait')

18 years ago - result.last_inserted_ids() should return a list that is identically
Mike Bayer [Mon, 11 Jun 2007 22:39:03 +0000 (22:39 +0000)] 
  - result.last_inserted_ids() should return a list that is identically
    sized to the primary key constraint of the table.  values that were
    "passively" created and not available via cursor.lastrowid will be None.

18 years ago- MetaData loses 'name' attribute
Mike Bayer [Mon, 11 Jun 2007 19:48:36 +0000 (19:48 +0000)] 
- MetaData loses 'name' attribute
- no more global_connect()

18 years agoadded separate test for metadata
Mike Bayer [Mon, 11 Jun 2007 19:31:19 +0000 (19:31 +0000)] 
added separate test for metadata
some cleanup to query.py unit test
added settable "engine" property on MetaData

18 years ago- added "aliased joins" feature to query.filter_by()
Mike Bayer [Sun, 10 Jun 2007 23:53:03 +0000 (23:53 +0000)] 
- added "aliased joins" feature to query.filter_by()
- further work on modernizing/cleaning up unit tests

18 years agomerged StaticPool implementation
Mike Bayer [Sat, 9 Jun 2007 21:44:36 +0000 (21:44 +0000)] 
merged StaticPool implementation

18 years agoversion number
Mike Bayer [Sat, 9 Jun 2007 17:50:24 +0000 (17:50 +0000)] 
version number

18 years agoadded test for testing against "outerjoin"
Mike Bayer [Fri, 8 Jun 2007 15:08:30 +0000 (15:08 +0000)] 
added test for testing against "outerjoin"

18 years ago- added a third layer of inheritance to polymorph test
Mike Bayer [Fri, 8 Jun 2007 02:12:36 +0000 (02:12 +0000)] 
- added a third layer of inheritance to polymorph test
- added some extra logic to mapper to try to convert a "foreign key" holding PK-col
into a non-FK col
- apparently, polymorphic loading can now be achieved with LEFT OUTER JOINs quite easily (i.e. no UNIONs).
this needs to be studied further (i.e. why was I making everyone use UNION ALL all this time)

18 years ago- fixed bug where selectable.corresponding_column(selectable.c.col)
Mike Bayer [Wed, 6 Jun 2007 23:39:25 +0000 (23:39 +0000)] 
- fixed bug where selectable.corresponding_column(selectable.c.col)
would not return selectable.c.col, if the selectable is a join
of a table and another join involving the same table.  messed
up ORM decision making [ticket:593]
- removed is_natural_case function from ANSIIdentifierPreparer

18 years ago- moved another chunk of mapper.py tests to query.py test suite
Mike Bayer [Tue, 5 Jun 2007 23:12:03 +0000 (23:12 +0000)] 
- moved another chunk of mapper.py tests to query.py test suite
- got all tests/extensions working with new APIs
- axed proxyengine until further notice
- SelectResults folds into a 10 line wrapper for Query, loses join_to() (use join())
- test cleanup

18 years agoQuery refactoring is complete. just needs filter_by([args], **kwargs) feature and...
Mike Bayer [Tue, 5 Jun 2007 20:12:33 +0000 (20:12 +0000)] 
Query refactoring is complete.  just needs filter_by([args], **kwargs) feature and it should then
comply with the 0.4 spec

18 years ago- added 'fields' to reserved words [ticket:590]
Mike Bayer [Tue, 5 Jun 2007 19:20:08 +0000 (19:20 +0000)] 
- added 'fields' to reserved words [ticket:590]

18 years ago- long-identifier detection fixed to use > rather than >= for
Mike Bayer [Tue, 5 Jun 2007 19:16:35 +0000 (19:16 +0000)] 
- long-identifier detection fixed to use > rather than >= for
max ident length [ticket:589]
- reformat changelog

18 years agomore paring down...
Mike Bayer [Tue, 5 Jun 2007 00:50:22 +0000 (00:50 +0000)] 
more paring down...

18 years agorefactoring step 2. all deprecated functions now express their functionality
Mike Bayer [Mon, 4 Jun 2007 23:50:22 +0000 (23:50 +0000)] 
refactoring step 2.  all deprecated functions now express their functionality
in terms of generative behavior.  also the thing will run like crap right now until
the next refactor stage...stay tuned

18 years agomigrating all the "deprecated" methods away from the current methods.
Mike Bayer [Mon, 4 Jun 2007 20:58:23 +0000 (20:58 +0000)] 
migrating all the "deprecated" methods away from the current methods.
step two will be to change the deprecated methods to all express their functionality (primarily) in
 terms of the non-deprecated methods.

18 years ago- added all(), first(), and one()
Mike Bayer [Mon, 4 Jun 2007 18:14:59 +0000 (18:14 +0000)] 
- added all(), first(), and one()
- created new test framework for query.  migrating old test/orm/mapper.py tests over to new query.py

18 years agojoin() will check existing objects in the FROM clause and not re-join to one which...
Mike Bayer [Mon, 4 Jun 2007 15:20:42 +0000 (15:20 +0000)] 
join() will check existing objects in the FROM clause and not re-join to one which is already present

18 years ago- interfaces lib in docstrings
Mike Bayer [Mon, 4 Jun 2007 15:10:34 +0000 (15:10 +0000)] 
- interfaces lib in docstrings
- query.join() resets the joinpoint
- added filter(), filter_by() to assignmapper

18 years ago- removed cascade_mappers(). long overdue.
Mike Bayer [Sat, 2 Jun 2007 19:06:13 +0000 (19:06 +0000)] 
- removed cascade_mappers().  long overdue.
- removed sqlalchemy.orm from sqlalchemy.__init__ namespace.  still
needs updates in documentation, tutorial pages
- moved MapperExtension to interfaces package
- moved ExtensionCarrier to orm.util

18 years agoadded a self-creating dict that takes advantage of 2.5's __missing__, implemented in
Mike Bayer [Thu, 31 May 2007 23:23:14 +0000 (23:23 +0000)] 
added a self-creating dict that takes advantage of 2.5's __missing__, implemented in
ResultProxy, [ticket:582]

18 years ago- added undefer_group() MapperOption, sets a set of "deferred" columns joined by a
Mike Bayer [Thu, 31 May 2007 22:04:21 +0000 (22:04 +0000)] 
- added undefer_group() MapperOption, sets a set of "deferred" columns joined by a
"group" to load as "undeferred".

18 years agoAdded util.defaultdict for ticket #582
Jason Kirtland [Thu, 31 May 2007 19:13:23 +0000 (19:13 +0000)] 
Added util.defaultdict for ticket #582

18 years agoremove func call for getting at result proxy dialect. func call count drops below...
Mike Bayer [Thu, 31 May 2007 17:19:22 +0000 (17:19 +0000)] 
remove func call for getting at result proxy dialect.  func call count drops below 60K for masseagerload !

18 years agoResultProxy pre-caches the dialect_impl()s for each TypeEngine, saving the
Mike Bayer [Thu, 31 May 2007 16:47:48 +0000 (16:47 +0000)] 
ResultProxy pre-caches the dialect_impl()s for each TypeEngine, saving the
method calls later.  knocks 5000 function calls off the masseagerload.py test.

18 years agoself-referential refs in this test work just fine
Mike Bayer [Sun, 27 May 2007 20:53:32 +0000 (20:53 +0000)] 
self-referential refs in this test work just fine

18 years ago- most of the __init__ decoration has been removed from mapper, save for
Mike Bayer [Sun, 27 May 2007 03:20:11 +0000 (03:20 +0000)] 
- most of the __init__ decoration has been removed from mapper, save for
that the mappers all get compiled when an instance of a mapped class is first constructed.
the SessionContextExt extension gets all the "add object to the session" logic now and the
_sa_session and _sa_entity_name arguments only apply to when the SessionContextExt is in use.
Some extra methods to MapperExtension to support __init__ decoration.
- assignmapper loses "join_to", gains "join".  id like to replace all those methods with just "query"
but i think they are too popular, so it should probably get filter(), filter_by() also.

18 years ago- merged "find the equivalent columns" logic together (although both methodologies...
Mike Bayer [Sat, 26 May 2007 23:21:56 +0000 (23:21 +0000)] 
- merged "find the equivalent columns" logic together (although both methodologies are needed....)
- uniqueappender has to use a set to handle staggered joins

18 years agoi just re-took 7th grade, helped a million
Mike Bayer [Sat, 26 May 2007 22:20:29 +0000 (22:20 +0000)] 
i just re-took 7th grade, helped a million

18 years agomore speed improvements, built hotshot prof into masseagerload test
Mike Bayer [Sat, 26 May 2007 21:27:12 +0000 (21:27 +0000)] 
more speed improvements, built hotshot prof into masseagerload test

18 years ago- merged trunk r2653
Mike Bayer [Sat, 26 May 2007 20:10:06 +0000 (20:10 +0000)] 
- merged trunk r2653
- small orm fixes

18 years agofurther minute speedups
Mike Bayer [Sat, 26 May 2007 17:33:53 +0000 (17:33 +0000)] 
further minute speedups

18 years agoattempting to cut down on function call overhead
Mike Bayer [Sat, 26 May 2007 16:56:11 +0000 (16:56 +0000)] 
attempting to cut down on function call overhead

18 years agosome change to populate_instance etc., allows poly secondary load to re-use popoulate...
Mike Bayer [Sat, 26 May 2007 16:21:39 +0000 (16:21 +0000)] 
some change to populate_instance etc., allows poly secondary load to re-use popoulate_instance

18 years ago- refactor ! MapperProperty now has create_row_processor() method, returns
Mike Bayer [Sat, 26 May 2007 00:21:11 +0000 (00:21 +0000)] 
- refactor !  MapperProperty now has create_row_processor() method, returns
a tuple of (rowprocessor, post_processor) functions.  this is called
once per mapper per result set, given just one row (usually the first row)
in the result set, so that all MapperProperty objects can make decisions based on that row
which get saved for all successive rows.
essentially it allows lots of decision making and pre-calculations to happen per-result
instead of per-row, and decreases how much state needs to be placed in SelectContext.attributes
since the functions are closures.

18 years ago- added 'fetchmode' capability to deferred polymorphic loading.
Mike Bayer [Wed, 23 May 2007 00:12:01 +0000 (00:12 +0000)] 
- added 'fetchmode' capability to deferred polymorphic loading.
can load immediately via second select or via deferred columns.
needs work to reduce complexity and possibly to improve upon unnecessary work
performed by ColumnLoader objects hitting lots of non-existent columns
- would like to add post_exec() step to MapperProperty...but need to devise some way
such that MapperProperty instances can register themselves in the SelectContext as
requiring post_exec....otherwise we add huge method call overhead (and there is too
much already)
- fix to deferred loading so that the attributes loaded by "group" deferred loading
get proper CommittedState
- some refactoring to attributes to support setting attributes as committed

18 years ago- redefined how the mapper determines primary keys. this is to help with the new...
Mike Bayer [Mon, 21 May 2007 00:22:30 +0000 (00:22 +0000)] 
- redefined how the mapper determines primary keys.  this is to help with the new deferred
polymorphic loading.  it takes stock of all the primary keys of all of its tables in all cases,
including when a custom primary key is sent, to maximize its chances of being able to INSERT into each table.
then, whether or not the custom primary key is sent, it gathers together columns which are equivalent via
a foreign key relationship to each other or via a common parent column, similarly to how Join does it.
this continues along the path first set up from [ticket:185].  so primary keys of mappers are always
going to be "minimized" as far as number of columns.  finally, the list of pk cols is normalized to the
mapped table.  this becomes the mapper's "primary key" and is distinct from all the per-table pk column
collections.
- added "deferred poly load" versions to magazine test, cut down on table recreates in polymorph test.

18 years ago- factored some fixes from trunk to lazyloader use_get, logging
Mike Bayer [Sun, 20 May 2007 19:35:50 +0000 (19:35 +0000)] 
- factored some fixes from trunk to lazyloader use_get, logging
- deferred inheritance loading: polymorphic mappers can be constructed *without*
a select_table argument.  inheriting mappers whose tables were not
represented in the initial load will issue a second SQL query immediately,
once per instance (i.e. not very efficient for large lists),
in order to load the remaining columns.

18 years agoseparate package for inheritance tests, renamed files
Mike Bayer [Sun, 20 May 2007 16:13:53 +0000 (16:13 +0000)] 
separate package for inheritance tests, renamed files

18 years ago0.4 dev branch
Mike Bayer [Sun, 20 May 2007 15:49:19 +0000 (15:49 +0000)] 
0.4 dev branch

18 years ago- removed "no group by's in a select thats part of a UNION"
Mike Bayer [Fri, 18 May 2007 19:01:47 +0000 (19:01 +0000)] 
- removed "no group by's in a select thats part of a UNION"
restriction [ticket:578]

18 years agocorrect typo
Gaëtan de Menten [Fri, 18 May 2007 18:26:46 +0000 (18:26 +0000)] 
correct typo

18 years ago- the "primary_key" argument to mapper() is propigated to the "polymorphic"
Mike Bayer [Thu, 17 May 2007 22:33:52 +0000 (22:33 +0000)] 
- the "primary_key" argument to mapper() is propigated to the "polymorphic"
mapper.  primary key columns in this list get normalized to that of the mapper's
local table.

18 years ago- fix to select_by(<propname>=<object instance>) -style joins in conjunction
Mike Bayer [Thu, 17 May 2007 15:11:34 +0000 (15:11 +0000)] 
- fix to select_by(<propname>=<object instance>) -style joins in conjunction
with many-to-many relationships, bug introduced in r2556
- the "reverse_direction" flag in _create_lazy_clause works correctly for a many-to-many
relationship (i.e. the reverse is on which clause, not which column in the clause, in the
case of m2m)

18 years agoadded test for "assign a list of objects", ensure cascade/persistence functions
Mike Bayer [Thu, 17 May 2007 14:43:19 +0000 (14:43 +0000)] 
added test for "assign a list of objects", ensure cascade/persistence functions

18 years agofixed LoggingClauseVisitor
Mike Bayer [Tue, 15 May 2007 20:46:37 +0000 (20:46 +0000)] 
fixed LoggingClauseVisitor

18 years agorestored outerjoin test
Mike Bayer [Tue, 15 May 2007 16:51:40 +0000 (16:51 +0000)] 
restored outerjoin test

18 years ago- fix to polymorphic query which allows the original polymorphic_union
Mike Bayer [Tue, 15 May 2007 16:43:26 +0000 (16:43 +0000)] 
- fix to polymorphic query which allows the original polymorphic_union
to be embedded into a correlated subquery [ticket:577]

18 years ago- parenthesis are applied to clauses via a new _Grouping construct.
Mike Bayer [Mon, 14 May 2007 22:25:36 +0000 (22:25 +0000)] 
- parenthesis are applied to clauses via a new _Grouping construct.
uses operator precedence to more intelligently apply parenthesis
to clauses, provides cleaner nesting of clauses (doesnt mutate
clauses placed in other clauses, i.e. no 'parens' flag)
- added 'modifier' keyword, works like func.<foo> except does not
add parenthesis.  e.g. select([modifier.DISTINCT(...)]) etc.

18 years ago- _Label propigates "_hide_froms()" so that scalar selects
Mike Bayer [Fri, 11 May 2007 00:21:29 +0000 (00:21 +0000)] 
- _Label propigates "_hide_froms()" so that scalar selects
behave more properly with regards to FROM clause #574

18 years agopropigated detach() and invalidate() methods to Connection.
Mike Bayer [Thu, 10 May 2007 15:56:31 +0000 (15:56 +0000)] 
propigated detach() and invalidate() methods to Connection.

18 years ago- Connections can be detached from their pool, closing on dereference instead of...
Jason Kirtland [Wed, 9 May 2007 22:39:50 +0000 (22:39 +0000)] 
- Connections can be detached from their pool, closing on dereference instead of returning to the pool for reuse

18 years ago- set max identifier length to 31
Mike Bayer [Tue, 8 May 2007 17:55:41 +0000 (17:55 +0000)] 
- set max identifier length to 31

18 years ago- fix to long name generation when using oid_column as an order by
Mike Bayer [Mon, 7 May 2007 20:29:26 +0000 (20:29 +0000)] 
- fix to long name generation when using oid_column as an order by
(oids used heavily in mapper queries)

18 years ago- session.get() and session.load() propigate **kwargs through to query
Mike Bayer [Mon, 7 May 2007 00:40:41 +0000 (00:40 +0000)] 
- session.get() and session.load() propigate **kwargs through to query

18 years ago- many-to-many relationships properly set the type of bind params
Mike Bayer [Fri, 4 May 2007 18:27:12 +0000 (18:27 +0000)] 
- many-to-many relationships properly set the type of bind params
for delete operations on the association table
- many-to-many relationships check that the number of rows deleted
from the association table by a delete operation matches the expected
results

18 years ago- shored up DBAPI descriptions
Mike Bayer [Fri, 4 May 2007 14:52:02 +0000 (14:52 +0000)] 
- shored up DBAPI descriptions
- added link to select() docs in sqlconstruction

18 years agoclarifying some cascade-based unit tests, adding a little more coverage,
Mike Bayer [Fri, 4 May 2007 01:54:34 +0000 (01:54 +0000)] 
clarifying some cascade-based unit tests, adding a little more coverage,
and trying to remove unneeded parts of dependency.py cascades.
also de-emphasizing the whole session.flush([oneobject]) thing since i dont really
agree it should be supported

18 years ago- "delete-orphan" no longer implies "delete". ongoing effort to
Mike Bayer [Thu, 3 May 2007 23:32:11 +0000 (23:32 +0000)] 
- "delete-orphan" no longer implies "delete". ongoing effort to
separate the behavior of these two operations.

18 years ago- _Label class overrides compare_self to return its ultimate object.
Mike Bayer [Thu, 3 May 2007 22:31:52 +0000 (22:31 +0000)] 
- _Label class overrides compare_self to return its ultimate object.
meaning, if you say someexpr.label('foo') == 5, it produces
the correct "someexpr == 5".