]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
17 years agofixed test for #1175
Mike Bayer [Sun, 5 Oct 2008 00:24:43 +0000 (00:24 +0000)] 
fixed test for #1175

17 years ago- fix outerjoin, add order_by for DB variance
Mike Bayer [Sat, 4 Oct 2008 23:52:14 +0000 (23:52 +0000)] 
- fix outerjoin, add order_by for DB variance

17 years agoChange in #1165 tests to prevent MySQL from choking on a varchar without a length.
Michael Trier [Sat, 4 Oct 2008 23:46:02 +0000 (23:46 +0000)] 
Change in #1165 tests to prevent MySQL from choking on a varchar without a length.

17 years agoCorrects issue where engine.execute raised exception when given empty list. Fixes...
Michael Trier [Sat, 4 Oct 2008 23:19:05 +0000 (23:19 +0000)] 
Corrects issue where engine.execute raised exception when given empty list. Fixes #1175.

17 years ago- using contains_eager() against an alias combined with an overall query alias repair...
Mike Bayer [Sat, 4 Oct 2008 22:39:19 +0000 (22:39 +0000)] 
- using contains_eager() against an alias combined with an overall query alias repaired - the
contains_eager adapter wraps the query adapter, not vice versa.  Test coverage added.
- contains_eager() will now add columns into the "primary" column collection within Query._compile_context(), instead
of the "secondary" collection.  This allows those columns to get wrapped within the subquery generated
by limit/offset in conjunction with an ORM-generated eager join.
Eager strategy also picks up on context.adapter in this case to deliver the columns during result load.
contains_eager() is now compatible with the subquery generated by a regular eager load
with limit/offset. [ticket:1180]

17 years ago- added a few more assertions for [ticket:1165]
Mike Bayer [Sat, 4 Oct 2008 16:09:16 +0000 (16:09 +0000)] 
- added a few more assertions for [ticket:1165]
- removed non-2.5 partial.keywords, partial.name, etc., not sure what those are getting us here

17 years agoDidnt think about <2.5. When will I learn.
Michael Trier [Sat, 4 Oct 2008 02:57:19 +0000 (02:57 +0000)] 
Didnt think about <2.5. When will I learn.

17 years agoAllowed column types to be callables. Fixes #1165.
Michael Trier [Sat, 4 Oct 2008 01:49:14 +0000 (01:49 +0000)] 
Allowed column types to be callables. Fixes #1165.

17 years ago- Adjustment to Session's post-flush accounting of newly
Mike Bayer [Fri, 3 Oct 2008 03:39:52 +0000 (03:39 +0000)] 
- Adjustment to Session's post-flush accounting of newly
"clean" objects to better protect against operating on
objects as they're asynchronously gc'ed. [ticket:1182]

17 years ago- identity_map._mutable_attrs is a plain dict since we manage weakref removal explicitly
Mike Bayer [Thu, 2 Oct 2008 02:02:51 +0000 (02:02 +0000)] 
- identity_map._mutable_attrs is a plain dict since we manage weakref removal explicitly
- call list() around iteration of _mutable_attrs to guard against async gc.collect() while check_modified() is running

17 years agothe @property / __slots__ fairy pays a visit
Mike Bayer [Wed, 1 Oct 2008 15:23:14 +0000 (15:23 +0000)] 
the @property / __slots__ fairy pays a visit

17 years agoIssue a better error message when someone decides to meddle with the active transacti...
Ants Aasma [Tue, 30 Sep 2008 12:04:23 +0000 (12:04 +0000)] 
Issue a better error message when someone decides to meddle with the active transaction from within a context manager.

17 years agoFixed session.transaction.commit() on a autocommit=False session not starting a new...
Ants Aasma [Tue, 30 Sep 2008 09:24:27 +0000 (09:24 +0000)] 
Fixed session.transaction.commit() on a autocommit=False session not starting a new transaction.
Moved starting a new transaction in case of previous closing into SessionTransaction.

