]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
15 years agoThe pypostgresql has a problem coercing an array during concatination. Exclude test.
Michael Trier [Tue, 23 Feb 2010 19:29:57 +0000 (19:29 +0000)] 
The pypostgresql has a problem coercing an array during concatination. Exclude test.

15 years agoRemoved the text_as_varchar option in the mssql dialect. It wasn't being used.
Michael Trier [Tue, 23 Feb 2010 17:44:35 +0000 (17:44 +0000)] 
Removed the text_as_varchar option in the mssql dialect. It wasn't being used.

15 years agoa handy @classproperty decorator
Chris Withers [Tue, 23 Feb 2010 17:17:08 +0000 (17:17 +0000)] 
a handy @classproperty decorator

15 years agolong lines
Mike Bayer [Tue, 23 Feb 2010 16:59:40 +0000 (16:59 +0000)] 
long lines

15 years agoMajor cleanup work in the docs to link class names into the API docs. Fixes #1702.
Michael Trier [Tue, 23 Feb 2010 06:15:24 +0000 (06:15 +0000)] 
Major cleanup work in the docs to link class names into the API docs. Fixes #1702.

15 years agoWork around py-postgresql handling of exceptions.
Michael Trier [Tue, 23 Feb 2010 04:39:48 +0000 (04:39 +0000)] 
Work around py-postgresql handling of exceptions.

15 years ago- a change to the previous __mapper_args__ commit.
Mike Bayer [Tue, 23 Feb 2010 00:57:08 +0000 (00:57 +0000)] 
- a change to the previous __mapper_args__ commit.
- the __mapper_args__ dict is copied when propagating to a subclass,
and is taken straight off the class __dict__ to avoid any
propagation from the parent.  mapper inheritance already
propagates the things you want from the parent mapper.
[ticket:1393]

15 years ago- the __mapper_args__ dict is copied when propagating to a subclass.
Mike Bayer [Tue, 23 Feb 2010 00:39:35 +0000 (00:39 +0000)] 
- the __mapper_args__ dict is copied when propagating to a subclass.
Still need to decide how the argument propagation should
work in the bigger picture.  [ticket:1393]

15 years ago- session.merge() will not expire existing scalar attributes
Mike Bayer [Tue, 23 Feb 2010 00:35:56 +0000 (00:35 +0000)] 
- session.merge() will not expire existing scalar attributes
on an existing target if the target has a value for that
attribute, even if the incoming merged doesn't have
a value for the attribute.  This prevents unnecessary loads
on existing items.  Will still mark the attr as expired
if the destination doesn't have the attr, though, which
fulfills some contracts of deferred cols.  [ticket:1681]

- session.merge() works with relations that specifically
don't include "merge" in their cascade options - the target
is ignored completely.

15 years agoChanged the py-postgresql dialect to indicate that it is using the pyformat parameter...
Michael Trier [Tue, 23 Feb 2010 00:27:37 +0000 (00:27 +0000)] 
Changed the py-postgresql dialect to indicate that it is using the pyformat parameter style.

15 years agoModified unittests docs to explain that --first-package-wins=True is required on...
Michael Trier [Tue, 23 Feb 2010 00:27:34 +0000 (00:27 +0000)] 
Modified unittests docs to explain that --first-package-wins=True is required on Windows. Also modified the setup.cfg to add this option so that if using the default config there will be consistent behavior on all platforms.

15 years ago- The "allow_null_pks" flag is now called "allow_partial_pks",
Mike Bayer [Mon, 22 Feb 2010 23:53:35 +0000 (23:53 +0000)] 
- The "allow_null_pks" flag is now called "allow_partial_pks",
defaults to True, acts like it did in 0.5 again.  Except,
it also is implemented within merge() such that a SELECT
won't be issued for an incoming instance with partially
NULL primary key if the flag is False.  [ticket:1680]

15 years agoThe py-postgresql dialect supports raw python.
Michael Trier [Mon, 22 Feb 2010 22:54:35 +0000 (22:54 +0000)] 
The py-postgresql dialect supports raw python.

