]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
10 years ago- Repaired some typing and test issues related to the pypy
Mike Bayer [Fri, 5 Jun 2015 21:34:02 +0000 (17:34 -0400)] 
- Repaired some typing and test issues related to the pypy
psycopg2cffi dialect, in particular that the current 2.7.0 version
does not have native support for the JSONB type.  The version detection
for psycopg2 features has been tuned into a specific sub-version
for psycopg2cffi.  Additionally, test coverage has been enabled
for the full series of psycopg2 features under psycopg2cffi.
fixes #3439

10 years ago- document SQlite dotted name issue, fixes #3441
Mike Bayer [Fri, 5 Jun 2015 20:11:13 +0000 (16:11 -0400)] 
- document SQlite dotted name issue, fixes #3441

10 years ago- correctly categorize this changelog entry and rewrite it
Mike Bayer [Wed, 3 Jun 2015 15:04:08 +0000 (11:04 -0400)] 
- correctly categorize this changelog entry and rewrite it
to be understandable, now that there's some time past since
I first wrote it

10 years ago- fix this test to not require pyodbc installed
Mike Bayer [Wed, 3 Jun 2015 14:45:45 +0000 (10:45 -0400)] 
- fix this test to not require pyodbc installed

10 years ago- changelog for pr bitbucket:54
Mike Bayer [Wed, 3 Jun 2015 14:08:33 +0000 (10:08 -0400)] 
- changelog for pr bitbucket:54
- alter the approach so that the initial callable is working just like add_criteria/with_criteria

10 years agobaked: Support initial args for cache key
INADA Naoki [Tue, 2 Jun 2015 13:05:18 +0000 (22:05 +0900)] 
baked: Support initial args for cache key

When making baked query in classmethod of declarative base,
cls should be added in cache key.

    @as_declarative
    class Base(object):

        @classmethod
        def baked_query(cls):
            return bakery(lambda: session.query(cls), (cls,))

10 years agoMerge remote-tracking branch 'origin/pr/176'
Mike Bayer [Sat, 30 May 2015 00:52:27 +0000 (20:52 -0400)] 
Merge remote-tracking branch 'origin/pr/176'

10 years agoFix typo in directive
Éric Araujo [Fri, 29 May 2015 19:21:16 +0000 (15:21 -0400)] 
Fix typo in directive

10 years agoUpdate to correct TDS version; FreeTDS only supports up to 7.3. 8.0 is not a valid...
Allen, Timothy [Thu, 28 May 2015 18:25:56 +0000 (11:25 -0700)] 
Update to correct TDS version; FreeTDS only supports up to 7.3. 8.0 is not a valid version (Microsoft released the spec late).

10 years agoRemove spaces around kwargs in metadata.rst
Jochen Van de Velde [Tue, 26 May 2015 21:27:05 +0000 (23:27 +0200)] 
Remove spaces around kwargs in metadata.rst

10 years ago- Fixed bug where known boolean values used by
Mike Bayer [Tue, 26 May 2015 14:56:23 +0000 (10:56 -0400)] 
- Fixed bug where known boolean values used by
:func:`.engine_from_config` were not being parsed correctly;
these included ``pool_threadlocal`` and the psycopg2 argument
``use_native_unicode``. fixes #3435
- add legacy_schema_aliasing config parsing for mssql
- move use_native_unicode config arg to the psycopg2 dialect

10 years ago- turn some dials to try to get more log output
Mike Bayer [Mon, 25 May 2015 18:47:57 +0000 (14:47 -0400)] 
- turn some dials to try to get more log output

10 years ago- work around RTD issue #1293, take one
Mike Bayer [Mon, 25 May 2015 18:34:26 +0000 (14:34 -0400)] 
- work around RTD issue #1293, take one

10 years ago- Added a new dialect flag to the MSSQL dialect
Mike Bayer [Mon, 25 May 2015 01:02:29 +0000 (21:02 -0400)] 
- Added a new dialect flag to the MSSQL dialect
``legacy_schema_aliasing`` which when set to False will disable a
very old and obsolete behavior, that of the compiler's
attempt to turn all schema-qualified table names into alias names,
to work around old and no longer locatable issues where SQL
server could not parse a multi-part identifier name in all
circumstances.   The behavior prevented more
sophisticated statements from working correctly, including those which
use hints, as well as CRUD statements that embed correlated SELECT
statements.  Rather than continue to repair the feature to work
with more complex statements, it's better to just disable it
as it should no longer be needed for any modern SQL server
version.  The flag defaults to True for the 1.0.x series, leaving
current behavior unchanged for this version series.  In the 1.1
series, it will default to False.  For the 1.0 series,
when not set to either value explicitly, a warning is emitted
when a schema-qualified table is first used in a statement, which
suggests that the flag be set to False for all modern SQL Server
versions.
fixes #3424
fixes #3430