17 years ago- session.execute() will execute a Sequence object passed to
Mike Bayer [Sun, 28 Sep 2008 19:10:22 +0000 (19:10 +0000)] 
- session.execute() will execute a Sequence object passed to
  it (regression from 0.4).
- Removed the "raiseerror" keyword argument from object_mapper()
  and class_mapper().  These functions raise in all cases
  if the given class/instance is not mapped.
- Refined ExtensionCarrier to be itself a dict, removed
'methods' accessor
- moved identity_key tests to test/orm/utils.py
- some docstrings

17 years ago- Fixed up slices on Query (i.e. query[x:y]) to work properly
Mike Bayer [Sun, 28 Sep 2008 00:39:06 +0000 (00:39 +0000)] 
- Fixed up slices on Query (i.e. query[x:y]) to work properly
for zero length slices, slices with None on either end.
[ticket:1177]

17 years agoTidy.
Jason Kirtland [Sun, 28 Sep 2008 00:04:09 +0000 (00:04 +0000)] 
Tidy.

17 years agofixed custom TypeEngine example
Mike Bayer [Sat, 27 Sep 2008 21:15:51 +0000 (21:15 +0000)] 
fixed custom TypeEngine example

17 years agoFixed mysql TEMPORARY table reflection.
Jason Kirtland [Sat, 27 Sep 2008 18:26:53 +0000 (18:26 +0000)] 
Fixed mysql TEMPORARY table reflection.

17 years ago- Fixed shared state bug interfering with ScopedSession.mapper's
Jason Kirtland [Sat, 27 Sep 2008 18:11:40 +0000 (18:11 +0000)] 
- Fixed shared state bug interfering with ScopedSession.mapper's
  ability to apply default __init__ implementations on object
  subclasses.

17 years agore-enabled memusage and connect tests.
Jason Kirtland [Sat, 27 Sep 2008 01:41:45 +0000 (01:41 +0000)] 
re-enabled memusage and connect tests.

17 years agoAdded query_cls= override to scoped_session's query_property
Jason Kirtland [Sat, 27 Sep 2008 01:37:26 +0000 (01:37 +0000)] 
Added query_cls= override to scoped_session's query_property

17 years ago- fixed RLock-related bug in mapper which could deadlock
Mike Bayer [Thu, 25 Sep 2008 15:59:37 +0000 (15:59 +0000)] 
- fixed RLock-related bug in mapper which could deadlock
upon reentrant mapper compile() calls, something that
occurs when using declarative constructs inside of
ForeignKey objects.

17 years agorandom cleanup
Mike Bayer [Mon, 22 Sep 2008 22:15:24 +0000 (22:15 +0000)] 
random cleanup

17 years agogenericized the relationship between bind_processor() and _bind_processor() a little...
Mike Bayer [Fri, 19 Sep 2008 23:05:25 +0000 (23:05 +0000)] 
genericized the relationship between bind_processor() and _bind_processor() a little more

17 years ago- Overhauled SQLite date/time bind/result processing
Mike Bayer [Fri, 19 Sep 2008 22:59:28 +0000 (22:59 +0000)] 
- Overhauled SQLite date/time bind/result processing
to use regular expressions and format strings, rather
than strptime/strftime, to generically support
pre-1900 dates, dates with microseconds.  [ticket:968]

17 years agothe wisdom of SQLite accepting strings for columns with the INT type....priceless
Mike Bayer [Fri, 19 Sep 2008 13:59:16 +0000 (13:59 +0000)] 
the wisdom of SQLite accepting strings for columns with the INT type....priceless

17 years agofix up element sorting in declarative
Mike Bayer [Fri, 19 Sep 2008 13:58:12 +0000 (13:58 +0000)] 
fix up element sorting in declarative

