Mike Bayer [Thu, 21 Jan 2016 20:21:33 +0000 (15:21 -0500)]
- documenation updates to clarify specific SQLite versions
that have problems with right-nested joins and UNION column keys;
references #3633 references #3634. backport from 1.1 to 0.9
announcing 1.1 as where these behaviors will be retired based
on version-specific checks
- fix test_resultset so that it passes when SQLite 3.10.0 is
present, references #3633
Mike Bayer [Thu, 14 Jan 2016 22:18:21 +0000 (17:18 -0500)]
- fix some old verbiage that refers to text() as an "implicit" thing
for SQL fragments; we've deprecated that in 1.0 and its a good idea
to document like this for 0.9 as well.
Mike Bayer [Sun, 10 Jan 2016 16:48:53 +0000 (11:48 -0500)]
- fix link to types in metadata, fixes #3618
- fix "version" got whacked into "f" in core tutorial
- fix short underline in automap
- fix unmatched boldface in session events
Mike Bayer [Mon, 7 Dec 2015 17:36:36 +0000 (12:36 -0500)]
- write a real inline documentation section for from_self(),
building on the example of query.join(). Ideally all the methods
in Query would have this kind of thing. fixes #3544
Mike Bayer [Thu, 1 Oct 2015 13:37:53 +0000 (09:37 -0400)]
- remove ambiguous use of the phrase "joined together by AND" as this
may be construed as the Python "and" keyword
- add notes to ORM tutorial for beginners that Python "and" keyword
is not to be used
fixes #3545
Mike Bayer [Thu, 10 Sep 2015 14:00:46 +0000 (10:00 -0400)]
- add a new FAQ recipe for "walk all objects", replacing the need
to use mapper.cascade_iterator() for this purpose as it was not really
designed for that use case. Add docs to cascade_iterator() pointing
to the recipe. fixes #3498
Mike Bayer [Fri, 28 Aug 2015 03:38:14 +0000 (23:38 -0400)]
- use consistent and descriptive language in all cases
where we refer to the "weak_identity_map" option, and add additional
exposition in the session documentation which refers to it.
fixes #3517
Mike Bayer [Thu, 27 Aug 2015 19:56:00 +0000 (15:56 -0400)]
- reword and update documentation on passive_updates=False; as virtually
all DBs now support ON UPDATE CASCADE other than Oracle, there's no need
to try to reimplement more functionality here and users should be encouraged
to forego natural PKs unless their target platform supports them.
references #2666
Mike Bayer [Fri, 21 Aug 2015 20:36:15 +0000 (16:36 -0400)]
- rework the "controlling DDL sequences" documentation to
refer mostly to the DDL object; this system is primarily useful
in that case, and not for built-in objects. Reference that
the built-in case is not really viable right now. References #3442.
Mike Bayer [Fri, 14 Aug 2015 19:34:01 +0000 (15:34 -0400)]
- add tests for InstanceEvents.init, InstanceEvents.init_failure
- ensure that kwargs can be modified in-place within InstanceEvents.init
and that these take effect for the __init__ method.
- improve documentation for these and related events, including
that kwargs can be modified in-place.
Mike Bayer [Wed, 29 Jul 2015 21:40:47 +0000 (17:40 -0400)]
- Fixed support for cx_Oracle version 5.2, which was tripping
up SQLAlchemy's version detection under Python 3 and inadvertently
not using the correct unicode mode for Python 3. This would cause
issues such as bound variables mis-interpreted as NULL and rows
silently not being returned.
fixes #3491
Mike Bayer [Wed, 22 Jul 2015 21:59:34 +0000 (17:59 -0400)]
- Fixed critical issue whereby the pool "checkout" event handler
may be called against a stale connection without the "connect"
event handler having been called, in the case where the pool
attempted to reconnect after being invalidated and failed; the stale
connection would remain present and would be used on a subsequent
attempt. This issue has a greater impact in the 1.0 series subsequent
to 1.0.2, as it also delivers a blanked-out ``.info`` dictionary to
the event handler; prior to 1.0.2 the ``.info`` dictionary is still
the previous one.
fixes #3497
Mike Bayer [Tue, 21 Jul 2015 16:33:35 +0000 (12:33 -0400)]
- Fixed bug in SQLite dialect where reflection of UNIQUE constraints
that included non-alphabetic characters in the names, like dots or
spaces, would not be reflected with their name.
fixes #3495
Mike Bayer [Thu, 9 Jul 2015 00:37:04 +0000 (20:37 -0400)]
- try to note under insert.values(), if you need
"multiple parameter sets" there is a much more common case
which works equally well for INSERT/UPDATE/DELETE e.g.
executemany(). reference #3476
Mike Bayer [Sun, 5 Jul 2015 15:16:26 +0000 (11:16 -0400)]
- add a warning suggesting to use the dictionary form of access
if the name of the attribute being accessed is non-specific,
thereby avoiding collisions on names like items, values, keys.
fixes #3475
Mike Bayer [Fri, 8 May 2015 16:37:55 +0000 (12:37 -0400)]
- Added official support for a CTE used by the SELECT present
inside of :meth:`.Insert.from_select`. This behavior worked
accidentally up until 0.9.9, when it no longer worked due to
unrelated changes as part of :ticket:`3248`. Note that this
is the rendering of the WITH clause after the INSERT, before the
SELECT; the full functionality of CTEs rendered at the top
level of INSERT, UPDATE, DELETE is a new feature targeted for a
later release.
fixes #3418
Mike Bayer [Fri, 1 May 2015 16:06:34 +0000 (12:06 -0400)]
- Repair _reinstall_default_lookups to also flip the _extended flag
off again so that test fixtures setup/teardown instrumentation as
expected
- clean up test_extendedattr.py and fix it to no longer leak
itself outside by ensuring _reinstall_default_lookups is always called,
part of #3408
- Fixed bug where when using extended attribute instrumentation system,
the correct exception would not be raised when :func:`.class_mapper`
were called with an invalid input that also happened to not
be weak referencable, such as an integer.
fixes #3408
Mike Bayer [Fri, 1 May 2015 13:20:10 +0000 (09:20 -0400)]
- Repaired / added to tests yet more expressions that were reported
as failing with the new 'entity' key value added to
:attr:`.Query.column_descriptions`, the logic to discover the "from"
clause is again reworked to accommodate columns from aliased classes,
as well as to report the correct value for the "aliased" flag in these
cases.
fixes #3409
Mike Bayer [Fri, 1 May 2015 01:26:48 +0000 (21:26 -0400)]
- Fixed regression from 0.9.10 prior to release due to :ticket:`3349`
where the check for query state on :meth:`.Query.update` or
:meth:`.Query.delete` compared the empty tuple to itself using ``is``,
which fails on Pypy to produce ``True`` in this case; this would
erronously emit a warning in 0.9 and raise an exception in 1.0.
fixes #3405
Mike Bayer [Thu, 30 Apr 2015 16:53:27 +0000 (12:53 -0400)]
- Fixed regression from as yet unreleased 0.9.10 where the new addition
of ``entity`` to the :attr:`.Query.column_descriptions` accessor
would fail if the target entity was produced from a core selectable
such as a :class:`.Table` or :class:`.CTE` object.
fixes #3403 references #3320
Mike Bayer [Tue, 21 Apr 2015 14:04:02 +0000 (10:04 -0400)]
- Added the string value ``"none"`` to those accepted by the
:paramref:`.Pool.reset_on_return` parameter as a synonym for ``None``,
so that string values can be used for all settings, allowing
.ini file utilities like :func:`.engine_from_config` to be usable
without issue.
fixes #3375