]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
17 years ago- some clarifications and fixes to merge(instance, dont_load=True).
Mike Bayer [Fri, 23 Nov 2007 05:24:32 +0000 (05:24 +0000)] 
- some clarifications and fixes to merge(instance, dont_load=True).
fixed bug where lazy loaders were getting disabled on returned instances.
Also, we currently do not support merging an instance which has uncommitted
changes on it, in the case that dont_load=True is used....this will
now raise an error.  This is due to complexities in merging the
"committed state" of the given instance to correctly correspond to the
newly copied instance.  Since the use case for dont_load=True is
caching, the given instances shouldn't have any uncommitted changes on them
anyway.

17 years agoTypo fix
Jason Kirtland [Tue, 20 Nov 2007 18:32:01 +0000 (18:32 +0000)] 
Typo fix

17 years ago- clarified the error message which occurs when you try to update()
Mike Bayer [Tue, 20 Nov 2007 15:55:36 +0000 (15:55 +0000)] 
- clarified the error message which occurs when you try to update()
an instance with the same identity key as an instance already present
in the session.
- opened up the recursive checks in session.merge() a little bit

17 years ago- fixed endless loop issue when using lazy="dynamic" on both
Mike Bayer [Mon, 19 Nov 2007 08:30:52 +0000 (08:30 +0000)] 
- fixed endless loop issue when using lazy="dynamic" on both
sides of a bi-directional relationship [ticket:872]

17 years agoadd a polymorphic get() test
Mike Bayer [Mon, 19 Nov 2007 04:08:48 +0000 (04:08 +0000)] 
add a polymorphic get() test

17 years agodoctest fixups rel_0_4_1
Mike Bayer [Sun, 18 Nov 2007 22:47:55 +0000 (22:47 +0000)] 
doctest fixups

17 years ago- added tests for [ticket:768]
Mike Bayer [Sun, 18 Nov 2007 22:35:19 +0000 (22:35 +0000)] 
- added tests for [ticket:768]

17 years ago- added op() operator to instrumented attributes; i.e.
Mike Bayer [Sun, 18 Nov 2007 22:19:05 +0000 (22:19 +0000)] 
- added op() operator to instrumented attributes; i.e.
User.name.op('ilike')('%somename%') [ticket:767]

17 years ago- MSSQL anonymous labels for selection of functions made deterministic
Mike Bayer [Sun, 18 Nov 2007 21:32:13 +0000 (21:32 +0000)] 
- MSSQL anonymous labels for selection of functions made deterministic
- propagate correct **kwargs through mssql methods

17 years agorepaired FB functions, [ticket:862]
Mike Bayer [Sun, 18 Nov 2007 21:20:32 +0000 (21:20 +0000)] 
repaired FB functions, [ticket:862]

17 years agoTests for mysql casts and a couple adjustments.
Jason Kirtland [Sun, 18 Nov 2007 20:44:20 +0000 (20:44 +0000)] 
Tests for mysql casts and a couple adjustments.

17 years ago- Clarified use of python's Decimal
Jason Kirtland [Sun, 18 Nov 2007 19:01:42 +0000 (19:01 +0000)] 
- Clarified use of python's Decimal