17 years agoGet a bit more speed into the new _sort_states function. It's probably possible
Gaëtan de Menten [Fri, 19 Sep 2008 07:11:46 +0000 (07:11 +0000)] 
Get a bit more speed into the new _sort_states function. It's probably possible
to get even more speed by getting rid of the decorator and call the method
directly, but it makes for slightly less readable code so I won't do it since I
don't know whether this code is speed-critical or not.

17 years ago- Fixed bug involving read/write relation()s that
Mike Bayer [Fri, 19 Sep 2008 01:34:28 +0000 (01:34 +0000)] 
- Fixed bug involving read/write relation()s that
contain literal or other non-column expressions
within their primaryjoin condition equated
to a foreign key column.
- fixed UnmappedColumnError exception raise to not assume it was passed a column

17 years agoun-stupified insert/update/delete sorting
Mike Bayer [Fri, 19 Sep 2008 00:04:38 +0000 (00:04 +0000)] 
un-stupified insert/update/delete sorting

17 years agomore failing cases
Mike Bayer [Thu, 18 Sep 2008 22:39:34 +0000 (22:39 +0000)] 
more failing cases

17 years ago"nested sets" example. needs work.
Mike Bayer [Thu, 18 Sep 2008 22:14:29 +0000 (22:14 +0000)] 
"nested sets" example.  needs work.

17 years ago- "non-batch" mode in mapper(), a feature which allows
Mike Bayer [Thu, 18 Sep 2008 21:41:37 +0000 (21:41 +0000)] 
- "non-batch" mode in mapper(), a feature which allows
mapper extension methods to be called as each instance
is updated/inserted, now honors the insert order
of the objects given.
- added some tests, some commented out, involving [ticket:1171]

17 years ago- version bump
Mike Bayer [Tue, 16 Sep 2008 18:17:34 +0000 (18:17 +0000)] 
- version bump
- turned properties in sql/expressions.py to @property
- column.in_(someselect) can now be used as
a columns-clause expression without the subquery
bleeding into the FROM clause [ticket:1074]

17 years agoadded gc.collect() for pypy/jython compat, [ticket:1076]
Mike Bayer [Tue, 16 Sep 2008 17:43:13 +0000 (17:43 +0000)] 
added gc.collect() for pypy/jython compat, [ticket:1076]

17 years ago- annual unitofwork cleanup
Mike Bayer [Mon, 15 Sep 2008 21:29:28 +0000 (21:29 +0000)] 
- annual unitofwork cleanup
- moved conversion of cyclical sort to UOWTask structure to be non-recursive
- reduced some verbosity
- rationale for the "tree" sort clarified
- would love to flatten all of uow topological sorting, sorting within mapper._save_obj() into a single sort someday

17 years ago- 0.5.0rc1 rel_0_5rc1
Mike Bayer [Thu, 11 Sep 2008 20:48:39 +0000 (20:48 +0000)] 
- 0.5.0rc1
- removed unneeded grouping from BooleanClauseList, generated needless parens

17 years ago- Added scalar() and value() methods to Query, each return a
Mike Bayer [Thu, 11 Sep 2008 19:35:40 +0000 (19:35 +0000)] 
- Added scalar() and value() methods to Query, each return a
single scalar value.  scalar() takes no arguments and is
roughly equivalent to first()[0], value()
takes a single column expression and is roughly equivalent to
values(expr).next()[0].

17 years agoNote to self: save buffers before committing.
Jason Kirtland [Thu, 11 Sep 2008 18:44:36 +0000 (18:44 +0000)] 
Note to self: save buffers before committing.

17 years agoAdded Query.scalar() sugar method, eases migration from old query.sum() methods....
Jason Kirtland [Thu, 11 Sep 2008 17:52:35 +0000 (17:52 +0000)] 
Added Query.scalar() sugar method, eases migration from old query.sum() methods.  Needs tests.