10 years ago- break out binary insert against None, disable for freetds for now
Mike Bayer [Sun, 24 May 2015 21:08:02 +0000 (17:08 -0400)] 
- break out binary insert against None, disable for freetds for now

10 years ago- autopep8
Mike Bayer [Sun, 24 May 2015 21:07:54 +0000 (17:07 -0400)] 
- autopep8

10 years ago- liberalize list.remove() regexp as recent Pypy versions
Mike Bayer [Sun, 24 May 2015 13:49:14 +0000 (09:49 -0400)] 
- liberalize list.remove() regexp as recent Pypy versions
format this message differently than cpython

10 years ago- fix some tests related to the URL change and try to make
Mike Bayer [Sat, 23 May 2015 13:07:36 +0000 (09:07 -0400)] 
- fix some tests related to the URL change and try to make
the URL design a little simpler

10 years ago- Adjustments to the engine plugin hook, such that the
Mike Bayer [Fri, 22 May 2015 17:51:00 +0000 (13:51 -0400)] 
- Adjustments to the engine plugin hook, such that the
:meth:`.URL.get_dialect` method will continue to return the
ultimate :class:`.Dialect` object when a dialect plugin is used,
without the need for the caller to be aware of the
:meth:`.Dialect.get_dialect_cls` method.
reference #3379

10 years ago- document fully how to use autoincrement w/ SQLite including
Mike Bayer [Fri, 22 May 2015 17:27:09 +0000 (13:27 -0400)] 
- document fully how to use autoincrement w/ SQLite including
non-Integer column types, fixes #2075

10 years ago- Fixed regression in the :mod:`sqlalchemy.ext.mutable` extension
Mike Bayer [Thu, 21 May 2015 18:21:01 +0000 (14:21 -0400)] 
- Fixed regression in the :mod:`sqlalchemy.ext.mutable` extension
as a result of the bugfix for :ticket:`3167`,
where attribute and validation events are no longer
called within the flush process.  The mutable
extension was relying upon this behavior in the case where a column
level Python-side default were responsible for generating the new value
on INSERT or UPDATE, or when a value were fetched from the RETURNING
clause for "eager defaults" mode.  The new value would not be subject
to any event when populated and the mutable extension could not
establish proper coercion or history listening.  A new event
:meth:`.InstanceEvents.refresh_flush` is added which the mutable
extension now makes use of for this use case.
fixes #3427
- Added new event :meth:`.InstanceEvents.refresh_flush`, invoked
when an INSERT or UPDATE level default value fetched via RETURNING
or Python-side default is invoked within the flush process.  This
is to provide a hook that is no longer present as a result of
:ticket:`3167`, where attribute and validation events are no longer
called within the flush process.
- Added a new semi-public method to :class:`.MutableBase`
:meth:`.MutableBase._get_listen_keys`.  Overriding this method
is needed in the case where a :class:`.MutableBase` subclass needs
events to propagate for attribute keys other than the key to which
the mutable type is associated with, when intercepting the
:meth:`.InstanceEvents.refresh` or
:meth:`.InstanceEvents.refresh_flush` events.  The current example of
this is composites using :class:`.MutableComposite`.

10 years agoflake8 some tests
Mike Bayer [Thu, 21 May 2015 17:43:37 +0000 (13:43 -0400)] 
flake8 some tests

10 years agoMerge pull request #173 from PierreRochard/patch-1
mike bayer [Thu, 21 May 2015 00:19:22 +0000 (20:19 -0400)] 
Merge pull request #173 from PierreRochard/patch-1

Correcting typo in introspection

10 years agoCorrecting typo in introspection
Pierre Rochard [Sun, 17 May 2015 21:28:56 +0000 (17:28 -0400)] 
Correcting typo in introspection

