summaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* - The :class:`.Query` will raise an exception when :meth:`.Query.yield_per`Mike Bayer2014-08-292-0/+25
| | | | | | | | is used with mappings or options where eager loading, either joined or subquery, would take place. These loading strategies are not currently compatible with yield_per, so by raising this error, the method is safer to use - combine with sending False to :meth:`.Query.enable_eagerloads` to disable the eager loaders.
* - we've got 25% improvement so let's talk about itMike Bayer2014-08-291-0/+48
|
* - Changed the approach by which the "single inheritance criterion"Mike Bayer2014-08-292-0/+73
| | | | | | | | | | is applied, when using :meth:`.Query.from_self`, or its common user :meth:`.Query.count`. The criteria to limit rows to those with a certain type is now indicated on the inside subquery, not the outside one, so that even if the "type" column is not available in the columns clause, we can filter on it on the "inner" query. fixes #3177
* - major refactoring/inlining to loader.instances(), though not reallyMike Bayer2014-08-283-2/+82
| | | | | | | | | | | any speed improvements :(. code is in a much better place to be run into C, however - The ``proc()`` callable passed to the ``create_row_processor()`` method of custom :class:`.Bundle` classes now accepts only a single "row" argument. - Deprecated event hooks removed: ``populate_instance``, ``create_instance``, ``translate_row``, ``append_result`` - the getter() idea is somewhat restored; see ref #3175
* - Made a small adjustment to the mechanics of lazy loading,Mike Bayer2014-08-281-0/+12
| | | | | | | | | | such that it has less chance of interfering with a joinload() in the very rare circumstance that an object points to itself; in this scenario, the object refers to itself while loading its attributes which can cause a mixup between loaders. The use case of "object points to itself" is not fully supported, but the fix also removes some overhead so for now is part of testing. fixes #3145
* - A new implementation for :class:`.KeyedTuple` used by theMike Bayer2014-08-282-0/+61
| | | | | | :class:`.Query` object offers dramatic speed improvements when fetching large numbers of column-oriented rows. fixes #3176
* - The behavior of :paramref:`.joinedload.innerjoin` as well asMike Bayer2014-08-262-0/+62
| | | | | | | :paramref:`.relationship.innerjoin` is now to use "nested" inner joins, that is, right-nested, as the default behavior when an inner join joined eager load is chained to an outer join eager load. fixes #3008
* - updates to migration / changelog for 1.0Mike Bayer2014-08-263-25/+164
|
* - changelog for pr bitbucket:28Mike Bayer2014-08-251-0/+9
|
* - changelog for pr bitbucket:27Mike Bayer2014-08-251-0/+10
|
* - The "resurrect" ORM event has been removed. This event hook hadMike Bayer2014-08-251-0/+8
| | | | | | no purpose since the old "mutable attribute" system was removed in 0.8. fixes #3171
* Merge branch 'pr129'Mike Bayer2014-08-231-0/+13
|\ | | | | | | | | Conflicts: doc/build/changelog/changelog_10.rst
| * - pep8 formatting for pg table opts feature, testsMike Bayer2014-08-231-0/+13
| | | | | | | | | | | | | | - add support for PG INHERITS - fix mis-named tests - changelog fixes #2051
* | Add note on begin_nested requiring rollback/commitpr/131Gunnlaugur Þór Briem2014-08-211-1/+4
| | | | | | | | | | | | | | Avoid confusion about rollback/commit "must be issued" after ``session.begin_nested()`` --- this might be taken to mean call must be *added*, but that's only true if not using the return value as a context manager.
* | - The INSERT...FROM SELECT construct now implies ``inline=True``Mike Bayer2014-08-201-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on :class:`.Insert`. This helps to fix a bug where an INSERT...FROM SELECT construct would inadvertently be compiled as "implicit returning" on supporting backends, which would cause breakage in the case of an INSERT that inserts zero rows (as implicit returning expects a row), as well as arbitrary return data in the case of an INSERT that inserts multiple rows (e.g. only the first row of many). A similar change is also applied to an INSERT..VALUES with multiple parameter sets; implicit RETURNING will no longer emit for this statement either. As both of these constructs deal with varible numbers of rows, the :attr:`.ResultProxy.inserted_primary_key` accessor does not apply. Previously, there was a documentation note that one may prefer ``inline=True`` with INSERT..FROM SELECT as some databases don't support returning and therefore can't do "implicit" returning, but there's no reason an INSERT...FROM SELECT needs implicit returning in any case. Regular explicit :meth:`.Insert.returning` should be used to return variable numbers of result rows if inserted data is needed. fixes #3169
* | - Fixed bug in connection pool logging where the "connection checked out"Mike Bayer2014-08-201-0/+11
| | | | | | | | | | | | | | | | debug logging message would not emit if the logging were set up using ``logging.setLevel()``, rather than using the ``echo_pool`` flag. Tests to assert this logging have been added. This is a regression that was introduced in 0.9.0. fixes #3168
* | - Fixed bug where attribute "set" events or columns withMike Bayer2014-08-172-0/+16
|/ | | | | | | | ``@validates`` would have events triggered within the flush process, when those columns were the targets of a "fetch and populate" operation, such as an autoincremented primary key, a Python side default, or a server-side default "eagerly" fetched via RETURNING. fixes #3167
* - changelog for pullreq github:125Mike Bayer2014-08-161-0/+10
| | | | - add pg8000 version detection for the "sane multi rowcount" feature
* - The :class:`.IdentityMap` exposed from :class:`.Session.identity`Mike Bayer2014-08-151-0/+8
| | | | | | now returns lists for ``items()`` and ``values()`` in Py3K. Early porting to Py3K here had these returning iterators, when they technically should be "iterable views"..for now, lists are OK.
* - UPDATE statements can now be batched within an ORM flushMike Bayer2014-08-141-0/+11
| | | | | | | | | | into more performant executemany() call, similarly to how INSERT statements can be batched; this will be invoked within flush to the degree that subsequent UPDATE statements for the same mapping and table involve the identical columns within the VALUES clause, as well as that no VALUES-level SQL expressions are embedded. - some other inlinings within persistence.py
* - The string keys that are used to determine the columns impactedMike Bayer2014-08-141-0/+12
| | | | | | | | | for an INSERT or UPDATE are now sorted when they contribute towards the "compiled cache" cache key. These keys were previously not deterministically ordered, meaning the same statement could be cached multiple times on equivalent keys, costing both in terms of memory as well as performance. fixes #3165
* - Removing (or adding) an event listener at the same time that the eventMike Bayer2014-08-141-0/+11
| | | | | | | | | is being run itself, either from inside the listener or from a concurrent thread, now raises a RuntimeError, as the collection used is now an instance of ``colletions.deque()`` and does not support changes while being iterated. Previously, a plain Python list was used where removal from inside the event itself would produce silent failures. fixes #3163
* on second thought we need to prioritize what really needs to beMike Bayer2014-08-141-7/+0
| | | | here and what's just in changelog
* - updatesMike Bayer2014-08-141-1/+64
|
* - The ``info`` parameter has been added to the constructor forMike Bayer2014-08-131-0/+17
| | | | | | | | | | | :class:`.SynonymProperty` and :class:`.ComparableProperty`. - The ``info`` parameter has been added as a constructor argument to all schema constructs including :class:`.MetaData`, :class:`.Index`, :class:`.ForeignKey`, :class:`.ForeignKeyConstraint`, :class:`.UniqueConstraint`, :class:`.PrimaryKeyConstraint`, :class:`.CheckConstraint`. fixes #2963
* - The :meth:`.InspectionAttr.info` collection is now moved down toMike Bayer2014-08-131-0/+10
| | | | | | | | :class:`.InspectionAttr`, where in addition to being available on all :class:`.MapperProperty` objects, it is also now available on hybrid properties, association proxies, when accessed via :attr:`.Mapper.all_orm_descriptors`. fixes #2971
* - rename _InspectionAttr to InspectionAttrMike Bayer2014-08-131-1/+1
|
* Merge branch 'pr126'Mike Bayer2014-08-131-0/+8
|\ | | | | | | | | Conflicts: doc/build/changelog/changelog_10.rst
| * - public method name is get_enums()Mike Bayer2014-08-131-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - return a list of dicts like other methods do - don't combine 'schema' with 'name', leave them separate - support '*' argument so that we can retrieve cross-schema if needed - remove "conn" argument - use bound parameters for 'schema' in SQL - order by schema, name, label - adapt _load_enums changes to column reflection - changelog - module docs for get_enums() - add drop of enums to --dropfirst
* | - changelog, fixes #3027Mike Bayer2014-08-091-0/+9
|/
* -Fixed bug where Postgresql JSON type was not able to persist orMike Bayer2014-08-071-0/+19
| | | | | | | | | | | | | | | | | otherwise render a SQL NULL column value, rather than a JSON-encoded ``'null'``. To support this case, changes are as follows: * The value :func:`.null` can now be specified, which will always result in a NULL value resulting in the statement. * A new parameter :paramref:`.JSON.none_as_null` is added, which when True indicates that the Python ``None`` value should be peristed as SQL NULL, rather than JSON-encoded ``'null'``. Retrival of NULL as None is also repaired for DBAPIs other than psycopg2, namely pg8000. fixes #3159
* - clarify docs that contains_eager() is included in the of_type() system,Mike Bayer2014-08-071-2/+5
| | | | fix #2438
* fix typo in cascade documentationpr/127Michael White2014-08-051-1/+1
|
* - Fixed bug in CTE where ``literal_binds`` compiler argument would notMike Bayer2014-08-021-0/+9
| | | | | | be always be correctly propagated when one CTE referred to another aliased CTE in a statement. Fixes #3154
* - update the literal binds sectionMike Bayer2014-07-301-43/+24
|
* - The exception wrapping system for DBAPI errors can now accommodateMike Bayer2014-07-291-0/+11
| | | | | | | | non-standard DBAPI exceptions, such as the psycopg2 TransactionRollbackError. These exceptions will now be raised using the closest available subclass in ``sqlalchemy.exc``, in the case of TransactionRollbackError, ``sqlalchemy.exc.OperationalError``. fixes #3075
* - Fixed 0.9.7 regression caused by :ticket:`3067` in conjunction withMike Bayer2014-07-291-0/+9
| | | | | | a mis-named unit test such that so-called "schema" types like :class:`.Boolean` and :class:`.Enum` could no longer be pickled. fixes #3144
* - Fixed bug in :class:`.postgresql.array` object where comparisonMike Bayer2014-07-251-0/+10
| | | | | to a plain Python list would fail to use the correct array constructor. Pull request courtesy Andrew. fixes #3141
* - The MySQL dialect will now disable :meth:`.ConnectionEvents.handle_error`Mike Bayer2014-07-251-0/+12
| | | | | | | | | | events from firing for those statements which it uses internally to detect if a table exists or not. This is achieved using an execution option ``skip_user_error_events`` that disables the handle error event for the scope of that execution. In this way, user code that rewrites exceptions doesn't need to worry about the MySQL dialect or other dialects that occasionally need to catch SQLAlchemy specific exceptions.
* - Added a supported :meth:`.FunctionElement.alias` method to functions,Mike Bayer2014-07-241-0/+12
| | | | | | | | | e.g. the ``func`` construct. Previously, behavior for this method was undefined. The current behavior mimics that of pre-0.9.4, which is that the function is turned into a single-column FROM clause with the given alias name, where the column itself is anonymously named. fixes #3137
* merge 0.9.8 startMike Bayer2014-07-241-6/+7
|
* forwards port 0.9 changelog updateMike Bayer2014-07-221-1/+1
|
* - forwards port 0.8 changelog updateMike Bayer2014-07-221-0/+1
|
* - missing 0.8 change forwards portMike Bayer2014-07-221-0/+9
|
* spellingMike Bayer2014-07-221-1/+1
|
* - ticket inlineMike Bayer2014-07-221-5/+1
|
* - update some SQL server tests, supportMike Bayer2014-07-221-1/+3
| | | | - add support for IDENTITY INSERT setting for INSERT with inline VALUES
* - fix missing release dateMike Bayer2014-07-211-0/+1
|
* - Fixed bug introduced in 0.9.5 by new pg8000 isolation level featureMike Bayer2014-07-211-0/+9
| | | | | where engine-level isolation level parameter would raise an error on connect. fixes #3134
* Fix doc gen on Windows platformpr/120Bog2014-07-211-1/+1
| | | | - replaced hardcoded ":" path separator with OS dependent one.