17 years ago- the function func.utc_timestamp() compiles to UTC_TIMESTAMP, without
Mike Bayer [Wed, 10 Sep 2008 21:09:04 +0000 (21:09 +0000)] 
- the function func.utc_timestamp() compiles to UTC_TIMESTAMP, without
the parenthesis, which seem to get in the way when using in
conjunction with executemany().

17 years agoreturn type of exists() is boolean, duh
Mike Bayer [Tue, 9 Sep 2008 18:09:07 +0000 (18:09 +0000)] 
return type of exists() is boolean, duh

17 years ago- Bind params now subclass ColumnElement which allows them to be
Mike Bayer [Tue, 9 Sep 2008 15:54:10 +0000 (15:54 +0000)] 
- Bind params now subclass ColumnElement which allows them to be
selectable by orm.query (they already had most ColumnElement
semantics).

- Added select_from() method to exists() construct, which becomes
more and more compatible with a regular select().

- Bind parameters/literals given a True/False value will detect
their type as Boolean

17 years agoFix bug with MSSQL reflecting and schemas
Paul Johnston [Tue, 9 Sep 2008 12:44:57 +0000 (12:44 +0000)] 
Fix bug with MSSQL reflecting and schemas

17 years ago- The exists() construct won't "export" its contained list
Mike Bayer [Mon, 8 Sep 2008 22:50:37 +0000 (22:50 +0000)] 
- The exists() construct won't "export" its contained list
of elements as FROM clauses, allowing them to be used more
effectively in the columns clause of a SELECT.

- and_() and or_() now generate a ColumnElement, allowing
boolean expressions as result columns, i.e.
select([and_(1, 0)]).  [ticket:798]

17 years agoreverted inheritance tweak which fails tests on non-sqlite
Mike Bayer [Mon, 8 Sep 2008 03:57:25 +0000 (03:57 +0000)] 
reverted inheritance tweak which fails tests on non-sqlite

17 years ago- Added func.min(), func.max(), func.sum() as "generic functions",
Mike Bayer [Mon, 8 Sep 2008 03:51:47 +0000 (03:51 +0000)] 
- Added func.min(), func.max(), func.sum() as "generic functions",
which basically allows for their return type to be determined
automatically.  Helps with dates on SQLite, decimal types,
others. [ticket:1160]

- added decimal.Decimal as an "auto-detect" type; bind parameters
and generic functions will set their type to Numeric when a
Decimal is used.

17 years ago- Removed conflicting `contains()` operator from
Mike Bayer [Sun, 7 Sep 2008 01:31:01 +0000 (01:31 +0000)] 
- Removed conflicting `contains()` operator from
`InstrumentedAttribute` which didn't accept `escape` kwaarg
[ticket:1153].

17 years ago- Dropped 0.3-compatibility for user defined types
Mike Bayer [Sun, 7 Sep 2008 00:13:28 +0000 (00:13 +0000)] 
- Dropped 0.3-compatibility for user defined types
(convert_result_value, convert_bind_param).

17 years ago- query.order_by().get() silently drops the "ORDER BY" from
Mike Bayer [Sat, 6 Sep 2008 23:58:05 +0000 (23:58 +0000)] 
- query.order_by().get() silently drops the "ORDER BY" from
the query issued by GET but does not raise an exception.

17 years ago- rearranged delete() so that the object is attached before
Mike Bayer [Fri, 5 Sep 2008 17:16:11 +0000 (17:16 +0000)] 
- rearranged delete() so that the object is attached before
cascades fire off [ticket:5058]
- after_attach() only fires if the object was not previously attached

17 years agosynchronize inherited does not need to be called for the full mapper hierarchy
Mike Bayer [Fri, 5 Sep 2008 15:23:44 +0000 (15:23 +0000)] 
synchronize inherited does not need to be called for the full mapper hierarchy

17 years ago- Fixed exception throw which would occur when string-based
Mike Bayer [Thu, 4 Sep 2008 21:26:49 +0000 (21:26 +0000)] 
- Fixed exception throw which would occur when string-based
primaryjoin condition was used in conjunction with backref.