10 years ago- pg8000 wants to raise a ProgrammingError for a PK violation
Mike Bayer [Sat, 16 May 2015 01:18:18 +0000 (21:18 -0400)] 
- pg8000 wants to raise a ProgrammingError for a PK violation

10 years ago- Added support for the case of the misbehaving DBAPI that has
Mike Bayer [Fri, 15 May 2015 16:35:21 +0000 (12:35 -0400)] 
- Added support for the case of the misbehaving DBAPI that has
pep-249 exception names linked to exception classes of an entirely
different name, preventing SQLAlchemy's own exception wrapping from
wrapping the error appropriately.
The SQLAlchemy dialect in use needs to implement a new
accessor :attr:`.DefaultDialect.dbapi_exception_translation_map`
to support this feature; this is implemented now for the py-postgresql
dialect.
fixes #3421

10 years ago- The "lightweight named tuple" used when a :class:`.Query` returns
Mike Bayer [Thu, 14 May 2015 23:22:53 +0000 (19:22 -0400)] 
- The "lightweight named tuple" used when a :class:`.Query` returns
rows failed to implement ``__slots__`` correctly such that it still
had a ``__dict__``.    This is resolved, but in the extremely
unlikely case someone was assigning values to the returned tuples,
that will no longer work.
fixes #3420

10 years ago- Fixed bug where in the case that a pool checkout event handler is used
Mike Bayer [Thu, 14 May 2015 17:59:04 +0000 (13:59 -0400)] 
- Fixed bug where in the case that a pool checkout event handler is used
and the database can no longer be connected towards, that the checkout
handler failure is caught, the attempt to re-acquire the connection
also raises an exception, but the underlying connection record
is not immediately re-checked in before the exception is propagated
outwards, having the effect that the checked-out record does not close
itself until the stack trace it's associated with is garbage collected,
preventing that record from being used for a new checkout until we
leave the scope of the stack trace.   This can lead to confusion
in the specific case of when the number of current stack traces
in memory exceeds the number of connections the pool can return,
as the pool will instead begin to raise errors about no more checkouts
available, rather than attempting a connection again.   The fix
applies a checkin of the record before re-raising.
fixes #3419

10 years ago- Added official support for a CTE used by the SELECT present
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

10 years ago- start 1.0.5
Mike Bayer [Fri, 8 May 2015 16:18:07 +0000 (12:18 -0400)] 
- start 1.0.5

10 years ago1.0.4 rel_1_0_4
Mike Bayer [Fri, 8 May 2015 00:51:09 +0000 (20:51 -0400)] 
1.0.4

10 years ago- plead with RTD to please please use the correct version
Mike Bayer [Thu, 7 May 2015 20:19:08 +0000 (16:19 -0400)] 
- plead with RTD to please please use the correct version

10 years agoRTD doesn't seem to want to refresh on a git tag so go back to using
Mike Bayer [Thu, 7 May 2015 20:05:48 +0000 (16:05 -0400)] 
RTD doesn't seem to want to refresh on a git tag so go back to using
release numbers

(cherry picked from commit 6b55842eef3a243d275bdd5630c1fe62d98e8371)

10 years ago- re-tag zzzeeksphinx w/ new version supporting sphinx 1.3
Mike Bayer [Thu, 7 May 2015 17:47:38 +0000 (13:47 -0400)] 
- re-tag zzzeeksphinx w/ new version supporting sphinx 1.3

10 years ago- bump zs version due to not yet diagnosed error
Mike Bayer [Thu, 7 May 2015 16:34:38 +0000 (12:34 -0400)] 
- bump zs version due to not yet diagnosed error

10 years ago- fix for py3k
Mike Bayer [Thu, 7 May 2015 13:50:37 +0000 (09:50 -0400)] 
- fix for py3k

10 years ago- Fixed unexpected-use regression where in the odd case that the
Mike Bayer [Wed, 6 May 2015 21:07:24 +0000 (17:07 -0400)] 
- Fixed unexpected-use regression where in the odd case that the
primaryjoin of a relationship involved comparison to an unhashable
type such as an HSTORE, lazy loads would fail due to a hash-oriented
check on the statement parameters, modified in 1.0 as a result of
:ticket:`3061` to use hashing and modified in :ticket:`3368`
to occur in cases more common than "load on pending".
The values are now checked for the ``__hash__`` attribute beforehand.
fixes #3416

