summaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* Fixes argument number in docspr/79Noufal Ibrahim2014-03-111-1/+1
| | | The selectable is the third argument to with_polymorphic.
* - changelog for pullreq github:74Mike Bayer2014-03-051-0/+13
| | | | | - various improvemnts to oracle docs, rewrite section on unicode, more linking, enhance section on resolve_synonyms
* - Fixed small issue in :class:`.SingletonThreadPool` where the currentMike Bayer2014-03-051-0/+7
| | | | | connection to be returned might get inadvertently cleaned out during the "cleanup" process. Patch courtesy jd23.
* - Fixed bug in association proxy where assigning an empty sliceMike Bayer2014-03-041-0/+6
| | | | (e.g. ``x[:] = [...]``) would fail on Py3k.
* add a seealso hereMike Bayer2014-03-042-0/+6
|
* - Support has been added for pytest to run tests. This runnerMike Bayer2014-03-031-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* - Fixed some test/feature failures occurring in Python 3.4,Mike Bayer2014-03-021-0/+8
| | | | | | in particular the logic used to wrap "column default" callables wouldn't work properly for Python built-ins. fixes #2979
* add a migration for this oneMike Bayer2014-02-281-3/+36
|
* - Added a new option to :paramref:`.relationship.innerjoin` which isMike Bayer2014-02-281-0/+13
| | | | | | | | | | | 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
* - Fixed bug in :func:`.tuple_` construct where the "type" of essentiallyMike Bayer2014-02-271-0/+14
| | | | | | | | | | | 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
* - Fixed a regression in association proxy caused by :ticket:`2810` whichMike Bayer2014-02-271-0/+11
| | | | | | | | | 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
* - Removed stale names from ``sqlalchemy.orm.interfaces.__all__`` andMike Bayer2014-02-261-0/+12
| | | | | | refreshed with current names, so that an ``import *`` from this module again works. fixes #2975
* - Adjusted the logic which applies names to the .c collection whenMike Bayer2014-02-261-0/+11
| | | | | | | | | 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
* - Some changes to how the :attr:`.FromClause.c` collection behavesMike Bayer2014-02-261-0/+24
| | | | | | | | | | | | | | | | | | | | | | | 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
* - Fixed issue in new :meth:`.TextClause.columns` method where the orderingMike Bayer2014-02-261-0/+8
| | | | | | 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.
* docsMike Bayer2014-02-252-6/+15
|
* - The new dialect-level keyword argument system for schema-levelMike Bayer2014-02-253-1/+31
| | | | | | | | | 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
* - Fixed bug where events set to listen at the classMike Bayer2014-02-251-0/+10
| | | | | | | | 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
* - Fixed regression from 0.8 where using an option likeMike Bayer2014-02-241-0/+9
| | | | | | | :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.
* - Fixed bug in the versioned_history example where column-level INSERTMike Bayer2014-02-241-0/+6
| | | | defaults would prevent history values of NULL from being written.
* more detail, what actually loads, etc.Mike Bayer2014-02-231-3/+66
|
* -rewrite expire/refresh sectionMike Bayer2014-02-232-63/+168
|
* - More fixes to SQLite "join rewriting"; the fix from :ticket:`2967`Mike Bayer2014-02-201-0/+17
| | | | | | | | | | | | | | 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.
* 0.8.5 released same dayMike Bayer2014-02-191-0/+1
|
* 0.9.3Mike Bayer2014-02-192-2/+3
|
* - Added an additional message to psycopg2 disconnect detection,Mike Bayer2014-02-191-0/+9
| | | | | | "could not send data to server", which complements the existing "could not receive data from server" and has been observed by users, fixes #2936
* - re: #2967, also fixed a somewhat related issue where join rewriting would failMike Bayer2014-02-191-0/+3
| | | | | on the columns clause of the SELECT statement if the targets were aliased tables, as opposed to individual aliased columns.
* - Fixed bug in SQLite "join rewriting" where usage of an exists() constructMike Bayer2014-02-191-0/+8
| | | | | would fail to be rewritten properly, such as when the exists is mapped to a column_property in an intricate nested-join scenario. #2967
* backportMike Bayer2014-02-192-14/+16
|
* - Added new MySQL-specific :class:`.mysql.DATETIME` which includesMike Bayer2014-02-191-0/+11
| | | | | | | fractional seconds support; also added fractional seconds support to :class:`.mysql.TIMESTAMP`. DBAPI support is limited, though fractional seconds are known to be supported by MySQL Connector/Python. Patch courtesy Geert JM Vanderkelen. #2941
* changelog for pullreq 12Mike Bayer2014-02-191-0/+11
|
* - Fixed bug where calling :meth:`.Insert.values` with an empty listMike Bayer2014-02-191-0/+9
| | | | | or tuple would raise an IndexError. It now produces an empty insert construct as would be the case with an empty dictionary.
* - Fixed a critical regression caused by :ticket:`2880` where the newlyMike Bayer2014-02-191-0/+10
| | | | | | concurrent ability to return connections from the pool means that the "first_connect" event is now no longer synchronized either, thus leading to dialect mis-configurations under even minimal concurrency situations.
* - Support has been improved for Postgresql reflection behavior on very oldMike Bayer2014-02-181-2/+16
| | | | | | | | | | | | (pre 8.1) versions of Postgresql, and potentially other PG engines such as Redshift (assuming Redshift reports the version as < 8.1). The query for "indexes" as well as "primary keys" relies upon inspecting a so-called "int2vector" datatype, which refuses to coerce to an array prior to 8.1 causing failures regarding the "ANY()" operator used in the query. Extensive googling has located the very hacky, but recommended-by-PG-core-developer query to use when PG version < 8.1 is in use, so index and primary key constraint reflection now work on these versions.
* - need qualifiers here...Mike Bayer2014-02-161-2/+2
|
* - The SQLite dialect will now skip unsupported arguments when reflectingMike Bayer2014-02-161-1/+9
| | | | | | types; such as if it encounters a string like ``INTEGER(5)``, the :class:`.INTEGER` type will be instantiated without the "5" being included, based on detecting a ``TypeError`` on the first attempt.
* - changelog + documentation for pullreq github:65Mike Bayer2014-02-161-0/+14
|
* - changelog for pullreq github:64Mike Bayer2014-02-161-0/+7
|
* - use column.info to detect those cols part of "versioning"Mike Bayer2014-02-161-0/+9
| | | | | | | - pep8 cleanup - fix tests for "changed" column - document that "changed" is optional - changelog
* - extensive cross-linking of relationship options with their documentation ↵Mike Bayer2014-02-165-140/+175
| | | | | | sections - convert all paramter references in relationship documentation to :paramref:
* - add cross-linking for passive_deletes / passive_updatesMike Bayer2014-02-162-9/+10
|
* - cross link remote_side/self-referentialMike Bayer2014-02-141-14/+14
| | | | - trim off fn prefix on some relationship parameter names
* - Added server version detection to the newly added dialect startupMike Bayer2014-02-141-0/+9
| | | | | | query for "show standard_conforming_strings"; as this variable was added as of PG 8.2, we skip the query for PG versions older than that as well as for backends like Redshift. #2946
* this is for 0.9.3 alsoMike Bayer2014-02-141-0/+1
|
* - Revised this very old issue where the Postgresql "get primary key"Mike Bayer2014-02-141-0/+10
| | | | | | | reflection query were updated to take into account primary key constraints that were renamed; the newer query fails on very old versions of Postgresql such as version 7, so the old query is restored in those cases when server_version_info < (8, 0) is detected. #2291
* - Fixed bug where :meth:`.in_()` would go into an endless loop ifMike Bayer2014-02-131-0/+10
| | | | | | erroneously passed a column expression whose comparator included the ``__getitem__()`` method, such as a column that uses the :class:`.postgresql.ARRAY` type. [ticket:2957]
* - Fixed bug where :class:`.AbstractConcreteBase` would fail to beMike Bayer2014-02-111-0/+21
| | | | | | | | | | | | | | | | | | | | | fully usable within declarative relationship configuration, as its string classname would not be available in the registry of classnames at mapper configuration time. The class now explicitly adds itself to the class regsitry, and additionally both :class:`.AbstractConcreteBase` as well as :class:`.ConcreteBase` set themselves up *before* mappers are configured within the :func:`.configure_mappers` setup, using the new :meth:`.MapperEvents.before_configured` event. [ticket:2950] - Added new :meth:`.MapperEvents.before_configured` event which allows an event at the start of :func:`.configure_mappers`, as well as ``__declare_first__()`` hook within declarative to complement ``__declare_last__()``. - modified how after_configured is invoked; we just make a dispatch() not actually connected to any mapper. this makes it easier to also invoke before_configured correctly. - improved the ComparableEntity fixture to handle collections that are sets.
* - changelog for [ticket:2934]Mike Bayer2014-02-111-0/+9
|
* - Fixed bug where :meth:`.Query.get` would fail to consistentlyMike Bayer2014-02-101-0/+10
| | | | | | raise the :class:`.InvalidRequestError` that invokes when called on a query with existing criterion, when the given identity is already present in the identity map. [ticket:2951]
* - Fixed an 0.9 regression where ORM instance or mapper events appliedMike Bayer2014-02-091-0/+11
| | | | | | | | to a base class such as a declarative base with the propagate=True flag would fail to apply to existing mapped classes which also used inheritance due to an assertion. Addtionally, repaired an attribute error which could occur during removal of such an event, depending on how it was first assigned. [ticket:2949]