17 years agoMigrated Connection.properties to Connection.info ('info' is the new standard name...
Jason Kirtland [Sun, 18 Nov 2007 18:19:52 +0000 (18:19 +0000)] 
Migrated Connection.properties to Connection.info ('info' is the new standard name for user-writable property collections that came out of [ticket:573]).  'properties' is now an alias, will be removed in 0.5.

17 years ago- added a little more checking for garbage-collection dereferences in
Mike Bayer [Sun, 18 Nov 2007 17:31:09 +0000 (17:31 +0000)] 
- added a little more checking for garbage-collection dereferences in
InstanceState.__cleanup() to reduce "gc ignored" errors on app
shutdown

17 years agoadded some ORDER BYs to appease the ever picky postgres
Mike Bayer [Sun, 18 Nov 2007 17:17:04 +0000 (17:17 +0000)] 
added some ORDER BYs to appease the ever picky postgres

17 years ago- PickleType will compare using `==` when set up with mutable=False,
Mike Bayer [Sun, 18 Nov 2007 16:32:47 +0000 (16:32 +0000)] 
- PickleType will compare using `==` when set up with mutable=False,
and not the `is` operator.  To use `is` or any other comparator, send
in a custom comparison function using PickleType(comparator=my_custom_comparator).

17 years agotest cases were not fully testing contains_eager() with regards to [ticket:777],...
Mike Bayer [Sun, 18 Nov 2007 16:18:54 +0000 (16:18 +0000)] 
test cases were not fully testing contains_eager() with regards to [ticket:777], fixed contains_eager() for more than one level deep

17 years agosome wide zoomark ranges...
Mike Bayer [Sun, 18 Nov 2007 07:23:00 +0000 (07:23 +0000)] 
some wide zoomark ranges...

17 years agocut down a good deal of Join construction overhead
Mike Bayer [Sun, 18 Nov 2007 06:51:17 +0000 (06:51 +0000)] 
cut down a good deal of Join construction overhead

17 years agologging fixes
Mike Bayer [Sun, 18 Nov 2007 05:46:45 +0000 (05:46 +0000)] 
logging fixes

17 years agofixed both group-deferred attributes and expired attributes to not
Mike Bayer [Sun, 18 Nov 2007 05:16:52 +0000 (05:16 +0000)] 
fixed both group-deferred attributes and expired attributes to not
blow away changes made on attributes before the load takes place

17 years ago- oracle will now reflect "DATE" as an OracleDateTime column, not
Mike Bayer [Sun, 18 Nov 2007 02:44:15 +0000 (02:44 +0000)] 
- oracle will now reflect "DATE" as an OracleDateTime column, not
OracleDate

- added awareness of schema name in oracle table_names() function,
fixes metadata.reflect(schema='someschema') [ticket:847]

17 years agoremoved is_expired() method since the meaning of "expired" is per-attribute now
Mike Bayer [Sun, 18 Nov 2007 02:22:41 +0000 (02:22 +0000)] 
removed is_expired() method since the meaning of "expired" is per-attribute now

17 years agooops, print statements...
Mike Bayer [Sun, 18 Nov 2007 02:18:52 +0000 (02:18 +0000)] 
oops, print statements...

17 years agotypos
Mike Bayer [Sun, 18 Nov 2007 02:15:34 +0000 (02:15 +0000)] 
typos

17 years ago- session.refresh() and session.expire() now support an additional argument
Mike Bayer [Sun, 18 Nov 2007 02:13:56 +0000 (02:13 +0000)] 
- session.refresh() and session.expire() now support an additional argument
"attribute_names", a list of individual attribute keynames to be refreshed
or expired, allowing partial reloads of attributes on an already-loaded
instance.
- finally simplified the behavior of deferred attributes, deferred polymorphic
load, session.refresh, session.expire, mapper._postfetch to all use a single
codepath through query._get(), which now supports a list of individual attribute names
to be refreshed.  the *one* exception still remaining is mapper._get_poly_select_loader(),
which may stay that way since its inline with an already processing load operation.
otherwise, query._get() is the single place that all "load this instance's row" operation
proceeds.
- cleanup all over the place

17 years agofixed further issues with row translation [ticket:868]
Mike Bayer [Thu, 15 Nov 2007 15:10:05 +0000 (15:10 +0000)] 
fixed further issues with row translation [ticket:868]

17 years agoRestored Python 2.3 compatibility (in IdentitySet)
Jason Kirtland [Wed, 14 Nov 2007 22:46:14 +0000 (22:46 +0000)] 
Restored Python 2.3 compatibility (in IdentitySet)

17 years agomodified last commit; the eager loader only undefers columns from the primary mapped...
Mike Bayer [Wed, 14 Nov 2007 16:59:49 +0000 (16:59 +0000)] 
modified last commit; the eager loader only undefers columns from the primary mapped table.

17 years ago- DeferredColumnLoader checks row for column, if present sends it to
Mike Bayer [Wed, 14 Nov 2007 16:43:21 +0000 (16:43 +0000)] 
- DeferredColumnLoader checks row for column, if present sends it to
ColumnLoader to create the row processor
- eager loaders ensure deferred foreign key cols are present in the primary list of columns (and secondary...).  because eager loading with LIMIT/OFFSET doesn't re-join to the parent table anymore this is now necessary. [ticket:864]

17 years agoRemoved some distractions, ala r3770.
Jason Kirtland [Wed, 14 Nov 2007 01:26:50 +0000 (01:26 +0000)] 
Removed some distractions, ala r3770.

17 years agoRemoved some distractions.
Jason Kirtland [Wed, 14 Nov 2007 00:43:49 +0000 (00:43 +0000)] 
Removed some distractions.

17 years ago - added having() method to Query, applies HAVING to the generated statement
Mike Bayer [Tue, 13 Nov 2007 23:07:01 +0000 (23:07 +0000)] 
  - added having() method to Query, applies HAVING to the generated statement
    in the same way as filter() appends to the WHERE clause.

17 years agoMore column type __repr__ corrections.
Jason Kirtland [Tue, 13 Nov 2007 19:29:16 +0000 (19:29 +0000)] 
More column type __repr__ corrections.

17 years agoAbstractType __repr__ robustification.
Jason Kirtland [Tue, 13 Nov 2007 16:50:16 +0000 (16:50 +0000)] 
AbstractType __repr__ robustification.

17 years agoRemove usage of deprecated in_ syntax
Paul Johnston [Sun, 11 Nov 2007 18:23:59 +0000 (18:23 +0000)] 
Remove usage of deprecated in_ syntax

17 years ago- Pool listeners preserved on pool.recreate()
Jason Kirtland [Sat, 10 Nov 2007 19:31:06 +0000 (19:31 +0000)] 
- Pool listeners preserved on pool.recreate()
- Docstring rampage

17 years agoRemoved out of date identity map language (thanks, Jiten)
Jason Kirtland [Sat, 10 Nov 2007 15:47:19 +0000 (15:47 +0000)] 
Removed out of date identity map language (thanks, Jiten)

17 years agoadded self referential test
Mike Bayer [Sat, 10 Nov 2007 14:36:03 +0000 (14:36 +0000)] 
added self referential test

17 years ago - anonymous column expressions are automatically labeled.
Mike Bayer [Sat, 10 Nov 2007 03:02:16 +0000 (03:02 +0000)] 
  - anonymous column expressions are automatically labeled.
    e.g. select([x* 5]) produces "SELECT x * 5 AS anon_1".
    This allows the labelname to be present in the cursor.description
    which can then be appropriately matched to result-column processing
    rules. (we can't reliably use positional tracking for result-column
    matches since text() expressions may represent multiple columns).

  - operator overloading is now controlled by TypeEngine objects - the
    one built-in operator overload so far is String types overloading
    '+' to be the string concatenation operator.
    User-defined types can also define their own operator overloading
    by overriding the adapt_operator(self, op) method.

  - untyped bind parameters on the right side of a binary expression
    will be assigned the type of the left side of the operation, to better
    enable the appropriate bind parameter processing to take effect
    [ticket:819]

17 years ago- mysql float types now do an end run around the base class and respect precision...
Jason Kirtland [Fri, 9 Nov 2007 19:55:31 +0000 (19:55 +0000)] 
- mysql float types now do an end run around the base class and respect precision=None and length=None
- Added the mysteriously missing mysql cast support
- Added mysql REAL synonym for schema generation

17 years agomore searching for equiv columns
Mike Bayer [Fri, 9 Nov 2007 16:54:47 +0000 (16:54 +0000)] 
more searching for equiv columns

17 years ago- fixed error where Query.add_column() would not accept a class-bound
Mike Bayer [Fri, 9 Nov 2007 16:36:46 +0000 (16:36 +0000)] 
- fixed error where Query.add_column() would not accept a class-bound
attribute as an argument; Query also raises an error if an invalid
argument was sent to add_column() (at instances() time) [ticket:858]

17 years ago- query doesn't throw an error if you use distinct() and an order_by()
Mike Bayer [Fri, 9 Nov 2007 16:25:28 +0000 (16:25 +0000)] 
- query doesn't throw an error if you use distinct() and an order_by()
containing UnaryExpressions (or other) together [ticket:848]

17 years agoa tweak, still requiring test coverage, to add more "foreign key equivalents" to...
Mike Bayer [Fri, 9 Nov 2007 15:11:38 +0000 (15:11 +0000)] 
a tweak, still requiring test coverage, to add more "foreign key equivalents" to the equivalent_columns collection

17 years agomore changes to traverse-and-clone; a particular element will only be cloned once...
Mike Bayer [Thu, 8 Nov 2007 18:06:21 +0000 (18:06 +0000)] 
more changes to traverse-and-clone; a particular element will only be cloned once and is
then re-used.  the FROM calculation of a Select normalizes the list of hide_froms against all
previous incarnations of each FROM clause, using a tag attached from cloned clause to
previous.

17 years ago- identified some cases where Alias needs to be cloned; but still cant clone
Mike Bayer [Thu, 8 Nov 2007 00:26:23 +0000 (00:26 +0000)] 
- identified some cases where Alias needs to be cloned; but still cant clone
when its an alias of a Table; added some test coverage for one particular
case from the doctests
- fixed "having" example in doctests, updated eager load example

17 years agoupdated zoomark test_1a_populate callcounts. if the calls keep being removed like...
Ants Aasma [Thu, 8 Nov 2007 00:11:46 +0000 (00:11 +0000)] 
updated zoomark test_1a_populate callcounts. if the calls keep being removed like this then soon there will be none left.

17 years ago- fixed remainder of [ticket:853]
Mike Bayer [Wed, 7 Nov 2007 22:25:01 +0000 (22:25 +0000)] 
- fixed remainder of [ticket:853]
- bindparam 'shortname' is deprecated
- fixed testing.assert_compile() to actually generate bind param dict before asserting
- added bind param assertions to CRUDTest.test_update

17 years ago - <Engine|Connection>._execute_clauseelement becomes a public method
Mike Bayer [Wed, 7 Nov 2007 21:56:23 +0000 (21:56 +0000)] 
  - <Engine|Connection>._execute_clauseelement becomes a public method
    Connectable.execute_clauseelement

17 years ago - fix to compiled bind parameters to not mistakenly populate None
Mike Bayer [Wed, 7 Nov 2007 21:48:16 +0000 (21:48 +0000)] 
  - fix to compiled bind parameters to not mistakenly populate None
    [ticket:853]

17 years agofixed the previous TLTransaction checkin
Mike Bayer [Wed, 7 Nov 2007 21:46:48 +0000 (21:46 +0000)] 
fixed the previous TLTransaction checkin

17 years ago- fixed the close() method on Transaction when using strategy='threadlocal'
Mike Bayer [Wed, 7 Nov 2007 18:31:35 +0000 (18:31 +0000)] 
- fixed the close() method on Transaction when using strategy='threadlocal'

17 years agoadjusted "blank out primary key" rule to check for "allow_null_pks" on target mapper...
Mike Bayer [Wed, 7 Nov 2007 01:36:16 +0000 (01:36 +0000)] 
adjusted "blank out primary key" rule to check for "allow_null_pks" on target mapper.  this was revealed by
recent attributes.py change in r3695 that causes a value of "None" to register as part of the attribute history's
added_items() collection (i.e. since AttributeHistory compares against NO_VALUE instead of None).

17 years ago - fixed very hard-to-reproduce issue where by the FROM clause of Query
Mike Bayer [Wed, 7 Nov 2007 00:52:49 +0000 (00:52 +0000)] 
  - fixed very hard-to-reproduce issue where by the FROM clause of Query
    could get polluted by certain generative calls [ticket:852]

17 years agofixed/added coverage for list extension; [ticket:855]
Mike Bayer [Tue, 6 Nov 2007 19:19:30 +0000 (19:19 +0000)] 
fixed/added coverage for list extension; [ticket:855]

17 years agoAdded missing InternalError exception wrapper [ticket:854]
Jason Kirtland [Tue, 6 Nov 2007 18:21:28 +0000 (18:21 +0000)] 
Added missing InternalError exception wrapper [ticket:854]

17 years agoCreate a storage field for arbitrary info on tables/columns; ticket #573
Paul Johnston [Tue, 6 Nov 2007 10:41:40 +0000 (10:41 +0000)] 
Create a storage field for arbitrary info on tables/columns; ticket #573

17 years agoAdded note about EXT_CONTINUE to 3.x -> 4.x migration guide
Rick Morrison [Mon, 5 Nov 2007 22:52:21 +0000 (22:52 +0000)] 
Added note about EXT_CONTINUE to 3.x -> 4.x migration guide

17 years agoMigrated maxdb behavioral assumptions from unsupported to fails_on
Jason Kirtland [Mon, 5 Nov 2007 22:11:30 +0000 (22:11 +0000)] 
Migrated maxdb behavioral assumptions from unsupported to fails_on

17 years agoAdded testing.fails_on('db') failure-asserter.
Jason Kirtland [Mon, 5 Nov 2007 22:02:00 +0000 (22:02 +0000)] 
Added testing.fails_on('db') failure-asserter.

17 years ago- figured out a way to get previous oracle behavior back. the ROWID thing
Mike Bayer [Mon, 5 Nov 2007 19:38:01 +0000 (19:38 +0000)] 
- figured out a way to get previous oracle behavior back.  the ROWID thing
is still a pretty thorny issue.

17 years ago- adjustments to oracle ROWID logic...recent oid changes mean we have to
Mike Bayer [Mon, 5 Nov 2007 19:23:08 +0000 (19:23 +0000)] 
- adjustments to oracle ROWID logic...recent oid changes mean we have to
use "rowid" against the select itself (i.e. its just...'rowid', no table name).
seems to work OK but not sure if issues will arise
- fixes to oracle bind param stuff to account for recent removal of ClauseParameters object.

17 years ago- oid_column proxies more intelligently off of Select, CompoundSelect - fixes platfor...
Mike Bayer [Mon, 5 Nov 2007 18:30:30 +0000 (18:30 +0000)] 
- oid_column proxies more intelligently off of Select, CompoundSelect - fixes platform-affected bugs in missing the correct "oid" column
- locate_all_froms() is expensive; added an attribute-level cache for it
- put a huge warning on all select.append_XXX() methods stating that derived collections like locate_all_froms() may become invalid if
already initialized

17 years agoWhitespace cleanup
Jason Kirtland [Mon, 5 Nov 2007 17:26:17 +0000 (17:26 +0000)] 
Whitespace cleanup

17 years ago- base_columns on ColumnElement becomes a list; as usual, because columns in Compound...
Mike Bayer [Mon, 5 Nov 2007 17:18:21 +0000 (17:18 +0000)] 
- base_columns on ColumnElement becomes a list; as usual, because columns in CompoundSelects
may extend from more than one root column.
- keys_ok argument from corresponding_column() removed.  no more name-based matching of columns anywhere.
- DictDecorator is gone.  all row translators provided by orm.util.create_row_adapter().  Mapper
and contains_alias() cache the adapters on target mapper to avoid re-computation of adapters.
- create_row_adapter() accepts an "equivalent_columns" map as produced by Mapper, so that
row adapters can take join conditions into account (as usual again, to help with the CompoundSelects
produced by polymorphic_union).
- simplified TableSingleton to just provide lookup; moved all initialization into Table.
- the "properties" accessor on Mapper is removed; it now throws an informative
exception explaining the usage of mapper.get_property() and
mapper.iterate_properties

17 years ago- SHOW CREATE TABLE output is slightly different if msyql is in ANSI mode
Jason Kirtland [Mon, 5 Nov 2007 17:15:41 +0000 (17:15 +0000)] 
- SHOW CREATE TABLE output is slightly different if msyql is in ANSI mode

17 years ago- rewrote and simplified the system used to "target" columns across
Mike Bayer [Mon, 5 Nov 2007 00:59:19 +0000 (00:59 +0000)] 
- rewrote and simplified the system used to "target" columns across
selectable expressions.  On the SQL side this is represented by the
"corresponding_column()" method. This method is used heavily by the ORM
to "adapt" elements of an expression to similar, aliased expressions,
as well as to target result set columns originally bound to a
table or selectable to an aliased, "corresponding" expression.  The new
rewrite features completely consistent and accurate behavior.
- the "orig_set" and "distance" elements as well as all associated
fanfare are gone (hooray !)
- columns now have an optional "proxies" list which is a list of all
columns they are a "proxy" for; only CompoundSelect cols proxy more than one column
(just like before).  set operations are used to determine lineage.
- CompoundSelects (i.e. unions) only create one public-facing proxy column per
column name.  primary key collections come out with just one column per embedded
PK column.
- made the alias used by eager load limited subquery anonymous.

17 years ago - func. objects can be pickled/unpickled [ticket:844]
Mike Bayer [Sun, 4 Nov 2007 22:04:22 +0000 (22:04 +0000)] 
  - func. objects can be pickled/unpickled [ticket:844]

17 years ago- eager loading with LIMIT/OFFSET applied no longer adds the primary
Mike Bayer [Sat, 3 Nov 2007 23:17:34 +0000 (23:17 +0000)] 
- eager loading with LIMIT/OFFSET applied no longer adds the primary
table joined to a limited subquery of itself; the eager loads now
join directly to the subquery which also provides the primary table's
columns to the result set.  This eliminates a JOIN from all eager loads
with LIMIT/OFFSET.  [ticket:843]

17 years ago- rewritten ClauseAdapter merged from the eager_minus_join branch; this is a much...
Mike Bayer [Sat, 3 Nov 2007 22:13:17 +0000 (22:13 +0000)] 
- rewritten ClauseAdapter merged from the eager_minus_join branch; this is a much simpler
and "correct" version which will copy all elements exactly once, except for those which were
replaced with target elements.  It also can match a wider variety of target elements including
joins and selects on identity alone.

17 years agoAdded a profiled benchmark for orm attribute modification & flush
Jason Kirtland [Sat, 3 Nov 2007 22:03:18 +0000 (22:03 +0000)] 
Added a profiled benchmark for orm attribute modification & flush

17 years ago- Swap operator.eq for lambda x,y: x==y
Jason Kirtland [Sat, 3 Nov 2007 21:59:39 +0000 (21:59 +0000)] 
- Swap operator.eq for lambda x,y: x==y
- Some docstring re-formatting

17 years agoFormatting for 0.4.1
Jason Kirtland [Sat, 3 Nov 2007 20:53:37 +0000 (20:53 +0000)] 
Formatting for 0.4.1

17 years agoAdded some more notes for maxdb
Jason Kirtland [Sat, 3 Nov 2007 20:42:07 +0000 (20:42 +0000)] 
Added some more notes for maxdb

17 years ago- Removed equality, truth and hash() testing of mapped instances. Mapped
Jason Kirtland [Sat, 3 Nov 2007 20:23:26 +0000 (20:23 +0000)] 
- Removed equality, truth and hash() testing of mapped instances. Mapped
  classes can now implement arbitrary __eq__ and friends. [ticket:676]

17 years ago- removed "name" attribute from FromClause, Join, Select, CompoundSelect. its needless
Mike Bayer [Sat, 3 Nov 2007 20:12:59 +0000 (20:12 +0000)] 
- removed "name" attribute from FromClause, Join, Select, CompoundSelect.  its needless
and led to some very strange anonymous label names
- removed what was apparently cruft in some column-targeting code

17 years agoadded small clarification on single-table inheritance mapper def
Rick Morrison [Sat, 3 Nov 2007 16:11:41 +0000 (16:11 +0000)] 
added small clarification on single-table inheritance mapper def

17 years agodoc updates for save_on_init=False, merge(...dont_save=True)
Mike Bayer [Fri, 2 Nov 2007 21:02:22 +0000 (21:02 +0000)] 
doc updates for save_on_init=False, merge(...dont_save=True)

17 years ago- extra merge test
Mike Bayer [Fri, 2 Nov 2007 18:05:06 +0000 (18:05 +0000)] 
- extra merge test
- merge with dont_load also propagates _state.modified

17 years ago- merge() includes a keyword argument "dont_load=True". setting this flag will cause
Mike Bayer [Fri, 2 Nov 2007 17:58:20 +0000 (17:58 +0000)] 
- merge() includes a keyword argument "dont_load=True".  setting this flag will cause
the merge operation to not load any data from the database in response to incoming
detached objects, and will accept the incoming detached object as though it were
already present in that session.  Use this to merge detached objects from external
caching systems into the session.

17 years agoMore improvements to testlib's mapper decorator
Jason Kirtland [Fri, 2 Nov 2007 00:27:40 +0000 (00:27 +0000)] 
More improvements to testlib's mapper decorator

17 years agoTweaks for assert_unordered_result
Jason Kirtland [Thu, 1 Nov 2007 23:13:30 +0000 (23:13 +0000)] 
Tweaks for assert_unordered_result

17 years agoAdded AssertMixin.assert_unordered_result
Jason Kirtland [Thu, 1 Nov 2007 20:59:30 +0000 (20:59 +0000)] 
Added AssertMixin.assert_unordered_result

17 years ago- session checks more carefully when determining "object X already in another session";
Mike Bayer [Thu, 1 Nov 2007 20:12:36 +0000 (20:12 +0000)] 
- session checks more carefully when determining "object X already in another session";
e.g. if you pickle a series of objects and unpickle (i.e. as in a Pylons HTTP session
or similar), they can go into a new session without any conflict
- added stricter checks around session.delete() similar to update()
- shored up some old "validate" stuff in session/uow

17 years agoAdded rowset() testing helper.
Jason Kirtland [Thu, 1 Nov 2007 19:40:08 +0000 (19:40 +0000)] 
Added rowset() testing helper.

17 years agoFixed truth-evaluation of mapped objects (part of [ticket:676]
Jason Kirtland [Thu, 1 Nov 2007 16:36:50 +0000 (16:36 +0000)] 
Fixed truth-evaluation of mapped objects (part of [ticket:676]

17 years ago- merged factor_down_bindparams branch.
Mike Bayer [Thu, 1 Nov 2007 03:58:21 +0000 (03:58 +0000)] 
- merged factor_down_bindparams branch.
- removed ClauseParameters object; compiled.params returns a regular dictionary
  now, as well as result.last_inserted_params()/last_updated_params().
- various code trimming, method removals.

17 years agoAdded command line options to add tripwires for __hash__, __eq__ and __nonzero__...
Jason Kirtland [Wed, 31 Oct 2007 23:49:09 +0000 (23:49 +0000)] 
Added command line options to add tripwires for __hash__, __eq__ and __nonzero__ on mapped classes.

17 years ago- A more efficient IdentitySet
Jason Kirtland [Wed, 31 Oct 2007 19:53:27 +0000 (19:53 +0000)] 
- A more efficient IdentitySet

17 years ago- split ScalarInstrumentedAttribute into a "scalar" and an "object" version.
Mike Bayer [Wed, 31 Oct 2007 19:11:22 +0000 (19:11 +0000)] 
- split ScalarInstrumentedAttribute into a "scalar" and an "object" version.
The "object" version loads the existing value on set/del, fires events,
 and handles trackparent operations; the "scalar" version does not.
- column loaders now use the "scalar" version of InstrumentedAttribute, so that
event handlers etc. don't fire off for regular column attribute operations.
- some adjustments to AttributeHistory to work properly for non-loaded attributes
- deferred column attributes no longer trigger a load operation when the
attribute is assigned to.  in those cases, the newly assigned
value will be present in the flushes' UPDATE statement unconditionally.

17 years agodont call up new session unless save_on_init
Mike Bayer [Wed, 31 Oct 2007 17:15:30 +0000 (17:15 +0000)] 
dont call up new session unless save_on_init

17 years ago- also added proxying of save_or_update to scoped sessions.
Ants Aasma [Wed, 31 Oct 2007 16:30:06 +0000 (16:30 +0000)] 
- also added proxying of save_or_update to scoped sessions.
- session.update() raises an error when updating an instance that is already in the session with a different identity
- adjusted zoomarks lower limits so I can get a nice clean run

17 years agoadded REAL to reflection list
Mike Bayer [Wed, 31 Oct 2007 15:52:33 +0000 (15:52 +0000)] 
added REAL to reflection list

17 years agoAdded proxying of __contains__ and __iter__ methods for scoped sessions
Ants Aasma [Wed, 31 Oct 2007 12:14:22 +0000 (12:14 +0000)] 
Added proxying of __contains__ and __iter__ methods for scoped sessions

17 years agoFixup sp_columns call
Paul Johnston [Wed, 31 Oct 2007 10:48:30 +0000 (10:48 +0000)] 
Fixup sp_columns call

17 years agoFixed a truncation error when re-assigning a subset of a collection
Jason Kirtland [Wed, 31 Oct 2007 09:21:22 +0000 (09:21 +0000)] 
Fixed a truncation error when re-assigning a subset of a collection
(obj.relation = obj.relation[1:]) [ticket:834]

17 years agoAdded util.IdentitySet to support [ticket:676] and [ticket:834]
Jason Kirtland [Wed, 31 Oct 2007 09:13:12 +0000 (09:13 +0000)] 
Added util.IdentitySet to support [ticket:676] and [ticket:834]

17 years agoFormatting tweaks.
Jason Kirtland [Wed, 31 Oct 2007 05:44:17 +0000 (05:44 +0000)] 
Formatting tweaks.

17 years ago- Removed unused util.hash()
Jason Kirtland [Wed, 31 Oct 2007 03:25:04 +0000 (03:25 +0000)] 
- Removed unused util.hash()
- Fixed __hash__ for association proxy collections