10 years ago- appease oracle's anger (no sequence defined for these PKs)
Mike Bayer [Tue, 5 May 2015 21:01:13 +0000 (17:01 -0400)] 
- appease oracle's anger (no sequence defined for these PKs)

10 years ago- fix typo MANYTOONE -> MANYTOMANY, fixes #3415
Mike Bayer [Tue, 5 May 2015 20:55:09 +0000 (16:55 -0400)] 
- fix typo MANYTOONE -> MANYTOMANY, fixes #3415

10 years agoMark tests that they require OFFSET support in database
Peter Hoffmann [Tue, 5 May 2015 14:00:09 +0000 (16:00 +0200)] 
Mark tests that they require OFFSET support in database

The sqlalchemy_exasol dialect needs to support Exasol 4.x which does not support
the OFFSET feature. Mark test with testing.requires.offset so that they can be skipped
of in the exasol specific test suite.

10 years ago- Liberalized an assertion that was added as part of :ticket:`3347`
Mike Bayer [Sat, 2 May 2015 15:33:54 +0000 (11:33 -0400)] 
- Liberalized an assertion that was added as part of :ticket:`3347`
to protect against unknown conditions when splicing inner joins
together within joined eager loads with ``innerjoin=True``; if
some of the joins use a "secondary" table, the assertion needs to
unwrap further joins in order to pass.
fixes #3412

10 years ago- Fixed bug in enhanced constraint-attachment logic introduced in
Mike Bayer [Sat, 2 May 2015 14:27:03 +0000 (10:27 -0400)] 
- Fixed bug in enhanced constraint-attachment logic introduced in
:ticket:`3341` where in the unusual case of a constraint that refers
to a mixture of :class:`.Column` objects and string column names
at the same time, the auto-attach-on-column-attach logic will be
skipped; for the constraint to be auto-attached in this case,
all columns must be assembled on the target table up front.
Added a new section to the migration document regarding the
original feature as well as this change.
fixes #3411

10 years ago- start qualifying some regressions as "unexpected use"
Mike Bayer [Sat, 2 May 2015 13:22:11 +0000 (09:22 -0400)] 
- start qualifying some regressions as "unexpected use"
regressions; regressions where we didn't know an API even worked
in a particular way or that anyone were using it in such a way
hence had no tests for such case.

10 years ago- update 3.4 callcounts
Mike Bayer [Fri, 1 May 2015 21:59:11 +0000 (17:59 -0400)] 
- update 3.4 callcounts

10 years ago- move away from explicit raises of SkipTest, instead call a
Mike Bayer [Fri, 1 May 2015 17:15:51 +0000 (13:15 -0400)] 
- move away from explicit raises of SkipTest, instead call a
function patched onto config.  nose/pytest backends now fill
in their exception class here only when loaded
- use more public seeming api to get at py.test Skipped
exception

10 years ago- Repair _reinstall_default_lookups to also flip the _extended flag
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

10 years ago- turn sessions in ResultTest to autocommit=True just to get them
Mike Bayer [Fri, 1 May 2015 14:00:23 +0000 (10:00 -0400)] 
- turn sessions in ResultTest to autocommit=True just to get them
to clean up automatically.  references #3407

10 years ago- Fixed an import that prevented "pypy setup.py test" from working
Mike Bayer [Fri, 1 May 2015 13:38:21 +0000 (09:38 -0400)] 
- Fixed an import that prevented "pypy setup.py test" from working
correctly.
fixes #3406

10 years ago- Repaired / added to tests yet more expressions that were reported
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

10 years ago1.0.3 rel_1_0_3
Mike Bayer [Fri, 1 May 2015 01:33:26 +0000 (21:33 -0400)] 
1.0.3

10 years ago- Fixed regression from 0.9.10 prior to release due to :ticket:`3349`
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

10 years ago- revise the last commit with a more traditional approach
Mike Bayer [Fri, 1 May 2015 00:20:02 +0000 (20:20 -0400)] 
- revise the last commit with a more traditional approach
using descriptors; ensure that mock.patch() honors descriptor setters

10 years ago- work the wrapping of the "creator" to be as resilient to
Mike Bayer [Thu, 30 Apr 2015 23:44:16 +0000 (19:44 -0400)] 
- work the wrapping of the "creator" to be as resilient to
old / new style, direct access, and ad-hoc patching and
unpatching as possible