17 years agoallow the no_criterion call in _get() to copy the method name thorugh
Mike Bayer [Thu, 4 Sep 2008 20:41:51 +0000 (20:41 +0000)] 
allow the no_criterion call in _get() to copy the method name thorugh

17 years ago- Fixed bug whereby mapper couldn't initialize if a composite
Mike Bayer [Thu, 4 Sep 2008 17:44:48 +0000 (17:44 +0000)] 
- Fixed bug whereby mapper couldn't initialize if a composite
primary key referenced another table that was not defined
yet [ticket:1161]

17 years ago added BFILE to reflected type names [ticket:1121]
Mike Bayer [Wed, 3 Sep 2008 18:16:55 +0000 (18:16 +0000)] 
 added BFILE to reflected type names [ticket:1121]

17 years agocorrect extra space in SQL assertions
Mike Bayer [Wed, 3 Sep 2008 18:03:03 +0000 (18:03 +0000)] 
correct extra space in SQL assertions

17 years ago - has_sequence() now takes the current "schema" argument into
Mike Bayer [Wed, 3 Sep 2008 17:59:43 +0000 (17:59 +0000)] 
 - has_sequence() now takes the current "schema" argument into
      account [ticket:1155]

17 years ago - limit/offset no longer uses ROW NUMBER OVER to limit rows,
Mike Bayer [Wed, 3 Sep 2008 16:53:05 +0000 (16:53 +0000)] 
 - limit/offset no longer uses ROW NUMBER OVER to limit rows,
      and instead uses subqueries in conjunction with a special
      Oracle optimization comment.  Allows LIMIT/OFFSET to work
      in conjunction with DISTINCT. [ticket:536]

17 years agoMake Query.update and Query.delete return the amount of rows matched
Ants Aasma [Tue, 2 Sep 2008 20:02:02 +0000 (20:02 +0000)] 
Make Query.update and Query.delete return the amount of rows matched

17 years agocorrection
Mike Bayer [Tue, 2 Sep 2008 19:59:55 +0000 (19:59 +0000)] 
correction

17 years ago- column_property(), composite_property(), and relation() now
Mike Bayer [Tue, 2 Sep 2008 19:51:48 +0000 (19:51 +0000)] 
- column_property(), composite_property(), and relation() now
accept a single or list of AttributeExtensions using the
"extension" keyword argument.
- Added a Validator AttributeExtension, as well as a
@validates decorator which is used in a similar fashion
as @reconstructor, and marks a method as validating
one or more mapped attributes.
- removed validate_attributes example, the new methodology replaces it

17 years ago- AttributeListener has been refined such that the event
Mike Bayer [Tue, 2 Sep 2008 17:57:35 +0000 (17:57 +0000)] 
- AttributeListener has been refined such that the event
is fired before the mutation actually occurs.  Addtionally,
the append() and set() methods must now return the given value,
which is used as the value to be used in the mutation operation.
This allows creation of validating AttributeListeners which
raise before the action actually occurs, and which can change
the given value into something else before its used.
A new example "validate_attributes.py" shows one such recipe
for doing this.   AttributeListener helper functions are
also on the way.

17 years ago- Fixed custom instrumentation bug whereby get_instance_dict()
Mike Bayer [Tue, 2 Sep 2008 16:07:46 +0000 (16:07 +0000)] 
- Fixed custom instrumentation bug whereby get_instance_dict()
was not called for newly constructed instances not loaded
by the ORM.

17 years ago- broke pool tests out into QueuePoolTest/SingletonThreadPoolTest
Mike Bayer [Mon, 1 Sep 2008 18:14:03 +0000 (18:14 +0000)] 
- broke pool tests out into QueuePoolTest/SingletonThreadPoolTest
- added test for r5061/r5062 [ticket:1157]