15 years ago- DeclarativeMeta exclusively uses cls.__dict__ (not dict_)
Mike Bayer [Mon, 22 Feb 2010 22:31:49 +0000 (22:31 +0000)] 
- DeclarativeMeta exclusively uses cls.__dict__ (not dict_)
as the source of class information; _as_declarative exclusively
uses the  dict_ passed to it as the source of class information
(which when using DeclarativeMeta is cls.__dict__).  This should
in theory make it easier for custom metaclasses to modify
the state passed into _as_declarative.

15 years agoFound another float / Decimal issue that needs to be changed to be consistent on...
Michael Trier [Mon, 22 Feb 2010 22:10:28 +0000 (22:10 +0000)] 
Found another float / Decimal issue that needs to be changed to be consistent on Python2/3.

15 years agoThe py-postgresql dialect now supports sane rowcounts.
Michael Trier [Mon, 22 Feb 2010 21:53:08 +0000 (21:53 +0000)] 
The py-postgresql dialect now supports sane rowcounts.

15 years agoadd import for "random"
Mike Bayer [Mon, 22 Feb 2010 21:33:20 +0000 (21:33 +0000)] 
add import for "random"

15 years ago- added util.portable_instancemethod to provide a quick way to make an instancemethod...
Mike Bayer [Mon, 22 Feb 2010 20:37:44 +0000 (20:37 +0000)] 
- added util.portable_instancemethod to provide a quick way to make an instancemethod "serializable"
- SchemaType and subclasses Boolean, Enum are now serializable,
including their ddl listener and other event callables.
[ticket:1694] [ticket:1698]
- AddConstraint/DropConstraint use the wrapper for _create_rule
- added test coverage for AddConstraint override of _create_rule

15 years agoFixed up the pypostgresql PGNumeric bind_processor to convert input to a string.
Michael Trier [Mon, 22 Feb 2010 20:24:06 +0000 (20:24 +0000)] 
Fixed up the pypostgresql PGNumeric bind_processor to convert input to a string.

15 years agoCorrected dbengine.rst file to properly render nested lists. Thank you Diana Clarke...
Michael Trier [Mon, 22 Feb 2010 19:42:52 +0000 (19:42 +0000)] 
Corrected dbengine.rst file to properly render nested lists.  Thank you Diana Clarke. Fixes #1700.

15 years ago- Composite PK table on InnoDB where the "autoincrement" column
Mike Bayer [Mon, 22 Feb 2010 19:28:25 +0000 (19:28 +0000)] 
- Composite PK table on InnoDB where the "autoincrement" column
isn't first will emit an explicit "KEY" phrase within
CREATE TABLE thereby avoiding errors, [ticket:1496]

15 years agoFixed native unicode test to work with pypostgresql.
Michael Trier [Mon, 22 Feb 2010 19:03:44 +0000 (19:03 +0000)] 
Fixed native unicode test to work with pypostgresql.

15 years agoAdded a basic .hgignore file.
Michael Trier [Mon, 22 Feb 2010 17:46:21 +0000 (17:46 +0000)] 
Added a basic .hgignore file.

15 years agofix a typo, [ticket:1662]
Mike Bayer [Mon, 22 Feb 2010 17:24:49 +0000 (17:24 +0000)] 
fix a typo, [ticket:1662]

15 years agoPython 3 changes the round to return a Decimal not a float.
Michael Trier [Mon, 22 Feb 2010 17:08:30 +0000 (17:08 +0000)] 
Python 3 changes the round to return a Decimal not a float.

15 years agoFixed up the pypostgresql dialect so it appears in __init__.
Michael Trier [Mon, 22 Feb 2010 17:08:26 +0000 (17:08 +0000)] 
Fixed up the pypostgresql dialect so it appears in __init__.

15 years agogeneralized "test all the picklers" iterator works cross platform
Mike Bayer [Mon, 22 Feb 2010 16:35:35 +0000 (16:35 +0000)] 
generalized "test all the picklers" iterator works cross platform

15 years agoincrease the timeout here to accommodate slowness on the buildbot
Mike Bayer [Mon, 22 Feb 2010 16:17:57 +0000 (16:17 +0000)] 
increase the timeout here to accommodate slowness on the buildbot