10 years ago- New features added to support engine/pool plugins with advanced
Mike Bayer [Thu, 30 Apr 2015 21:51:14 +0000 (17:51 -0400)] 
- New features added to support engine/pool plugins with advanced
functionality.   Added a new "soft invalidate" feature to the
connection pool at the level of the checked out connection wrapper
as well as the :class:`._ConnectionRecord`.  This works similarly
to a modern pool invalidation in that connections aren't actively
closed, but are recycled only on next checkout; this is essentially
a per-connection version of that feature.  A new event
:class:`.PoolEvents.soft_invalidate` is added to complement it.
fixes #3379

- Added new flag
:attr:`.ExceptionContext.invalidate_pool_on_disconnect`.
Allows an error handler within :meth:`.ConnectionEvents.handle_error`
to maintain a "disconnect" condition, but to handle calling invalidate
on individual connections in a specific manner within the event.

- Added new event :class:`.DialectEvents.do_connect`, which allows
interception / replacement of when the :meth:`.Dialect.connect`
hook is called to create a DBAPI connection.  Also added
dialect plugin hooks :meth:`.Dialect.get_dialect_cls` and
:meth:`.Dialect.engine_created` which allow external plugins to
add events to existing dialects using entry points.
fixes #3355

10 years ago- Fixed regression from as yet unreleased 0.9.10 where the new addition
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

10 years ago- Added a placeholder method :meth:`.TypeEngine.compare_against_backend`
Mike Bayer [Thu, 30 Apr 2015 15:38:24 +0000 (11:38 -0400)] 
- Added a placeholder method :meth:`.TypeEngine.compare_against_backend`
which is now consumed by Alembic migrations as of 0.7.6.  User-defined
types can implement this method to assist in the comparison of
a type against one reflected from the database.

10 years ago- Fixed regression within the flush process when an attribute were
Mike Bayer [Wed, 29 Apr 2015 18:00:16 +0000 (14:00 -0400)] 
- Fixed regression within the flush process when an attribute were
set to a SQL expression for an UPDATE, and the SQL expression when
compared to the previous value of the attribute would produce a SQL
comparison other than ``==`` or ``!=``, the exception "Boolean value
of this clause is not defined" would raise.   The fix ensures that
the unit of work will not interpret the SQL expression in this way.
fixes #3402

10 years ago- add boldface for "viable" plus a note describing that this
Mike Bayer [Wed, 29 Apr 2015 04:05:25 +0000 (00:05 -0400)] 
- add boldface for "viable" plus a note describing that this
refers to the table having a primary key.  fixes #3398

10 years ago- Fixed bug in association proxy where an any()/has()
Mike Bayer [Tue, 28 Apr 2015 23:20:01 +0000 (19:20 -0400)] 
- Fixed bug in association proxy where an any()/has()
on an relationship->scalar non-object attribute comparison would fail,
e.g.
``filter(Parent.some_collection_to_attribute.any(Child.attr == 'foo'))``
fixes #3397

10 years ago- Fixed bug where the truncation of long labels in SQL could produce
Mike Bayer [Tue, 28 Apr 2015 20:02:59 +0000 (16:02 -0400)] 
- Fixed bug where the truncation of long labels in SQL could produce
a label that overlapped another label that is not truncated; this
because the length threshhold for truncation was greater than
the portion of the label that remains after truncation.  These
two values have now been made the same; label_length - 6.
The effect here is that shorter column labels will be "truncated"
where they would not have been truncated before.
fixes #3396

10 years agoMerge pull request #170 from eronisko/fix_typo
mike bayer [Tue, 28 Apr 2015 14:10:40 +0000 (10:10 -0400)] 
Merge pull request #170 from eronisko/fix_typo

Fix typo in 'Relationships API' docs

10 years agoFix typo in 'Relationships API' docs
Ernest Walzel [Tue, 28 Apr 2015 11:26:16 +0000 (12:26 +0100)] 
Fix typo in 'Relationships API' docs
exprssed -> expressed

10 years ago- altered part of the use contract first set up in #2992; we
Mike Bayer [Mon, 27 Apr 2015 21:32:05 +0000 (17:32 -0400)] 
- altered part of the use contract first set up in #2992; we
now skip textual label references when copying ORDER BY elements
to the joined-eager-load subquery, as we can't know that these
expressions are compatible with this placement;  either because
they are meant for text(), or because they refer to label names
already stated and aren't bound to a table. fixes #3392