17 years agorecheck the dirty list if extensions are present
Mike Bayer [Sat, 30 Aug 2008 18:30:53 +0000 (18:30 +0000)] 
recheck the dirty list if extensions are present

17 years ago- The "extension" argument to Session and others can now
Mike Bayer [Fri, 29 Aug 2008 16:31:58 +0000 (16:31 +0000)] 
- The "extension" argument to Session and others can now
optionally be a list, supporting events sent to multiple
SessionExtension instances.  Session places SessionExtensions
in Session.extensions.

17 years ago- add an example illustrating attribute event reception.
Mike Bayer [Fri, 29 Aug 2008 16:15:41 +0000 (16:15 +0000)] 
- add an example illustrating attribute event reception.

17 years agocheck extensions each time; user-defined code will be appending to "extensions" after...
Mike Bayer [Fri, 29 Aug 2008 15:41:43 +0000 (15:41 +0000)] 
check extensions each time; user-defined code will be appending to "extensions" after the AttributeImpl has been constructed

17 years ago- starargs_as_list was not actually issuing SAPendingDeprecationWarning, fixed
Mike Bayer [Thu, 28 Aug 2008 18:21:42 +0000 (18:21 +0000)] 
- starargs_as_list was not actually issuing SAPendingDeprecationWarning, fixed
- implemented code cleanup from [ticket:1152] but not including using the decorators module

17 years ago- Fixed bug whereby deferred() columns with a group in conjunction
Mike Bayer [Thu, 28 Aug 2008 17:11:18 +0000 (17:11 +0000)] 
- Fixed bug whereby deferred() columns with a group in conjunction
with an otherwise unrelated synonym() would produce
an AttributeError during deferred load.

17 years agoCorrected typo in the mapper docs. Fixes #1159.
Michael Trier [Thu, 28 Aug 2008 14:21:07 +0000 (14:21 +0000)] 
Corrected typo in the mapper docs. Fixes #1159.

17 years agoType processors get a dialect, not an engine...
Jason Kirtland [Wed, 27 Aug 2008 19:10:03 +0000 (19:10 +0000)] 
Type processors get a dialect, not an engine...

17 years agough...try again
Mike Bayer [Wed, 27 Aug 2008 06:01:16 +0000 (06:01 +0000)] 
ugh...try again

17 years agocritical fix to r5028 repairs SingleThreadPool to return a connection in case one...
Mike Bayer [Wed, 27 Aug 2008 05:58:18 +0000 (05:58 +0000)] 
critical fix to r5028 repairs SingleThreadPool to return a connection in case one had been removed via cleanup()

17 years ago- expire/fetch strategies are now default for Query.update/Query.delete.
Ants Aasma [Mon, 25 Aug 2008 00:04:01 +0000 (00:04 +0000)] 
- expire/fetch strategies are now default for Query.update/Query.delete.
- added API docs for Query.update/Query.delete

17 years ago- Fixed bug whereby changing a primary key attribute on an
Mike Bayer [Sun, 24 Aug 2008 21:52:38 +0000 (21:52 +0000)] 
- Fixed bug whereby changing a primary key attribute on an
entity where the attribute's previous value had been expired
would produce an error upon flush(). [ticket:1151]

17 years ago- Session.delete() adds the given object to the session if
Mike Bayer [Sun, 24 Aug 2008 21:31:00 +0000 (21:31 +0000)] 
- Session.delete() adds the given object to the session if
not already present.  This was a regression bug from 0.4
[ticket:1150]

17 years ago- Added MSMediumInteger type [ticket:1146].
Mike Bayer [Sun, 24 Aug 2008 21:20:05 +0000 (21:20 +0000)] 
- Added MSMediumInteger type [ticket:1146].