15 years agoclean up some skips, added skip for sqlite + python2
Mike Bayer [Sun, 21 Feb 2010 21:26:11 +0000 (21:26 +0000)] 
clean up some skips, added skip for sqlite + python2

15 years agoextract fix
Mike Bayer [Sun, 21 Feb 2010 20:20:44 +0000 (20:20 +0000)] 
extract fix

15 years agoFixed cPickle problem in Python3.
Michael Trier [Sat, 20 Feb 2010 23:08:18 +0000 (23:08 +0000)] 
Fixed cPickle problem in Python3.

15 years agomore py3k fixes
Mike Bayer [Sat, 20 Feb 2010 23:02:08 +0000 (23:02 +0000)] 
more py3k fixes

15 years agoremove __cmp__, move to __lt__ , __eq__ per http://docs.python.org/dev/3.0/whatsnew...
Mike Bayer [Sat, 20 Feb 2010 21:44:48 +0000 (21:44 +0000)] 
remove __cmp__, move to __lt__ , __eq__ per http://docs.python.org/dev/3.0/whatsnew/3.0.html#ordering-comparisons

15 years agoanother weird nose + py3k fix
Mike Bayer [Sat, 20 Feb 2010 20:16:18 +0000 (20:16 +0000)] 
another weird nose + py3k fix

15 years agounicode fix that gets around nose's stringio usage
Mike Bayer [Sat, 20 Feb 2010 19:51:53 +0000 (19:51 +0000)] 
unicode fix that gets around nose's stringio usage

15 years agocallcounts
Mike Bayer [Tue, 16 Feb 2010 23:42:06 +0000 (23:42 +0000)] 
callcounts

15 years ago- Fixed cascade bug in many-to-one relation() when attribute
Mike Bayer [Tue, 16 Feb 2010 23:33:20 +0000 (23:33 +0000)] 
- Fixed cascade bug in many-to-one relation() when attribute
was set to None, introduced in r6711 (cascade deleted
items into session during add()).

15 years ago- A change to the solution for [ticket:1579] - an end-user
Mike Bayer [Tue, 16 Feb 2010 19:47:54 +0000 (19:47 +0000)] 
- A change to the solution for [ticket:1579] - an end-user
defined bind parameter name that directly conflicts with
a column-named bind generated directly from the SET or
VALUES clause of an update/insert generates a compile error.
This reduces call counts and eliminates some cases where
undesirable name conflicts could still occur.

15 years agotighten up conditionals a bit. this method is still doing too much, i.e. the whole...
Mike Bayer [Tue, 16 Feb 2010 18:00:41 +0000 (18:00 +0000)] 
tighten up conditionals a bit.  this method is still doing too much, i.e. the whole pre-visit step is pricey.

15 years agosilliness
Mike Bayer [Tue, 16 Feb 2010 16:45:27 +0000 (16:45 +0000)] 
silliness

15 years agoget tests to pass for OurSQL
Mike Bayer [Mon, 15 Feb 2010 23:59:42 +0000 (23:59 +0000)] 
get tests to pass for OurSQL

15 years agopg8000 doesn't seem to support this either
Mike Bayer [Mon, 15 Feb 2010 23:39:39 +0000 (23:39 +0000)] 
pg8000 doesn't seem to support this either

15 years agosome more 2.4 test fixes
Mike Bayer [Mon, 15 Feb 2010 22:37:37 +0000 (22:37 +0000)] 
some more 2.4 test fixes

15 years ago2.6.4 has higher numbers for some reason here
Mike Bayer [Mon, 15 Feb 2010 21:33:08 +0000 (21:33 +0000)] 
2.6.4 has higher numbers for some reason here

15 years ago2.4 fix
Mike Bayer [Mon, 15 Feb 2010 19:17:09 +0000 (19:17 +0000)] 
2.4 fix

15 years agoexclude this test for everyone but sqlite
Mike Bayer [Mon, 15 Feb 2010 19:09:21 +0000 (19:09 +0000)] 
exclude this test for everyone but sqlite