10 years ago- replace old crufty ddl event test fixture with mock
Mike Bayer [Mon, 27 Apr 2015 19:21:18 +0000 (15:21 -0400)] 
- replace old crufty ddl event test fixture with mock

10 years ago- Fixed regression due to :ticket:`3282` where the ``tables`` collection
Mike Bayer [Mon, 27 Apr 2015 19:05:41 +0000 (15:05 -0400)] 
- Fixed regression due to :ticket:`3282` where the ``tables`` collection
passed as a keyword argument to the :meth:`.DDLEvents.before_create`,
:meth:`.DDLEvents.after_create`, :meth:`.DDLEvents.before_drop`, and
:meth:`.DDLEvents.after_drop` events would no longer be a list
of tables, but instead a list of tuples which contained a second
entry with foreign keys to be added or dropped.  As the ``tables``
collection, while documented as not necessarily stable, has come
to be relied upon, this change is considered a regression.
Additionally, in some cases for "drop", this collection would
be an iterator that would cause the operation to fail if
prematurely iterated.   The collection is now a list of table
objects in all cases and test coverage for the format of this
collection is now added.
fixes #3391

10 years ago- Fixed a regression regarding the :meth:`.MapperEvents.instrument_class`
Mike Bayer [Sun, 26 Apr 2015 22:22:41 +0000 (18:22 -0400)] 
- Fixed a regression regarding the :meth:`.MapperEvents.instrument_class`
event where its invocation was moved to be after the class manager's
instrumentation of the class, which is the opposite of what the
documentation for the event explicitly states.  The rationale for the
switch was due to Declarative taking the step of setting up
the full "instrumentation manager" for a class before it was mapped
for the purpose of the new ``@declared_attr`` features
described in :ref:`feature_3150`, but the change was also made
against the classical use of :func:`.mapper` for consistency.
However, SQLSoup relies upon the instrumentation event happening
before any instrumentation under classical mapping.
The behavior is reverted in the case of classical and declarative
mapping, the latter implemented by using a simple memoization
without using class manager.
fixes #3388

10 years ago- Fixed issue in new :meth:`.QueryEvents.before_compile` event where
Mike Bayer [Sun, 26 Apr 2015 16:33:17 +0000 (12:33 -0400)] 
- Fixed issue in new :meth:`.QueryEvents.before_compile` event where
changes made to the :class:`.Query` object's collection of entities
to load within the event would render in the SQL, but would not
be reflected during the loading process.
fixes #3387

10 years ago- try pinning a tag here to for RTD to please build correctly
Mike Bayer [Sat, 25 Apr 2015 14:48:54 +0000 (10:48 -0400)] 
- try pinning a tag here to for RTD to please build correctly

10 years ago1.0.2 rel_1_0_2
Mike Bayer [Fri, 24 Apr 2015 21:30:12 +0000 (17:30 -0400)] 
1.0.2

10 years ago- reword the notes here
Mike Bayer [Fri, 24 Apr 2015 22:01:20 +0000 (18:01 -0400)] 
- reword the notes here

10 years ago- fix link
Mike Bayer [Fri, 24 Apr 2015 21:54:35 +0000 (17:54 -0400)] 
- fix link

10 years ago- tag declarative as "orm declarative"
Mike Bayer [Fri, 24 Apr 2015 21:51:39 +0000 (17:51 -0400)] 
- tag declarative as "orm declarative"

10 years ago- add a note about that resolution
Mike Bayer [Fri, 24 Apr 2015 21:28:19 +0000 (17:28 -0400)] 
- add a note about that resolution

10 years ago- Fixed a regression that was incorrectly fixed in 1.0.0b4
Mike Bayer [Fri, 24 Apr 2015 21:04:35 +0000 (17:04 -0400)] 
- Fixed a regression that was incorrectly fixed in 1.0.0b4
(hence becoming two regressions); reports that
SELECT statements would GROUP BY a label name and fail was misconstrued
that certain backends such as SQL Server should not be emitting
ORDER BY or GROUP BY on a simple label name at all; when in fact,
we had forgotten that 0.9 was already emitting ORDER BY on a simple
label name for all backends, as described in :ref:`migration_1068`,
as 1.0 had rewritten this logic as part of :ticket:`2992`.