17 years ago- logging scale-back; the echo_uow flag on Session is deprecated, and unit of work...
Mike Bayer [Sun, 24 Aug 2008 21:10:36 +0000 (21:10 +0000)] 
- logging scale-back; the echo_uow flag on Session is deprecated, and unit of work logging is now
class level like all the other logging.
- trimmed back the logging API, centralized class_logger() as the single point of configuration for
logging, removed per-instance logging checks from ORM.
- Engine and Pool logging remain at the instance level.  The modulus of "instance ids" has been upped
to 65535.  I'd like to remove the modulus altogether but I do see a couple of users each month
calling create_engine() on a per-request basis, an incorrect practice but I'd rather their applications
don't just run out of memory.

17 years ago- The 'length' argument to all Numeric types has been renamed
Mike Bayer [Sun, 24 Aug 2008 19:52:54 +0000 (19:52 +0000)] 
- The 'length' argument to all Numeric types has been renamed
to 'scale'.  'length' is deprecated and is still accepted
with a warning. [ticket:827]
- The 'length' argument to MSInteger, MSBigInteger, MSTinyInteger,
MSSmallInteger and MSYear has been renamed to 'display_width'.
[ticket:827]
- mysql._Numeric now consumes 'unsigned' and 'zerofill' from
the given kw, so that the same kw can be passed along to Numeric
and allow the 'length' deprecation logic to still take effect
- added testlib.engines.all_dialects() to return a dialect for
every db module
- informix added to sqlalchemy.databases.__all__.  Since other
"experimental" dbs like access and sybase are there, informix
should be as well.

17 years ago- fixed tearDown to reverse sorted table list
Mike Bayer [Sat, 23 Aug 2008 19:38:04 +0000 (19:38 +0000)] 
- fixed tearDown to reverse sorted table list

17 years ago- attributes now has an "active_history" flag. This flag indicates that when new...
Mike Bayer [Fri, 22 Aug 2008 15:09:27 +0000 (15:09 +0000)] 
- attributes now has an "active_history" flag.  This flag indicates that when new value is set or the existing value is deleted, we absolutely need the previous value to be present, including if it requires hitting a lazy loader.  Since somewhere around 0.4 we had not been loading the previous value as a performance optimization.
- the flag is set by a ColumnLoader which contains a primary key column.  This allows the mapper to have an accurate record of a primary key column when _save_obj() performs an UPDATE.
- the definition of who gets "active_history" may be expanded to include ForeignKey and any columns participating in a primaryjoin/seconddary join, so that lazyloaders can execute correctly on an expired object with pending changes to those attributes.
- expire-on-commit is why this is becoming a more important issue as of late
- fixes [ticket:1151], but unit tests, CHANGES note is pending

17 years ago- column_property() and synonym() both accept comparator_factory argument, allowing
Mike Bayer [Thu, 21 Aug 2008 18:10:35 +0000 (18:10 +0000)] 
- column_property() and synonym() both accept comparator_factory argument, allowing
custom comparison functionality
- made the mapper's checks for user-based descriptors when defining synonym or comparable property
stronger, such that a synonym can be used with declarative without having a user-based descriptor

17 years ago- Another old-style mixin fix and an explicit mapper() test for it.
Jason Kirtland [Thu, 21 Aug 2008 14:24:45 +0000 (14:24 +0000)] 
- Another old-style mixin fix and an explicit mapper() test for it.

17 years ago- Fix occurences of Class.c.column_name
Gaëtan de Menten [Thu, 21 Aug 2008 09:12:54 +0000 (09:12 +0000)] 
- Fix occurences of Class.c.column_name
- Fix a few typos/mistakes
- removed trailing whitespaces
- tried to achieve a more consistent syntax for spaces in properties
  declaration

17 years ago- fixed a bug in declarative test which was looking for old version of history
Mike Bayer [Tue, 19 Aug 2008 21:27:34 +0000 (21:27 +0000)] 
- fixed a bug in declarative test which was looking for old version of history
- Added "sorted_tables" accessor to MetaData, which returns
Table objects sorted in order of dependency as a list.
This deprecates the MetaData.table_iterator() method.
The "reverse=False" keyword argument has also been
removed from util.sort_tables(); use the Python
'reversed' function to reverse the results.
[ticket:1033]