15 years agoupdate call counts
Mike Bayer [Mon, 15 Feb 2010 18:59:21 +0000 (18:59 +0000)] 
update call counts

15 years agomore cleanup
Mike Bayer [Mon, 15 Feb 2010 00:26:04 +0000 (00:26 +0000)] 
more cleanup

15 years agoGave the "state" internals a good solid
Mike Bayer [Sun, 14 Feb 2010 23:43:40 +0000 (23:43 +0000)] 
Gave the "state" internals a good solid
cleanup with less complexity, datamembers,
method calls, blank dictionary creates.

15 years ago- fix C version of rowproxy pickling so that it pickles to the same format
Gaëtan de Menten [Sun, 14 Feb 2010 21:21:40 +0000 (21:21 +0000)] 
- fix C version of rowproxy pickling so that it pickles to the same format
  as the Python version.
- changelog my earlier processor optimization work

15 years agofixed a huge bug in the C version of the unicode processor
Gaëtan de Menten [Sun, 14 Feb 2010 20:55:06 +0000 (20:55 +0000)] 
fixed a huge bug in the C version of the unicode processor

15 years ago- Further fixes for the mysql-connector dialect. [ticket:1668]
Mike Bayer [Sun, 14 Feb 2010 20:24:15 +0000 (20:24 +0000)] 
- Further fixes for the mysql-connector dialect.  [ticket:1668]

15 years agoI'm seeing lower numbers from the objselectspeed.py test, so bumping down the lower...
Mike Bayer [Sun, 14 Feb 2010 20:10:48 +0000 (20:10 +0000)] 
I'm seeing lower numbers from the objselectspeed.py test, so bumping down the lower bounds here.

15 years agolinking some API elements. this is a long job that I don't know how to speed up
Mike Bayer [Sun, 14 Feb 2010 19:45:03 +0000 (19:45 +0000)] 
linking some API elements.  this is a long job that I don't know how to speed up

15 years agorepair all doctests
Mike Bayer [Sun, 14 Feb 2010 19:29:18 +0000 (19:29 +0000)] 
repair all doctests

15 years ago- query.one() no longer applies LIMIT to the query, this to
Mike Bayer [Sun, 14 Feb 2010 19:23:35 +0000 (19:23 +0000)] 
- query.one() no longer applies LIMIT to the query, this to
ensure that it fully counts all object identities present
in the result, even in the case where joins may conceal
multiple identities for two or more rows.  As a bonus,
one() can now also be called with a query that issued
from_statement() to start with since it no longer modifies
the query.  [ticket:1688]

15 years agoadd a note
Mike Bayer [Sun, 14 Feb 2010 18:40:51 +0000 (18:40 +0000)] 
add a note

15 years agotry to clarify intent some more
Mike Bayer [Sun, 14 Feb 2010 18:39:39 +0000 (18:39 +0000)] 
try to clarify intent some more

15 years ago- Added an optional C extension to speed up the sql layer by
Gaëtan de Menten [Sat, 13 Feb 2010 22:53:39 +0000 (22:53 +0000)] 
- Added an optional C extension to speed up the sql layer by
  reimplementing the highest impact functions.
  The actual speedups will depend heavily on your DBAPI and
  the mix of datatypes used in your tables, and can vary from
  a 50% improvement to more than 200%. It also provides a modest
  (~20%) indirect improvement to ORM speed for large queries.
  Note that it is *not* built/installed by default.
  See README for installation instructions.

- The most common result processors conversion function were
  moved to the new "processors" module.  Dialect authors are
  encouraged to use those functions whenever they correspond
  to their needs instead of implementing custom ones.

15 years ago- Documentation clarification for query.delete()
Mike Bayer [Sat, 13 Feb 2010 21:40:02 +0000 (21:40 +0000)] 
- Documentation clarification for query.delete()
[ticket:1689]