In 1.0.2, the bug is fixed both that SQL Server, Firebird and others
will again emit ORDER BY on a simple label name when passed a
:class:`.Label` construct that is expressed in the columns clause,
and no backend will emit GROUP BY on a simple label name in this case,
as even Postgresql can't reliably do GROUP BY on a simple name
in every case.
fixes #3338, fixes #3385

10 years ago- add the "strict" version of this lookup for __abstract__ as well,
Mike Bayer [Fri, 24 Apr 2015 21:03:34 +0000 (17:03 -0400)] 
- add the "strict" version of this lookup for __abstract__ as well,
fixes #3383

10 years agoMerge remote-tracking branch 'origin/pr/169'
Mike Bayer [Fri, 24 Apr 2015 19:52:42 +0000 (15:52 -0400)] 
Merge remote-tracking branch 'origin/pr/169'

10 years ago- Fixed regression regarding the declarative ``__declare_first__``
Mike Bayer [Fri, 24 Apr 2015 17:49:09 +0000 (13:49 -0400)] 
- Fixed regression regarding the declarative ``__declare_first__``
and ``__declare_last__`` accessors where these would no longer be
called on the superclass of the declarative base.
fixes #3383

10 years agomicro-optimize unique_list
Gaëtan de Menten [Fri, 24 Apr 2015 12:26:42 +0000 (14:26 +0200)] 
micro-optimize unique_list

This makes unique_list approx 2x faster in my (simple) tests

10 years ago1.0.1 rel_1_0_1
Mike Bayer [Thu, 23 Apr 2015 18:13:49 +0000 (14:13 -0400)] 
1.0.1

10 years ago- update date
Mike Bayer [Thu, 23 Apr 2015 18:21:09 +0000 (14:21 -0400)] 
- update date
- repair category for EXISTS issue

10 years ago- change/migration edits
Mike Bayer [Thu, 23 Apr 2015 17:43:25 +0000 (13:43 -0400)] 
- change/migration edits

10 years ago- Fixed support for "literal_binds" mode when using limit/offset
Mike Bayer [Thu, 23 Apr 2015 16:05:30 +0000 (12:05 -0400)] 
- Fixed support for "literal_binds" mode when using limit/offset
with Firebird, so that the values are again rendered inline when
this is selected.  Related to :ticket:`3034`.
fixes #3381

10 years agochangelog for #3380, fixes #3380
Mike Bayer [Thu, 23 Apr 2015 15:40:40 +0000 (11:40 -0400)] 
changelog for #3380, fixes #3380

10 years agoUpdate base.py
effem-git [Thu, 23 Apr 2015 11:00:42 +0000 (13:00 +0200)] 
Update base.py

Fix TypeError: Boolean value of this clause is not defined

10 years ago- repair a regression caused by #3282, where we no longer were
Mike Bayer [Wed, 22 Apr 2015 18:14:11 +0000 (14:14 -0400)] 
- repair a regression caused by #3282, where we no longer were
applying any topological sort to tables on SQLite.  See the
changelog for details, but we now continue to sort
tables for SQLite on DROP, prohibit the sort from considering
alter, and only warn if we encounter an unresolvable cycle, in
which case, then we forego the ordering.  use_alter as always
is used to break such a cycle.
fixes #3378

10 years ago- correct migration note for #3084; doesn't apply to create/drop
Mike Bayer [Wed, 22 Apr 2015 15:59:08 +0000 (11:59 -0400)] 
- correct migration note for #3084; doesn't apply to create/drop

10 years ago- typo
Mike Bayer [Tue, 21 Apr 2015 17:05:24 +0000 (13:05 -0400)] 
- typo

10 years ago- add a warning to SingletonThreadPool that it isn't for general use
Mike Bayer [Tue, 21 Apr 2015 15:04:21 +0000 (11:04 -0400)] 
- add a warning to SingletonThreadPool that it isn't for general use

10 years ago- Added the string value ``"none"`` to those accepted by the
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