17 years agocatch AttributeError in case thread local storage was not configured
Mike Bayer [Tue, 19 Aug 2008 16:33:01 +0000 (16:33 +0000)] 
catch AttributeError in case thread local storage was not configured

17 years agoattributes.get_history now reports some zero-length slots as the empty tuple rather...
Jason Kirtland [Mon, 18 Aug 2008 18:57:05 +0000 (18:57 +0000)] 
attributes.get_history now reports some zero-length slots as the empty tuple rather than an empty list. nice speed boost and memory reduction.

17 years agohack tweak: exc.NO_STATE is a tuple.
Jason Kirtland [Mon, 18 Aug 2008 18:19:52 +0000 (18:19 +0000)] 
hack tweak: exc.NO_STATE is a tuple.

17 years agomore ORM @decorator fliparoo
Jason Kirtland [Mon, 18 Aug 2008 18:09:27 +0000 (18:09 +0000)] 
more ORM @decorator fliparoo

17 years ago- The before_flush() hook on SessionExtension takes place
Mike Bayer [Sun, 17 Aug 2008 22:21:23 +0000 (22:21 +0000)] 
- The before_flush() hook on SessionExtension takes place
before the list of new/dirty/deleted is calculated for the
final time, allowing routines within before_flush() to
further change the state of the Session before the flush
proceeds.   [ticket:1128]

- Reentrant calls to flush() raise an error.  This also
serves as a rudimentary, but not foolproof, check against
concurrent calls to Session.flush().

17 years agotemporary check for unmapped class, until [ticket:1142] is resolved
Mike Bayer [Sun, 17 Aug 2008 21:55:00 +0000 (21:55 +0000)] 
temporary check for unmapped class, until [ticket:1142] is resolved

17 years ago- fixed primary key update for many-to-many collections
Mike Bayer [Sat, 16 Aug 2008 23:10:56 +0000 (23:10 +0000)] 
- fixed primary key update for many-to-many collections
where the collection had not been loaded yet
[ticket:1127]

17 years ago- class.someprop.in_() raises NotImplementedError pending
Mike Bayer [Sat, 16 Aug 2008 22:41:57 +0000 (22:41 +0000)] 
- class.someprop.in_() raises NotImplementedError pending
the implementation of "in_" for relation [ticket:1140]

17 years agoApplied .append(x, **kw) removal patch from [ticket:1124] and general cleanup.
Jason Kirtland [Fri, 15 Aug 2008 23:33:43 +0000 (23:33 +0000)] 
Applied .append(x, **kw) removal patch from [ticket:1124] and general cleanup.

17 years ago- Mock engines take on the .name of their dialect. [ticket:1123]
Jason Kirtland [Fri, 15 Aug 2008 23:17:24 +0000 (23:17 +0000)] 
- Mock engines take on the .name of their dialect. [ticket:1123]

  Slightly backward incompatible: the .name is a read-only property.
  The test suite was assigning .name = 'mock'; this no longer works.

17 years ago- Don't choke when instrumenting a class with an old-style mixin. [ticket:1078]
Jason Kirtland [Fri, 15 Aug 2008 22:59:13 +0000 (22:59 +0000)] 
- Don't choke when instrumenting a class with an old-style mixin. [ticket:1078]

17 years agoremoving this example until further notice (append_result() not an easy road to travel)
Mike Bayer [Fri, 15 Aug 2008 22:57:14 +0000 (22:57 +0000)] 
removing this example until further notice (append_result() not an easy road to travel)

17 years ago- Ignore old-style classes when building inheritance graphs. [ticket:1078]
Jason Kirtland [Fri, 15 Aug 2008 22:54:35 +0000 (22:54 +0000)] 
- Ignore old-style classes when building inheritance graphs. [ticket:1078]