summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Mark tests that they require OFFSET support in databasepr/171Peter Hoffmann2015-05-051-1/+4
| | | | | 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.
* - Liberalized an assertion that was added as part of :ticket:`3347`Mike Bayer2015-05-023-1/+149
| | | | | | | | 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
* - Fixed bug in enhanced constraint-attachment logic introduced inMike Bayer2015-05-024-9/+186
| | | | | | | | | | | :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
* - start qualifying some regressions as "unexpected use"Mike Bayer2015-05-021-7/+9
| | | | | | 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.
* - update 3.4 callcountsMike Bayer2015-05-011-81/+105
|
* - move away from explicit raises of SkipTest, instead call aMike Bayer2015-05-016-17/+36
| | | | | | | 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
* - Repair _reinstall_default_lookups to also flip the _extended flagMike Bayer2015-05-013-150/+327
| | | | | | | | | | | | | 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
* - turn sessions in ResultTest to autocommit=True just to get themMike Bayer2015-05-011-7/+7
| | | | to clean up automatically. references #3407
* - Fixed an import that prevented "pypy setup.py test" from workingMike Bayer2015-05-012-0/+9
| | | | | correctly. fixes #3406
* - Repaired / added to tests yet more expressions that were reportedMike Bayer2015-05-014-5/+48
| | | | | | | | | 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
* 1.0.3rel_1_0_3Mike Bayer2015-04-302-2/+3
|
* - Fixed regression from 0.9.10 prior to release due to :ticket:`3349`Mike Bayer2015-04-302-9/+19
| | | | | | | | 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
* - revise the last commit with a more traditional approachMike Bayer2015-04-302-35/+15
| | | | using descriptors; ensure that mock.patch() honors descriptor setters
* - work the wrapping of the "creator" to be as resilient toMike Bayer2015-04-303-9/+87
| | | | | old / new style, direct access, and ad-hoc patching and unpatching as possible
* - New features added to support engine/pool plugins with advancedMike Bayer2015-04-309-22/+475
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* - Fixed regression from as yet unreleased 0.9.10 where the new additionMike Bayer2015-04-304-1/+34
| | | | | | | 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
* - Added a placeholder method :meth:`.TypeEngine.compare_against_backend`Mike Bayer2015-04-302-0/+35
| | | | | | 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.
* - Fixed regression within the flush process when an attribute wereMike Bayer2015-04-293-7/+53
| | | | | | | | | 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
* - add boldface for "viable" plus a note describing that thisMike Bayer2015-04-291-1/+7
| | | | refers to the table having a primary key. fixes #3398
* - Fixed bug in association proxy where an any()/has()Mike Bayer2015-04-283-8/+47
| | | | | | | on an relationship->scalar non-object attribute comparison would fail, e.g. ``filter(Parent.some_collection_to_attribute.any(Child.attr == 'foo'))`` fixes #3397
* - Fixed bug where the truncation of long labels in SQL could produceMike Bayer2015-04-283-23/+58
| | | | | | | | | | 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
* Merge pull request #170 from eronisko/fix_typomike bayer2015-04-281-1/+1
|\ | | | | Fix typo in 'Relationships API' docs
| * Fix typo in 'Relationships API' docspr/170Ernest Walzel2015-04-281-1/+1
|/ | | | exprssed -> expressed
* - altered part of the use contract first set up in #2992; weMike Bayer2015-04-273-19/+154
| | | | | | | | 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
* - replace old crufty ddl event test fixture with mockMike Bayer2015-04-272-97/+166
|
* - Fixed regression due to :ticket:`3282` where the ``tables`` collectionMike Bayer2015-04-273-8/+85
| | | | | | | | | | | | | | | | 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
* - Fixed a regression regarding the :meth:`.MapperEvents.instrument_class`Mike Bayer2015-04-266-25/+110
| | | | | | | | | | | | | | | | | 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
* - Fixed issue in new :meth:`.QueryEvents.before_compile` event whereMike Bayer2015-04-264-6/+39
| | | | | | | 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
* - try pinning a tag here to for RTD to please build correctlyMike Bayer2015-04-251-1/+1
|
* 1.0.2rel_1_0_2Mike Bayer2015-04-242-2/+3
|
* - reword the notes hereMike Bayer2015-04-241-8/+12
|
* - fix linkMike Bayer2015-04-241-1/+1
|
* - tag declarative as "orm declarative"Mike Bayer2015-04-241-6/+6
|
* - add a note about that resolutionMike Bayer2015-04-241-0/+3
|
* - Fixed a regression that was incorrectly fixed in 1.0.0b4Mike Bayer2015-04-247-7/+47
| | | | | | | | | | | | | | | | | | (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
* - add the "strict" version of this lookup for __abstract__ as well,Mike Bayer2015-04-241-2/+2
| | | | fixes #3383
* Merge remote-tracking branch 'origin/pr/169'Mike Bayer2015-04-241-3/+4
|\
| * micro-optimize unique_listpr/169Gaƫtan de Menten2015-04-241-3/+4
| | | | | | This makes unique_list approx 2x faster in my (simple) tests
* | - Fixed regression regarding the declarative ``__declare_first__``Mike Bayer2015-04-247-13/+124
|/ | | | | | and ``__declare_last__`` accessors where these would no longer be called on the superclass of the declarative base. fixes #3383
* 1.0.1rel_1_0_1Mike Bayer2015-04-232-2/+3
|
* - update dateMike Bayer2015-04-232-2/+2
| | | | - repair category for EXISTS issue
* - change/migration editsMike Bayer2015-04-232-15/+23
|
* - Fixed support for "literal_binds" mode when using limit/offsetMike Bayer2015-04-239-16/+26
| | | | | | with Firebird, so that the values are again rendered inline when this is selected. Related to :ticket:`3034`. fixes #3381
* changelog for #3380, fixes #3380Mike Bayer2015-04-231-0/+9
|
* Update base.pypr/168effem-git2015-04-231-2/+2
| | | Fix TypeError: Boolean value of this clause is not defined
* - repair a regression caused by #3282, where we no longer wereMike Bayer2015-04-227-98/+374
| | | | | | | | | | 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
* - correct migration note for #3084; doesn't apply to create/dropMike Bayer2015-04-221-8/+9
|
* - typoMike Bayer2015-04-211-1/+1
|
* - add a warning to SingletonThreadPool that it isn't for general useMike Bayer2015-04-211-0/+13
|
* - Added the string value ``"none"`` to those accepted by theMike Bayer2015-04-213-1/+31
| | | | | | | | :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