10 years ago- Fixed issue where a straight SELECT EXISTS query would fail to
Mike Bayer [Mon, 20 Apr 2015 23:21:00 +0000 (19:21 -0400)] 
- Fixed issue where a straight SELECT EXISTS query would fail to
assign the proper result type of Boolean to the result mapping, and
instead would leak column types from within the query into the
result map.  This issue exists in 0.9 and earlier as well, however
has less of an impact in those versions.  In 1.0, due to #918
this becomes a regression in that we now rely upon the result mapping
to be very accurate, else we can assign result-type processors to
the wrong column.   In all versions, this issue also has the effect
that a simple EXISTS will not apply the Boolean type handler, leading
to simple 1/0 values for backends without native boolean instead of
True/False.   The fix includes that an EXISTS columns argument
will be anon-labeled like other column expressions; a similar fix is
implemented for pure-boolean expressions like ``not_(True())``.
fixes #3372

10 years ago- add migration note for #3084
Mike Bayer [Mon, 20 Apr 2015 21:44:21 +0000 (17:44 -0400)] 
- add migration note for #3084

10 years ago- Fixed more regressions caused by NEVER_SET; comparisons
Mike Bayer [Mon, 20 Apr 2015 21:38:03 +0000 (17:38 -0400)] 
- Fixed more regressions caused by NEVER_SET; comparisons
to transient objects with attributes unset would leak NEVER_SET,
and negated_contains_or_equals would do so for any transient
object as the comparison used only the committed value.
Repaired the NEVER_SET cases, fixes #3371, and also made
negated_contains_or_equals() use state_attr_by_column() just
like a non-negated comparison, fixes #3374

10 years ago- add documentation describing the behavioral change in relationship
Mike Bayer [Fri, 17 Apr 2015 21:03:16 +0000 (17:03 -0400)] 
- add documentation describing the behavioral change in relationship
assignments that we would see from #3060; fixes #3369

10 years ago1.0.1
Mike Bayer [Fri, 17 Apr 2015 20:08:26 +0000 (16:08 -0400)] 
1.0.1

10 years ago- Fixed a critical regression caused by :ticket:`3061` where the
Mike Bayer [Fri, 17 Apr 2015 20:06:04 +0000 (16:06 -0400)] 
- Fixed a critical regression caused by :ticket:`3061` where the
NEVER_SET symbol could easily leak into a lazyload query, subsequent
to the flush of a pending object.  This would occur typically
for a many-to-one relationship that does not use a simple
"get" strategy.   The good news is that the fix improves efficiency
vs. 0.9, because we can now skip the SELECT statement entirely
when we detect NEVER_SET symbols present in the parameters; prior to
:ticket:`3061`, we couldn't discern if the None here were set or not.
fixes #3368

10 years ago1.0.0 rel_1_0_0
Mike Bayer [Thu, 16 Apr 2015 18:51:43 +0000 (14:51 -0400)] 
1.0.0

10 years ago- Identified an inconsistency when handling :meth:`.Query.join` to the
Mike Bayer [Wed, 15 Apr 2015 21:30:23 +0000 (17:30 -0400)] 
- Identified an inconsistency when handling :meth:`.Query.join` to the
same target more than once; it implicitly dedupes only in the case of
a relationship join, and due to :ticket:`3233`, in 1.0 a join
to the same table twice behaves differently than 0.9 in that it no
longer erroneously aliases.   To help document this change,
the verbiage regarding :ticket:`3233` in the migration notes has
been generalized, and a warning has been added when :meth:`.Query.join`
is called against the same target relationship more than once.
fixes #3367

10 years agoMerge remote-tracking branch 'origin/pr/163' into pr163
Mike Bayer [Sun, 12 Apr 2015 18:56:15 +0000 (14:56 -0400)] 
Merge remote-tracking branch 'origin/pr/163' into pr163

10 years ago- remove excess comment
Mike Bayer [Sun, 12 Apr 2015 17:51:40 +0000 (13:51 -0400)] 
- remove excess comment

10 years ago- Made a small improvement to the heuristics of relationship when
Mike Bayer [Sun, 12 Apr 2015 17:45:08 +0000 (13:45 -0400)] 
- Made a small improvement to the heuristics of relationship when
determining remote side with semi-self-referential (e.g. two joined
inh subclasses referring to each other), non-simple join conditions
such that the parententity is taken into account and can reduce the
need for using the ``remote()`` annotation; this can restore some
cases that might have worked without the annotation prior to 0.9.4
via :ticket:`2948`. fixes #3364