15 years ago- reduced a bit of overhead in attribute expiration, particularly
Mike Bayer [Sat, 13 Feb 2010 21:16:08 +0000 (21:16 +0000)] 
- reduced a bit of overhead in attribute expiration, particularly
the version called by column loaders on an incomplete row (i.e.
joined table inheritance).  there are more dramatic changes
that can be made here but this one is conservative so far
as far as how much we're altering how InstanceState tracks
"expired" attributes.

15 years agomisc cleanups in tests (courtesy of Michael Bayer's revisiting of my
Gaëtan de Menten [Sat, 13 Feb 2010 20:53:17 +0000 (20:53 +0000)] 
misc cleanups in tests (courtesy of Michael Bayer's revisiting of my
patch)

15 years ago- For those who might use debug logging on
Mike Bayer [Sat, 13 Feb 2010 19:27:14 +0000 (19:27 +0000)] 
- For those who might use debug logging on
sqlalchemy.orm.strategies, most logging calls during row
loading have been removed.   These were never very helpful
and cluttered up the code.

- Some internal streamlining of object loading grants a
small speedup for large results, estimates are around
10-15%.

15 years agocommit a note about 2to3
Mike Bayer [Sat, 13 Feb 2010 01:59:32 +0000 (01:59 +0000)] 
commit a note about 2to3

15 years ago- Improved the installation/test setup regarding Python 3,
Mike Bayer [Sat, 13 Feb 2010 01:42:52 +0000 (01:42 +0000)] 
- Improved the installation/test setup regarding Python 3,
now that Distribute runs on Py3k.   distribute_setup.py
is now included.  See README.py3k for Python 3 installation/
testing instructions.

15 years ago- Changed the beaker cache example a bit to have a separate
Mike Bayer [Fri, 12 Feb 2010 21:43:19 +0000 (21:43 +0000)] 
- Changed the beaker cache example a bit to have a separate
RelationCache option for lazyload caching.  This object
does a lookup among any number of potential attributes
more efficiently by grouping several into a common structure.
Both FromCache and RelationCache are simpler individually.

15 years agoadding more mapper sections nobody will ever see !
Mike Bayer [Fri, 12 Feb 2010 20:42:19 +0000 (20:42 +0000)] 
adding more mapper sections nobody will ever see !

15 years agoformatting
Mike Bayer [Fri, 12 Feb 2010 20:28:23 +0000 (20:28 +0000)] 
formatting

15 years agosince I just got confused over my own serializer module, clarify its purpose
Mike Bayer [Fri, 12 Feb 2010 20:22:22 +0000 (20:22 +0000)] 
since I just got confused over my own serializer module, clarify its purpose

15 years agothis is beta2
Mike Bayer [Fri, 12 Feb 2010 19:55:32 +0000 (19:55 +0000)] 
this is beta2

15 years ago - Made sqlalchemy.sql.expressions.Executable part of public
Mike Bayer [Fri, 12 Feb 2010 19:54:49 +0000 (19:54 +0000)] 
  - Made sqlalchemy.sql.expressions.Executable part of public
    API, used for any expression construct that can be sent to
    execute().  FunctionElement now inherits Executable so that
    it gains execution_options(), which are also propagated
    to the select() that's generated within execute().
    Executable in turn subclasses _Generative which marks
    any ClauseElement that supports the @_generative
    decorator - these may also become "public" for the benefit
    of the compiler extension at some point.

15 years ago- The type/expression system now does a more complete job
Mike Bayer [Thu, 11 Feb 2010 19:33:06 +0000 (19:33 +0000)] 
- The type/expression system now does a more complete job
of determining the return type from an expression
as well as the adaptation of the Python operator into
a SQL operator, based on the full left/right/operator
of the given expression.  In particular
the date/time/interval system created for Postgresql
EXTRACT in [ticket:1647] has now been generalized into
the type system.   The previous behavior which often
occured of an expression "column + literal" forcing
the type of "literal" to be the same as that of "column"
will now usually not occur - the type of
"literal" is first derived from the Python type of the
literal, assuming standard native Python types + date
types, before falling back to that of the known type
on the other side of the expression.  Also part
of [ticket:1683].

15 years agoslightly simplify/optimize string/unicode bind processor
Gaëtan de Menten [Thu, 11 Feb 2010 13:20:41 +0000 (13:20 +0000)] 
slightly simplify/optimize string/unicode bind processor

15 years ago - Added "native_datetime=True" flag to create_engine().
Mike Bayer [Thu, 11 Feb 2010 02:23:32 +0000 (02:23 +0000)] 
   - Added "native_datetime=True" flag to create_engine().
     This will cause the DATE and TIMESTAMP types to skip
     all bind parameter and result row processing, under
     the assumption that PARSE_DECLTYPES has been enabled
     on the connection.  Note that this is not entirely
     compatible with the "func.current_date()", which
     will be returned as a string. [ticket:1685]

15 years agoFixed bug in session.merge() blocking dict-like collections from merging.
Jason Kirtland [Thu, 11 Feb 2010 00:43:34 +0000 (00:43 +0000)] 
Fixed bug in session.merge() blocking dict-like collections from merging.

15 years agoFix mysql reflection of TINYINT(1) UNSIGNED columns.
Jason Kirtland [Wed, 10 Feb 2010 18:32:56 +0000 (18:32 +0000)] 
Fix mysql reflection of TINYINT(1) UNSIGNED columns.

15 years ago- Restored the keys() method to ResultProxy.
Mike Bayer [Wed, 10 Feb 2010 14:55:37 +0000 (14:55 +0000)] 
- Restored the keys() method to ResultProxy.

15 years ago- Fixed reflection bug whereby when COLLATE was present,
Mike Bayer [Wed, 10 Feb 2010 05:46:03 +0000 (05:46 +0000)] 
- Fixed reflection bug whereby when COLLATE was present,
nullable flag and server defaults would not be reflected.
[ticket:1655]

15 years agoFix instance.__eq__() regression in orm attributes.
Jason Kirtland [Tue, 9 Feb 2010 22:38:00 +0000 (22:38 +0000)] 
Fix instance.__eq__() regression in orm attributes.

15 years agoLink to the maintained version of the kinterbasdb driver, fixes #1677
Lele Gaifax [Tue, 9 Feb 2010 09:12:58 +0000 (09:12 +0000)] 
Link to the maintained version of the kinterbasdb driver, fixes #1677

15 years ago- Query called in the context of an expression will render
Mike Bayer [Mon, 8 Feb 2010 18:37:47 +0000 (18:37 +0000)] 
- Query called in the context of an expression will render
disambiguating labels in all cases.    Note that this does
not apply to the existing .statement and .subquery()
accessor/method, which still honors the .with_labels()
setting that defaults to False.

- Query.union() retains disambiguating labels within the
returned statement, thus avoiding various SQL composition
errors which can result from column name conflicts.
[ticket:1676]

15 years agofix up formatting, add OurSQL
Mike Bayer [Mon, 8 Feb 2010 15:54:11 +0000 (15:54 +0000)] 
fix up formatting, add OurSQL

15 years ago- Now uses sqlalchemy.orm.exc.DetachedInstanceError when an
Mike Bayer [Sun, 7 Feb 2010 23:58:17 +0000 (23:58 +0000)] 
- Now uses sqlalchemy.orm.exc.DetachedInstanceError when an
attribute load or refresh action fails due to object
being detached from any Session.   UnboundExecutionError
is specific to engines bound to sessions and statements.

15 years agoadd sql_compiler property to all Compiled subclasses for convenience
Mike Bayer [Sun, 7 Feb 2010 19:51:45 +0000 (19:51 +0000)] 
add sql_compiler property to all Compiled subclasses for convenience

15 years agodont reference self.statement during compilation
Mike Bayer [Sun, 7 Feb 2010 19:24:49 +0000 (19:24 +0000)] 
dont reference self.statement during compilation

15 years ago- FunctionElement subclasses are now directly executable the
Mike Bayer [Sun, 7 Feb 2010 00:56:05 +0000 (00:56 +0000)] 
- FunctionElement subclasses are now directly executable the
same way any func.foo() construct is, with automatic
SELECT being applied when passed to execute().

- The "type" and "bind" keyword arguments of a func.foo()
construct are now local to "func." constructs and are
not part of the FunctionElement base class, allowing
a "type" to be handled in a custom constructor or
class-level variable.

15 years agoadd a note about type for ColumnElement
Mike Bayer [Sun, 7 Feb 2010 00:18:15 +0000 (00:18 +0000)] 
add a note about type for ColumnElement

15 years agofix
Mike Bayer [Sat, 6 Feb 2010 01:36:29 +0000 (01:36 +0000)] 
fix

15 years ago- Re-established initial support for pymssql.
Mike Bayer [Sat, 6 Feb 2010 00:01:39 +0000 (00:01 +0000)] 
- Re-established initial support for pymssql.

15 years ago- Slight improvement to the fix for [ticket:1362] to not issue
Mike Bayer [Fri, 5 Feb 2010 19:16:10 +0000 (19:16 +0000)] 
- Slight improvement to the fix for [ticket:1362] to not issue
needless updates of the primary key column during a so-called
"row switch" operation, i.e. add + delete of two objects
with the same PK.

15 years ago- Fixed bug in session.rollback() which involved not removing
Mike Bayer [Fri, 5 Feb 2010 18:12:38 +0000 (18:12 +0000)] 
- Fixed bug in session.rollback() which involved not removing
formerly "pending" objects from the session before
re-integrating "deleted" objects, typically occured with
natural primary keys. If there was a primary key conflict
between them, the attach of the deleted would fail
internally. The formerly "pending" objects are now expunged
first. [ticket:1674]

15 years ago- Added math negation operator support, -x.
Mike Bayer [Fri, 5 Feb 2010 15:49:02 +0000 (15:49 +0000)] 
- Added math negation operator support, -x.

15 years agoa big, unmissable, green box describing the caveats of String() and Sequence.
Mike Bayer [Fri, 5 Feb 2010 01:01:40 +0000 (01:01 +0000)] 
a big, unmissable, green box describing the caveats of String() and Sequence.

15 years agobug #1 , wrong 0.5 version mentioned !
Mike Bayer [Wed, 3 Feb 2010 17:39:16 +0000 (17:39 +0000)] 
bug #1 , wrong 0.5 version mentioned !

15 years ago- official name rel_0_6beta1
Mike Bayer [Wed, 3 Feb 2010 16:59:10 +0000 (16:59 +0000)] 
- official name
- remove the switch readme

15 years agothe order of rollback()s wasn't correct. slightly disturbing as the test usually...
Mike Bayer [Tue, 2 Feb 2010 23:26:34 +0000 (23:26 +0000)] 
the order of rollback()s wasn't correct.  slightly disturbing as the test usually passed,
began failing on PG as of somewhat unrelated commit r6705, and only when the full test/engine series
of tests were run.  very heisenbuggy. may want to add tests to assert that TLEngine is enforcing
nesting even with subtransactions.

15 years ago- Primary key values can now be changed on a joined-table inheritance
Mike Bayer [Tue, 2 Feb 2010 22:56:19 +0000 (22:56 +0000)] 
- Primary key values can now be changed on a joined-table inheritance
object, and ON UPDATE CASCADE will be taken into account when
the flush happens.  Set the new "passive_updates" flag to False
on mapper() when using SQLite or MySQL/MyISAM. [ticket:1362]

- flush() now detects when a primary key column was updated by
an ON UPDATE CASCADE operation from another primary key, and
can then locate the row for a subsequent UPDATE on the new PK
value.  This occurs when a relation() is there to establish
the relationship as well as passive_updates=True.  [ticket:1671]

15 years agoformatting tweak
Mike Bayer [Tue, 2 Feb 2010 01:48:01 +0000 (01:48 +0000)] 
formatting tweak

15 years agoadd 0.5.9 note for [ticket:1661]
Mike Bayer [Tue, 2 Feb 2010 01:17:44 +0000 (01:17 +0000)] 
add 0.5.9 note for [ticket:1661]

15 years ago- added a failing-so-far test for #1671
Mike Bayer [Mon, 1 Feb 2010 23:38:51 +0000 (23:38 +0000)] 
- added a failing-so-far test for #1671