]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
11 years ago- Fixed regression caused by release 0.8.5 / 0.9.3's compatibility
Mike Bayer [Tue, 25 Mar 2014 16:26:42 +0000 (12:26 -0400)] 
- Fixed regression caused by release 0.8.5 / 0.9.3's compatibility
enhancements where index reflection on Postgresql versions specific
to only the 8.1, 8.2 series again
broke, surrounding the ever problematic int2vector type.  While
int2vector supports array operations as of 8.1, apparently it only
supports CAST to a varchar as of 8.3.
fix #3000

11 years agoadd some more mock structure so tricky DBAPIs like pypy work
Mike Bayer [Mon, 24 Mar 2014 23:30:44 +0000 (19:30 -0400)] 
add some more mock structure so tricky DBAPIs like pypy work

11 years agofix
Mike Bayer [Mon, 24 Mar 2014 17:33:53 +0000 (13:33 -0400)] 
fix

11 years ago- add some more rules to make sure all tests run if DBs are available
Mike Bayer [Mon, 24 Mar 2014 16:49:22 +0000 (12:49 -0400)] 
- add some more rules to make sure all tests run if DBs are available

11 years agofix some mysqlconnector failures
Mike Bayer [Mon, 24 Mar 2014 16:12:26 +0000 (12:12 -0400)] 
fix some mysqlconnector failures

11 years ago- fix the uuid routine here to not run out of uuids
Mike Bayer [Mon, 24 Mar 2014 15:57:38 +0000 (11:57 -0400)] 
- fix the uuid routine here to not run out of uuids

11 years ago- fix some doctest failures (though some remain, as it's not easy to get doctest
Mike Bayer [Mon, 24 Mar 2014 15:48:18 +0000 (11:48 -0400)] 
- fix some doctest failures (though some remain, as it's not easy to get doctest
to accept things flexibly), fix #2999

11 years ago- rename __multiple__ to __backend__, and apply __backend__ to a large number of...
Mike Bayer [Mon, 24 Mar 2014 15:33:53 +0000 (11:33 -0400)] 
- rename __multiple__ to __backend__, and apply __backend__ to a large number of tests.
- move out logging tests from test_execute to test_logging

11 years ago- Added some new event mechanics for dialect-level events; the initial
Mike Bayer [Mon, 24 Mar 2014 14:22:39 +0000 (10:22 -0400)] 
- Added some new event mechanics for dialect-level events; the initial
implementation allows an event handler to redefine the specific mechanics
by which an arbitrary dialect invokes execute() or executemany() on a
DBAPI cursor.  The new events, at this point semi-public and experimental,
are in support of some upcoming transaction-related extensions.

11 years agotake out accidental PG dialect use here
Mike Bayer [Mon, 24 Mar 2014 14:09:07 +0000 (10:09 -0400)] 
take out accidental PG dialect use here

11 years agosome profile updates...
Mike Bayer [Mon, 24 Mar 2014 01:39:17 +0000 (21:39 -0400)] 
some profile updates...

11 years ago- Fixed regression from 0.8.3 as a result of :ticket:`2818`
Mike Bayer [Sat, 22 Mar 2014 23:55:00 +0000 (19:55 -0400)] 
- Fixed regression from 0.8.3 as a result of :ticket:`2818`
where :meth:`.Query.exists` wouldn't work on a query that only
had a :meth:`.Query.select_from` entry but no other entities.
re: #2818 fixes #2995

11 years ago- An event listener can now be associated with a :class:`.Engine`,
Mike Bayer [Sat, 22 Mar 2014 23:34:18 +0000 (19:34 -0400)] 
- An event listener can now be associated with a :class:`.Engine`,
after one or more :class:`.Connection` objects have been created
(such as by an orm :class:`.Session` or via explicit connect)
and the listener will pick up events from those connections.
Previously, performance concerns pushed the event transfer from
:class:`.Engine` to  :class:`.Connection` at init-time only, but
we've inlined a bunch of conditional checks to make this possible
without any additional function calls. fixes #2978

11 years agothere's no "assert_call_count" on mock
Mike Bayer [Sat, 22 Mar 2014 23:10:00 +0000 (19:10 -0400)] 
there's no "assert_call_count" on mock

11 years ago- restore the old behavior of the connection pool replacing itself just
Mike Bayer [Sat, 22 Mar 2014 23:02:37 +0000 (19:02 -0400)] 
- restore the old behavior of the connection pool replacing itself just
within userland engine.dispose(); as some SQLA tests already failed when the replace step
was removed, due to those conns still being referenced, it's likely this will
create surprises for all those users that incorrectly use dispose()
and it's not really worth dealing with.  This doesn't affect the change
we made for ref: #2985.

11 years ago- Fixed a few errant ``u''`` strings that would prevent tests from passing
Mike Bayer [Sat, 22 Mar 2014 22:48:59 +0000 (18:48 -0400)] 
- Fixed a few errant ``u''`` strings that would prevent tests from passing
in Py3.2.  Patch courtesy Arfrever Frehtes Taifersar Arahesis. fixes #2980

11 years ago- A major improvement made to the mechanics by which the :class:`.Engine`
Mike Bayer [Sat, 22 Mar 2014 22:45:39 +0000 (18:45 -0400)] 
- A major improvement made to the mechanics by which the :class:`.Engine`
recycles the connection pool when a "disconnect" condition is detected;
instead of discarding the pool and explicitly closing out connections,
the pool is retained and a "generational" timestamp is updated to
reflect the current time, thereby causing all existing connections
to be recycled when they are next checked out.   This greatly simplifies
the recycle process, removes the need for "waking up" connect attempts
waiting on the old pool and eliminates the race condition that many
immediately-discarded "pool" objects could be created during the
recycle operation. fixes #2985

11 years ago- Added new datatype :class:`.oracle.DATE`, which is a subclass of
Mike Bayer [Sat, 22 Mar 2014 22:22:17 +0000 (18:22 -0400)] 
- Added new datatype :class:`.oracle.DATE`, which is a subclass of
:class:`.DateTime`.  As Oracle has no "datetime" type per se,
it instead has only ``DATE``, it is appropriate here that the
``DATE`` type as present in the Oracle dialect be an instance of
:class:`.DateTime`.  This issue doesn't change anything as far as
the behavior of the type, as data conversion is handled by the
DBAPI in any case, however the improved subclass layout will help
the use cases of inspecting types for cross-database compatibility.
Also removed uppercase ``DATETIME`` from the Oracle dialect as this
type isn't functional in that context.  fixes #2987

11 years ago- we aren't supporting py2.5 so just simplify this import for platform, re: #2986
Mike Bayer [Sat, 22 Mar 2014 21:49:35 +0000 (17:49 -0400)] 
- we aren't supporting py2.5 so just simplify this import for platform, re: #2986

11 years ago- Adjusted ``setup.py`` file to support the possible future
Mike Bayer [Sat, 22 Mar 2014 21:31:50 +0000 (17:31 -0400)] 
- Adjusted ``setup.py`` file to support the possible future
removal of the ``setuptools.Feature`` extension from setuptools.
If this keyword isn't present, the setup will still succeed
with setuptools rather than falling back to distutils.  C extension
building can be disabled now also by setting the
DISABLE_SQLALCHEMY_CEXT environment variable.  This variable works
whether or not setuptools is even available. fixes #2986
- using platform.python_implementation() in setup.py to detect CPython.
I've tested this function on OSX and linux on Python 2.6 through 3.4,
including 3.1, 3.2, 3.3.
Unfortunately, on OSX + 3.2 only, it seems to segfault.  I've tried
installing 3.2.5 from the python.org .dmg, building it from source,
and also blew away the whole 3.2 directory, something seems to be wrong
with the "platform" module on that platform only, and there's also no
issue on bugs.python.org; however, I'm going with
it anyway. If someone is using 3.2 on OSX they really should be upgrading.

11 years agochangelog to fix #2988
Mike Bayer [Sat, 22 Mar 2014 20:36:06 +0000 (16:36 -0400)] 
changelog to fix #2988

11 years agoMerge branch 'fix_table_registration' of https://github.com/malor/sqlalchemy into t
Mike Bayer [Sat, 22 Mar 2014 20:34:51 +0000 (16:34 -0400)] 
Merge branch 'fix_table_registration' of https://github.com/malor/sqlalchemy into t

11 years agoMerge pull request #81 from tony/patch-2
mike bayer [Fri, 21 Mar 2014 13:59:23 +0000 (09:59 -0400)] 
Merge pull request #81 from tony/patch-2

Fix tag typo in changelog_09

11 years agoFix tag typo in changelog_09
Tony Narlock [Fri, 21 Mar 2014 13:42:37 +0000 (08:42 -0500)] 
Fix tag typo in changelog_09

11 years ago- reword the paragraph which talks about web framework integration for sessions:
Mike Bayer [Fri, 21 Mar 2014 02:46:23 +0000 (22:46 -0400)] 
- reword the paragraph which talks about web framework integration for sessions:

1. fix the typo in the paragraph, fixes #2998
2. as zope-sqlalchemy only provides transaction integration and not session scoping,
dial back the language here as people are probably using scoped_session with pyramid anyway
3. as I'm going to again start recommending people don't cling to flask-sqlalchemy so hard,
take out the word "strongly" from the recommendation.
4. as flask is the only framework I can think of that actually has an explicit SQLAlchemy
layer that handles setting up scoped_session, take out the word "most", now it's "some web frameworks"
(by which it means "only flask...and flask-sqlalchemy is probably not worth using anyway")

11 years ago- The :meth:`.ConnectionEvents.after_cursor_execute` event is now
Mike Bayer [Wed, 19 Mar 2014 17:03:44 +0000 (13:03 -0400)] 
- The :meth:`.ConnectionEvents.after_cursor_execute` event is now
emitted for the "_cursor_execute()" method of :class:`.Connection`;
this is the "quick" executor that is used for things like
when a sequence is executed ahead of an INSERT statement, as well as
for dialect startup checks like unicode returns, charset, etc.
the :meth:`.ConnectionEvents.before_cursor_execute` event was already
invoked here.  The "executemany" flag is now always set to False
here, as this event always corresponds to a single execution.
Previously the flag could be True if we were acting on behalf of
an executemany INSERT statement.

11 years agofix assertion
Mike Bayer [Wed, 19 Mar 2014 15:47:58 +0000 (11:47 -0400)] 
fix assertion

11 years ago- Fixed bug in mutable extension as well as
Mike Bayer [Wed, 19 Mar 2014 15:09:38 +0000 (11:09 -0400)] 
- Fixed bug in mutable extension as well as
:func:`.attributes.flag_modified` where the change event would not be
propagated if the attribute had been reassigned to itself.
fixes #2997

11 years agoMerge branch 'ca/dev/add_is_and_isnot_to_tutorial' of https://github.com/charlax...
Mike Bayer [Mon, 17 Mar 2014 21:27:21 +0000 (17:27 -0400)] 
Merge branch 'ca/dev/add_is_and_isnot_to_tutorial' of https://github.com/charlax/sqlalchemy

11 years ago- Improved an error message which would occur if a query() were made
Mike Bayer [Mon, 17 Mar 2014 20:25:51 +0000 (16:25 -0400)] 
- Improved an error message which would occur if a query() were made
against a non-selectable, such as a :func:`.literal_column`, and then
an attempt was made to use :meth:`.Query.join` such that the "left"
side would be determined as ``None`` and then fail.  This condition
is now detected explicitly.

11 years agotypo
Mike Bayer [Sun, 16 Mar 2014 18:51:06 +0000 (14:51 -0400)] 
typo

11 years ago- Added support for the not-quite-yet-documented ``insert=True``
Mike Bayer [Sun, 16 Mar 2014 18:50:55 +0000 (14:50 -0400)] 
- Added support for the not-quite-yet-documented ``insert=True``
flag for :func:`.event.listen` to work with mapper / instance events.

11 years agoAdd is_ and isnot filter to the tutorial
Charles-Axel Dein [Sat, 15 Mar 2014 00:40:04 +0000 (17:40 -0700)] 
Add is_ and isnot filter to the tutorial

Most linter complain when comparing with None.

11 years ago- fairly epic rework of the cascade documentation
Mike Bayer [Sat, 15 Mar 2014 19:44:29 +0000 (15:44 -0400)] 
- fairly epic rework of the cascade documentation

11 years ago- correct this to make the intention clear
Mike Bayer [Fri, 14 Mar 2014 00:14:23 +0000 (20:14 -0400)] 
- correct this to make the intention clear

11 years ago- Added support for literal rendering of boolean values, e.g.
Mike Bayer [Fri, 14 Mar 2014 00:03:48 +0000 (20:03 -0400)] 
- Added support for literal rendering of boolean values, e.g.
"true" / "false" or "1" / "0".
- added Boolean tests to the test suite

11 years ago- move some requirements up to the testing module to better support running
Mike Bayer [Thu, 13 Mar 2014 23:59:10 +0000 (19:59 -0400)] 
- move some requirements up to the testing module to better support running
SQLA internal tests outside; plus things like savepoints, twophase

11 years agocomment
Mike Bayer [Thu, 13 Mar 2014 23:18:58 +0000 (19:18 -0400)] 
comment

11 years ago- add a suite test for underscore as initial char
Mike Bayer [Thu, 13 Mar 2014 23:05:22 +0000 (19:05 -0400)] 
- add a suite test for underscore as initial char

11 years ago- add more support for suite tests, moving some tests from test_query out to suite
Mike Bayer [Thu, 13 Mar 2014 22:54:56 +0000 (18:54 -0400)] 
- add more support for suite tests, moving some tests from test_query out to suite
and adding some more requirements

11 years agoRemove tables from metadata when autoload fails
Roman Podoliaka [Tue, 11 Mar 2014 00:34:42 +0000 (17:34 -0700)] 
Remove tables from metadata when autoload fails

If autoloading of a table fails, don't register it in a metadata
instance. It seems that the original behaviour was accidentally
changed in f6198d9abf453182f4b111e0579a7a4ef1614e79, restore it.

Closes issue #2988

11 years ago- Added a new feature :func:`.schema.conv`, the purpose of which is to
Mike Bayer [Wed, 12 Mar 2014 21:33:03 +0000 (17:33 -0400)] 
- Added a new feature :func:`.schema.conv`, the purpose of which is to
mark a constraint name as already having had a naming convention applied.
This token will be used by Alembic migrations as of Alembic 0.6.4
in order to render constraints in migration scripts with names marked
as already having been subject to a naming convention.
re: #2991

11 years ago:paramref:`.MetaData.naming_convention` feature will now also
Mike Bayer [Wed, 12 Mar 2014 19:09:48 +0000 (15:09 -0400)] 
:paramref:`.MetaData.naming_convention` feature will now also
apply to :class:`.CheckConstraint` objects that are associated
directly with a :class:`.Column` instead of just on the
:class:`.Table`.

11 years ago- Fixed bug in new :paramref:`.MetaData.naming_convention` feature
Mike Bayer [Wed, 12 Mar 2014 18:46:55 +0000 (14:46 -0400)] 
- Fixed bug in new :paramref:`.MetaData.naming_convention` feature
where the name of a check constraint making use of the
`"%(constraint_name)s"` token would get doubled up for the
constraint generated by a boolean or enum type, and overall
duplicate events would cause the `"%(constraint_name)s"` token
to keep compounding itself.
fixes #2991

11 years agounitttest has a SkipTest also but pytest doesn't
Mike Bayer [Tue, 11 Mar 2014 22:06:20 +0000 (18:06 -0400)] 
unitttest has a SkipTest also but pytest doesn't
honor it unless nose is imported too...

11 years agoadd a string example for self-refenretial many-to-many
Mike Bayer [Tue, 11 Mar 2014 21:10:16 +0000 (17:10 -0400)] 
add a string example for self-refenretial many-to-many

11 years ago- A warning is emitted if the :meth:`.MapperEvents.before_configured`
Mike Bayer [Tue, 11 Mar 2014 16:39:00 +0000 (12:39 -0400)] 
- A warning is emitted if the :meth:`.MapperEvents.before_configured`
or :meth:`.MapperEvents.after_configured` events are applied to a
specific mapper or mapped class, as the events are only invoked
for the :class:`.Mapper` target at the general level.

11 years ago- Added a new keyword argument ``once=True`` to :func:`.event.listen`
Mike Bayer [Tue, 11 Mar 2014 16:27:10 +0000 (12:27 -0400)] 
- Added a new keyword argument ``once=True`` to :func:`.event.listen`
and :func:`.event.listens_for`.  This is a convenience feature which
will wrap the given listener such that it is only invoked once.

11 years agoMerge pull request #79 from nibrahim/master
mike bayer [Tue, 11 Mar 2014 15:30:33 +0000 (11:30 -0400)] 
Merge pull request #79 from nibrahim/master

Fixes argument number in docs

11 years agoFixes argument number in docs
Noufal Ibrahim [Tue, 11 Mar 2014 11:52:01 +0000 (17:22 +0530)] 
Fixes argument number in docs

The selectable is the third argument to with_polymorphic.

11 years agotake out the support paragraph and just put a basic intro
Mike Bayer [Sun, 9 Mar 2014 23:13:35 +0000 (19:13 -0400)] 
take out the support paragraph and just put a basic intro

11 years agoMerge pull request #75 from msabramo/pymssql_update_web_site
mike bayer [Sun, 9 Mar 2014 23:08:45 +0000 (19:08 -0400)] 
Merge pull request #75 from msabramo/pymssql_update_web_site

Update URL for pymssql

11 years agoput fails for these various things that don't work on pypy, not sure what approach
Mike Bayer [Sat, 8 Mar 2014 18:52:27 +0000 (13:52 -0500)] 
put fails for these various things that don't work on pypy, not sure what approach
should be taken

11 years agoimport testing needs to be here as we set .db on it
Mike Bayer [Fri, 7 Mar 2014 22:26:57 +0000 (17:26 -0500)] 
import testing needs to be here as we set .db on it

11 years ago- cx_oracle test for "unicode returns" needs to be cx_oracle only,
Mike Bayer [Thu, 6 Mar 2014 16:57:54 +0000 (11:57 -0500)] 
- cx_oracle test for "unicode returns" needs to be cx_oracle only,
and also will fail on py3k.
- enhance exclusions so that a requirement attribute can be passed
to fails_if/skip_if.
- fix coverage docs to mention pytest.

11 years ago- changelog for pullreq github:74
Mike Bayer [Wed, 5 Mar 2014 23:58:37 +0000 (18:58 -0500)] 
- changelog for pullreq github:74
- various improvemnts to oracle docs, rewrite section on unicode, more linking,
enhance section on resolve_synonyms

11 years agoMerge branch 'master' of https://github.com/Cito/sqlalchemy into t
Mike Bayer [Wed, 5 Mar 2014 23:16:11 +0000 (18:16 -0500)] 
Merge branch 'master' of https://github.com/Cito/sqlalchemy into t

11 years ago- Fixed small issue in :class:`.SingletonThreadPool` where the current
Mike Bayer [Wed, 5 Mar 2014 23:14:09 +0000 (18:14 -0500)] 
- Fixed small issue in :class:`.SingletonThreadPool` where the current
connection to be returned might get inadvertently cleaned out during
the "cleanup" process.  Patch courtesy jd23.

11 years agoignore .patch files
Mike Bayer [Wed, 5 Mar 2014 23:07:24 +0000 (18:07 -0500)] 
ignore .patch files

11 years ago- finding myself still using nose for short runs as it starts up faster,
Mike Bayer [Wed, 5 Mar 2014 14:51:55 +0000 (09:51 -0500)] 
- finding myself still using nose for short runs as it starts up faster,
let's stay on the fence.

11 years agopytest calls all the descriptors. and we can't call this one unconditionally
Mike Bayer [Tue, 4 Mar 2014 23:17:53 +0000 (18:17 -0500)] 
pytest calls all the descriptors.  and we can't call this one unconditionally

11 years ago- no unitest.SkipTest in 2.6...arggggg
Mike Bayer [Tue, 4 Mar 2014 17:58:14 +0000 (12:58 -0500)] 
- no unitest.SkipTest in 2.6...arggggg

11 years agocut out the BS as far as MySQLdb urls, put the one url everyone should be using
Mike Bayer [Tue, 4 Mar 2014 17:51:23 +0000 (12:51 -0500)] 
cut out the BS as far as MySQLdb urls, put the one url everyone should be using

11 years ago- Fixed bug in association proxy where assigning an empty slice
Mike Bayer [Tue, 4 Mar 2014 15:59:27 +0000 (10:59 -0500)] 
- Fixed bug in association proxy where assigning an empty slice
(e.g. ``x[:] = [...]``) would fail on Py3k.

11 years agoadd a seealso here
Mike Bayer [Tue, 4 Mar 2014 05:44:57 +0000 (00:44 -0500)] 
add a seealso here

11 years agofix the profiling ids here
Mike Bayer [Mon, 3 Mar 2014 23:43:28 +0000 (18:43 -0500)] 
fix the profiling ids here

11 years agofix pypy failures
Mike Bayer [Mon, 3 Mar 2014 21:18:09 +0000 (16:18 -0500)] 
fix pypy failures

11 years ago- Support has been added for pytest to run tests. This runner
Mike Bayer [Mon, 3 Mar 2014 20:55:17 +0000 (15:55 -0500)] 
- Support has been added for pytest to run tests.   This runner
is currently being supported in addition to nose, and will likely
be preferred to nose going forward.   The nose plugin system used
by SQLAlchemy has been split out so that it works under pytest as
well.  There are no plans to drop support for nose at the moment
and we hope that the test suite itself can continue to remain as
agnostic of testing platform as possible.  See the file
README.unittests.rst for updated information on running tests
with pytest.

The test plugin system has also been enhanced to support running
tests against mutiple database URLs at once, by specifying the ``--db``
and/or ``--dburi`` flags multiple times.  This does not run the entire test
suite for each database, but instead allows test cases that are specific
to certain backends make use of that backend as the test is run.
When using pytest as the test runner, the system will also run
specific test suites multiple times, once for each database, particularly
those tests within the "dialect suite".   The plan is that the enhanced
system will also be used by Alembic, and allow Alembic to run
migration operation tests against multiple backends in one run, including
third-party backends not included within Alembic itself.
Third party dialects and extensions are also encouraged to standardize
on SQLAlchemy's test suite as a basis; see the file README.dialects.rst
for background on building out from SQLAlchemy's test platform.

11 years agodialects/mssql/pymssql.py: Remove second two paragraphs, as requested by @zzzeek.
Marc Abramowitz [Mon, 3 Mar 2014 17:15:28 +0000 (09:15 -0800)] 
dialects/mssql/pymssql.py: Remove second two paragraphs, as requested by @zzzeek.

11 years ago- get util.get_callable_argspec() to be completely bulletproof for 2.6-3.4,
Mike Bayer [Sun, 2 Mar 2014 18:59:06 +0000 (13:59 -0500)] 
- get util.get_callable_argspec() to be completely bulletproof for 2.6-3.4,
methods, classes, builtins, functools.partial(), everything known so far
- use get_callable_argspec() within ColumnDefault._maybe_wrap_callable, re: #2979

11 years ago- Fixed some test/feature failures occurring in Python 3.4,
Mike Bayer [Sun, 2 Mar 2014 15:39:48 +0000 (10:39 -0500)] 
- Fixed some test/feature failures occurring in Python 3.4,
in particular the logic used to wrap "column default" callables
wouldn't work properly for Python built-ins.
fixes #2979

11 years ago- add new tests for individual type reflection
Mike Bayer [Sat, 1 Mar 2014 18:55:30 +0000 (13:55 -0500)] 
- add new tests for individual type reflection

11 years agouse view_column requirement here
Mike Bayer [Fri, 28 Feb 2014 23:57:39 +0000 (18:57 -0500)] 
use view_column requirement here

11 years ago- dont create a self-ref FK if test suite marked as not supporting self ref
Mike Bayer [Fri, 28 Feb 2014 23:50:18 +0000 (18:50 -0500)] 
- dont create a self-ref FK if test suite marked as not supporting self ref
- break out reflection of views to support view column reflection separately
from view definition

11 years agofix typos
Mike Bayer [Fri, 28 Feb 2014 19:26:35 +0000 (14:26 -0500)] 
fix typos

11 years agoadd a migration for this one
Mike Bayer [Fri, 28 Feb 2014 19:23:44 +0000 (14:23 -0500)] 
add a migration for this one

11 years ago- Added a new option to :paramref:`.relationship.innerjoin` which is
Mike Bayer [Fri, 28 Feb 2014 19:15:13 +0000 (14:15 -0500)] 
- Added a new option to :paramref:`.relationship.innerjoin` which is
to specify the string ``"nested"``.  When set to ``"nested"`` as opposed
to ``True``, the "chaining" of joins will parenthesize the inner join on the
right side of an existing outer join, instead of chaining as a string
of outer joins.   This possibly should have been the default behavior
when 0.9 was released, as we introduced the feature of right-nested
joins in the ORM, however we are keeping it as a non-default for now
to avoid further surprises.
fixes #2976

11 years agoUpdate pymssql dialect description, remove "limitations" section
Marc Abramowitz [Fri, 28 Feb 2014 02:45:31 +0000 (18:45 -0800)] 
Update pymssql dialect description, remove "limitations" section

11 years ago- Fixed bug in :func:`.tuple_` construct where the "type" of essentially
Mike Bayer [Fri, 28 Feb 2014 00:54:49 +0000 (19:54 -0500)] 
- Fixed bug in :func:`.tuple_` construct where the "type" of essentially
the first SQL expression would be applied as the "comparison type"
to a compared tuple value; this has the effect in some cases of an
inappropriate "type coersion" occurring, such as when a tuple that
has a mix of String and Binary values improperly coerces target
values to Binary even though that's not what they are on the left
side.  :func:`.tuple_` now expects heterogeneous types within its
list of values.
fixes #2977

11 years agoUpdate URL for pymssql
Marc Abramowitz [Thu, 27 Feb 2014 22:45:56 +0000 (14:45 -0800)] 
Update URL for pymssql

11 years agoRestore coercion to unicode with cx_Oracle.
Christoph Zwerschke [Thu, 27 Feb 2014 20:15:21 +0000 (21:15 +0100)] 
Restore coercion to unicode with cx_Oracle.

This feature is now turned off by default.

11 years agorestore the contracts of update/extend to the degree that the same column identity
Mike Bayer [Thu, 27 Feb 2014 18:50:47 +0000 (13:50 -0500)] 
restore the contracts of update/extend to the degree that the same column identity
isn't appended to the list.  reflection makes use of this.

11 years ago- Fixed a regression in association proxy caused by :ticket:`2810` which
Mike Bayer [Thu, 27 Feb 2014 18:29:59 +0000 (13:29 -0500)] 
- Fixed a regression in association proxy caused by :ticket:`2810` which
caused a user-provided "getter" to no longer receive values of ``None``
when fetching scalar values from a target that is non-present.  The
check for None introduced by this change is now moved into the default
getter, so a user-provided getter will also again receive values of
None.
re: #2810

11 years ago- Removed stale names from ``sqlalchemy.orm.interfaces.__all__`` and
Mike Bayer [Thu, 27 Feb 2014 00:27:22 +0000 (19:27 -0500)] 
- Removed stale names from ``sqlalchemy.orm.interfaces.__all__`` and
refreshed with current names, so that an ``import *`` from this
module again works.
fixes #2975

11 years ago- Adjusted the logic which applies names to the .c collection when
Mike Bayer [Wed, 26 Feb 2014 20:45:52 +0000 (15:45 -0500)] 
- Adjusted the logic which applies names to the .c collection when
a no-name :class:`.BindParameter` is received, e.g. via :func:`.sql.literal`
or similar; the "key" of the bind param is used as the key within
.c. rather than the rendered name.  Since these binds have "anonymous"
names in any case, this allows individual bound parameters to
have their own name within a selectable if they are otherwise unlabeled.
fixes #2974

11 years ago- Some changes to how the :attr:`.FromClause.c` collection behaves
Mike Bayer [Wed, 26 Feb 2014 20:34:49 +0000 (15:34 -0500)] 
- Some changes to how the :attr:`.FromClause.c` collection behaves
when presented with duplicate columns.  The behavior of emitting a
warning and replacing the old column with the same name still
remains to some degree; the replacement in particular is to maintain
backwards compatibility.  However, the replaced column still remains
associated with the ``c`` collection now in a collection ``._all_columns``,
which is used by constructs such as aliases and unions, to deal with
the set of columns in ``c`` more towards what is actually in the
list of columns rather than the unique set of key names.  This helps
with situations where SELECT statements with same-named columns
are used in unions and such, so that the union can match the columns
up positionally and also there's some chance of :meth:`.FromClause.corresponding_column`
still being usable here (it can now return a column that is only
in selectable.c._all_columns and not otherwise named).
The new collection is underscored as we still need to decide where this
list might end up.   Theoretically it
would become the result of iter(selectable.c), however this would mean
that the length of the iteration would no longer match the length of
keys(), and that behavior needs to be checked out.
fixes #2974
- add a bunch more tests for ColumnCollection

11 years ago- Fixed issue in new :meth:`.TextClause.columns` method where the ordering
Mike Bayer [Wed, 26 Feb 2014 18:28:14 +0000 (13:28 -0500)] 
- Fixed issue in new :meth:`.TextClause.columns` method where the ordering
of columns given positionally would not be preserved.   This could
have potential impact in positional situations such as applying the
resulting :class:`.TextAsFrom` object to a union.

11 years ago- use MutableMapping to make this more succinct, complete
Mike Bayer [Wed, 26 Feb 2014 05:27:54 +0000 (00:27 -0500)] 
- use MutableMapping to make this more succinct, complete

11 years agodocs
Mike Bayer [Wed, 26 Feb 2014 01:10:52 +0000 (20:10 -0500)] 
docs

11 years ago- The new dialect-level keyword argument system for schema-level
Mike Bayer [Wed, 26 Feb 2014 00:52:17 +0000 (19:52 -0500)] 
- The new dialect-level keyword argument system for schema-level
constructs has been enhanced in order to assist with existing
schemes that rely upon addition of ad-hoc keyword arguments to
constructs.
- To suit the use case of allowing custom arguments at construction time,
the :meth:`.DialectKWArgs.argument_for` method now allows this registration.
fixes #2962

11 years ago- Fixed bug where events set to listen at the class
Mike Bayer [Tue, 25 Feb 2014 21:55:42 +0000 (16:55 -0500)] 
- Fixed bug where events set to listen at the class
level (e.g. on the :class:`.Mapper` or :class:`.ClassManager`
level, as opposed to on an individual mapped class, and also on
:class:`.Connection`) that also made use of internal argument conversion
(which is most within those categories) would fail to be removable.
fixes #2973

11 years ago- we're testing a query here with non-standard aliasing which fails on PG and MySQL.
Mike Bayer [Mon, 24 Feb 2014 17:59:32 +0000 (12:59 -0500)] 
- we're testing a query here with non-standard aliasing which fails on PG and MySQL.
Leave this test in place as its ultimately a SQLite use case, but only test on SQLite.
We perhaps should add another test case that works on all platforms.

11 years ago- Fixed regression from 0.8 where using an option like
Mike Bayer [Mon, 24 Feb 2014 17:52:12 +0000 (12:52 -0500)] 
- Fixed regression from 0.8 where using an option like
:func:`.orm.lazyload` with the "wildcard" expression, e.g. ``"*"``,
would raise an assertion error in the case where the query didn't
contain any actual entities.  This assertion is meant for other cases
and was catching this one inadvertently.

11 years ago- Fixed bug in the versioned_history example where column-level INSERT
Mike Bayer [Mon, 24 Feb 2014 17:34:54 +0000 (12:34 -0500)] 
- Fixed bug in the versioned_history example where column-level INSERT
defaults would prevent history values of NULL from being written.

11 years agomore detail, what actually loads, etc.
Mike Bayer [Mon, 24 Feb 2014 04:05:29 +0000 (23:05 -0500)] 
more detail, what actually loads, etc.

11 years ago-rewrite expire/refresh section
Mike Bayer [Sun, 23 Feb 2014 21:30:09 +0000 (16:30 -0500)] 
-rewrite expire/refresh section

11 years agono more wheels until they have a point
Mike Bayer [Sun, 23 Feb 2014 02:38:31 +0000 (21:38 -0500)] 
no more wheels until they have a point
fixes #2970

11 years ago- More fixes to SQLite "join rewriting"; the fix from :ticket:`2967`
Mike Bayer [Thu, 20 Feb 2014 21:14:29 +0000 (16:14 -0500)] 
- More fixes to SQLite "join rewriting"; the fix from :ticket:`2967`
implemented right before the release of 0.9.3 affected the case where
a UNION contained nested joins in it.   "Join rewriting" is a feature
with a wide range of possibilities and is the first intricate
"SQL rewriting" feature we've introduced in years, so we're sort of
going through a lot of iterations with it (not unlike eager loading
back in the 0.2/0.3 series, polymorphic loading in 0.4/0.5). We should
be there soon so thanks for bearing with us :).
fixes #2969   re: #2967
- solve the issue of join rewriting inspecting various types of
from objects without using isinstance(), by adding some new
underscored inspection flags to the FromClause hierarchy.

11 years agofix typo rel_0_9_3
Mike Bayer [Thu, 20 Feb 2014 04:09:07 +0000 (23:09 -0500)] 
fix typo

11 years ago0.8.5 released same day
Mike Bayer [Thu, 20 Feb 2014 04:05:06 +0000 (23:05 -0500)] 
0.8.5 released same day