summaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* - disable the scrolling layout, anchors for code/params are not working,Mike Bayer2014-05-291-1/+2
| | | | | and the current approach used for sections is not able to work for fine-grained anchors like these, another approach needs to be taken.
* - Fixed a few edge cases which arise in the so-called "row switch"Mike Bayer2014-05-281-0/+15
| | | | | | | | | | | scenario, where an INSERT/DELETE can be turned into an UPDATE. In this situation, a many-to-one relationship set to None, or in some cases a scalar attribute set to None, may not be detected as a net change in value, and therefore the UPDATE would not reset what was on the previous row. This is due to some as-yet unresovled side effects of the way attribute history works in terms of implicitly assuming None isn't really a "change" for a previously un-set attribute. See also :ticket:`3061`. fixes #3060
* - a rework of doc layout and nav:Mike Bayer2014-05-286-79/+169
| | | | | | | | | | - reduce the real estate for the top nav; move the search box into the top yellow box, close in space - use a new CSS/js approach such that the top toolbar freezes from scrolling at the top of the page. The left nav scrolls independently of the content pane so that the local contents remain visible regardless of scrolling. this approach is disabled on mobile where the dual scrollbars may be cumbersome (overall the site is not well designed for mobile).
* - Fixed bug in INSERT..FROM SELECT construct where selecting from aMike Bayer2014-05-251-0/+8
| | | | | UNION would wrap the union in an anonymous (e.g. unlabled) subquery. fixes #3044
* - Added the ``hashable=False`` flag to the PG :class:`.HSTORE` type, whichMike Bayer2014-05-251-0/+10
| | | | | | is needed to allow the ORM to skip over trying to "hash" an ORM-mapped HSTORE column when requesting it in a mixed column/entity list. Patch courtesy Gunnlaugur Þór Briem. Fixes #3053
* - Fixed bug in subquery eager loading where a long chain ofMike Bayer2014-05-251-0/+11
| | | | | | | eager loads across a polymorphic-subclass boundary in conjunction with polymorphic loading would fail to locate the subclass-link in the chain, erroring out with a missing property name on an :class:`.AliasedClass`. fixes #3055
* - Fixed bug in SQLite join rewriting where anonymized column namesMike Bayer2014-05-251-0/+9
| | | | | | due to repeats would not correctly be rewritten in subqueries. This would affect SELECT queries with any kind of subquery + join. fixes #3057
* - indicate all 0.9.5 issues as from 1.0.0 backported to 0.9.5Mike Bayer2014-05-241-0/+12
|
* - Fixed bug where the :meth:`.Operators.__and__`,Mike Bayer2014-05-241-0/+10
| | | | | | | :meth:`.Operators.__or__` and :meth:`.Operators.__invert__` operator overload methods could not be overridden within a custom :class:`.TypeEngine.Comparator` implementation. fixes #3012
* - hyperlink all the column operators listed in the ORM tutorial common ↵Mike Bayer2014-05-241-11/+15
| | | | | | | | | filter operators section - add language to MATCH explicitly stating this operator varies by backend and is not available on SQLite, as the tutorial defaults to SQLite to start with, fix #3059 - on the actual match() documentation fix this up to be more accurate, list some example renderings for different backends. again mention SQLite not supported
* - document the compiler_kwargs accessorMike Bayer2014-05-231-0/+101
| | | | - add new FAQ for rendering SQL as a string
* - changelog for #2785Mike Bayer2014-05-161-0/+11
| | | | | - refactor tests a bit fixes #2785
* typoMike Bayer2014-05-161-1/+1
|
* - add lots more to the profiling sectionMike Bayer2014-05-161-340/+497
| | | | | | - add the query profiling recipe, fix it with a stack as we now nest those calls occasionally - tabs to spaces
* - Fixed bug in mutable extension where :class:`.MutableDict` did notMike Bayer2014-05-141-0/+8
| | | | | report change events for the ``setdefault()`` dictionary operation. fixes #3051
* - add a new FAQ section "performance", put the profiling article there,Mike Bayer2014-05-121-135/+249
| | | | move the insert rows article there as well
* changelog for pullreq bitbucket:15Mike Bayer2014-05-121-0/+9
|
* Merge pull request #91 from smurfix/de_apostroph_ifymike bayer2014-05-118-12/+12
|\ | | | | Documentation fix-up: "its" vs. "it's"
| * Documentation fix-up: "its" vs. "it's"pr/91Matthias Urlichs2014-05-118-12/+12
| | | | | | | | | | | | | | | | | | Removed ungrammatical apostrophes from documentation, replacing "it's" with "its" where appropriate (but in a few cases with "it is" when that read better). While doing that, I also fixed a couple of minor typos etc. as I noticed them.
* | - Fixed ORM bug where the :func:`.class_mapper` function would maskMike Bayer2014-05-101-0/+10
| | | | | | | | | | | | | | AttributeErrors or KeyErrors that should raise during mapper configuration due to user errors. The catch for attribute/keyerror has been made more specific to not include the configuration step. fixes #3047
* | - Fixed some "double invalidate" situations were detected whereMike Bayer2014-05-101-0/+22
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a connection invalidation could occur within an already critical section like a connection.close(); ultimately, these conditions are caused by the change in :ticket:`2907`, in that the "reset on return" feature calls out to the Connection/Transaction in order to handle it, where "disconnect detection" might be caught. However, it's possible that the more recent change in :ticket:`2985` made it more likely for this to be seen as the "connection invalidate" operation is much quicker, as the issue is more reproducible on 0.9.4 than 0.9.3. Checks are now added within any section that an invalidate might occur to halt further disallowed operations on the invalidated connection. This includes two fixes both at the engine level and at the pool level. While the issue was observed with highly concurrent gevent cases, it could in theory occur in any kind of scenario where a disconnect occurs within the connection close operation. fixes #3043 ref #2985 ref #2907 - add some defensive checks during an invalidate situation: 1. _ConnectionRecord.invalidate might be called twice within finalize_fairy if the _reset() raises an invalidate condition, invalidates, raises and then goes to invalidate the CR. so check for this. 2. similarly within Conneciton, anytime we do handle_dbapi_error(), we might become invalidated. so a following finally must check self.__invalid before dealing with the connection any futher.
* - Fixed bug where :meth:`.Table.update` and :meth:`.Table.delete`Mike Bayer2014-05-081-0/+10
| | | | | | | would produce an empty WHERE clause when an empty :func:`.and_()` or :func:`.or_()` or other blank expression were applied. This is now consistent with that of :func:`.select`. fixes #3045
* doc fixesMike Bayer2014-05-012-1/+2
|
* - Fixed bug where the combination of "limit" rendering asMike Bayer2014-04-301-0/+10
| | | | | | | | | "SELECT FIRST n ROWS" using a bound parameter (only firebird has both), combined with column-level subqueries which also feature "limit" as well as "positional" bound parameters (e.g. qmark style) would erroneously assign the subquery-level positions before that of the enclosing SELECT, thus returning parameters which are out of order. Fixes #3038
* Fix many typos throughout the codebasepr/85Alex Gaynor2014-04-2625-106/+106
| | | | Found using: https://github.com/intgr/topy
* - add a note about versioning only applying to flushesMike Bayer2014-04-251-0/+10
|
* - document that joinedload/eagerload work with of_type() + with_polymoprhic()Mike Bayer2014-04-231-3/+19
|
* - The "primaryjoin" model has been stretched a bit further to allowMike Bayer2014-04-192-0/+55
| | | | | | | | | | a join condition that is strictly from a single column to itself, translated through some kind of SQL function or expression. This is kind of experimental, but the first proof of concept is a "materialized path" join condition where a path string is compared to itself using "like". The :meth:`.Operators.like` operator has also been added to the list of valid operators to use in a primaryjoin condition. fixes #3029
* - Liberalized the contract for :class:`.Index` a bit in that you canMike Bayer2014-04-191-0/+10
| | | | | | | specify a :func:`.text` expression as the target; the index no longer needs to have a table-bound column present if the index is to be manually added to the table, either via inline declaration or via :meth:`.Table.append_constraint`. fixes #3028
* - Revised the query used to determine the current default schema nameMike Bayer2014-04-171-0/+10
| | | | | | | to use the ``database_principal_id()`` function in conjunction with the ``sys.database_principals`` view so that we can determine the default schema independently of the type of login in progress (e.g., SQL Server, Windows, etc). fixes #3025
* - Fixed bug in new :meth:`.DialectKWArgs.argument_for` method whereMike Bayer2014-04-151-0/+8
| | | | | adding an argument for a construct not previously included for any special arguments would fail. fixes #3024
* changelogMike Bayer2014-04-141-0/+9
|
* - Added a new "disconnect" message "connection has been closed unexpectedly".Mike Bayer2014-04-111-0/+12
| | | | | This appears to be related to newer versions of SSL. Pull request courtesy Antti Haapala.
* Merge pull request #84 from Daniel-B-Smith/mastermike bayer2014-04-111-1/+1
|\ | | | | Fixed bug in example code on orm session page.
| * Fixed bug in example code.pr/84Daniel Smith2014-04-101-1/+1
| |
* | - Fixed regression introduced in 0.9 where new "ORDER BY <labelname>"Mike Bayer2014-04-101-0/+8
|/ | | | | | feature from :ticket:`1068` would not apply quoting rules to the label name as rendered in the ORDER BY. fix #3020, re: #1068
* - Added new utility function :func:`.make_transient_to_detached` which canMike Bayer2014-04-092-0/+12
| | | | | | | be used to manufacture objects that behave as though they were loaded from a session, then detached. Attributes that aren't present are marked as expired, and the object can be added to a Session where it will act like a persistent one. fix #3017
* repair erroneous whitespace in autodoc directives, preventing members fromMike Bayer2014-04-061-8/+0
| | | | being documented
* - Restored the import for :class:`.Function` to the ↵Mike Bayer2014-04-051-0/+6
| | | | | | ``sqlalchemy.sql.expression`` import namespace, which was removed at the beginning of 0.9.
* - add some docs for the instancestate linkage to the inspection systemMike Bayer2014-04-041-0/+22
|
* - Fixes to the newly enhanced boolean coercion in :ticket:`2804` whereMike Bayer2014-04-011-0/+10
| | | | | | | the new rules for "where" and "having" woudn't take effect for the "whereclause" and "having" kw arguments of the :func:`.select` construct, which is also what :class:`.Query` uses so wasn't working in the ORM either. fixes #3013 re: #2804
* - Added new flag :paramref:`.expression.between.symmetric`, when set to TrueMike Bayer2014-03-301-0/+13
| | | | | | | renders "BETWEEN SYMMETRIC". Also added a new negation operator "notbetween_op", which now allows an expression like ``~col.between(x, y)`` to render as "col NOT BETWEEN x AND y", rather than a parentheiszed NOT string. fixes #2990
* - fix mapper refMike Bayer2014-03-282-4/+1
| | | | - don't talk about "can't check for rows matched" here as we changed that in 0.9
* 0.9.4rel_0_9_4Mike Bayer2014-03-283-2/+4
|
* - Added new parameter :paramref:`.mapper.confirm_deleted_rows`. DefaultsMike Bayer2014-03-281-0/+15
| | | | | | | | | | | | to True, indicates that a series of DELETE statements should confirm that the cursor rowcount matches the number of primary keys that should have matched; this behavior had been taken off in most cases (except when version_id is used) to support the unusual edge case of self-referential ON DELETE CASCADE; to accomodate this, the message is now just a warning, not an exception, and the flag can be used to indicate a mapping that expects self-refererntial cascaded deletes of this nature. See also :ticket:`2403` for background on the original change. re: #2403 fix #3007
* - revert part of c01558ae7f4a for now as we also test that a DELETE of two rowsMike Bayer2014-03-281-7/+3
| | | | | | where one is to be deleted from ON DELETE CASCADE succeeds; the check here makes that fail. We will need to add an option to enable/disable this check per mapping, will likely do this in next version
* - Fixed ORM bug where changing the primary key of an object, then markingMike Bayer2014-03-281-0/+22
| | | | | | | | | | | | | it for DELETE would fail to target the correct row for DELETE. Then to compound matters, basic "number of rows matched" checks were not being performed. Both issues are fixed, however note that the "rows matched" check requires so-called "sane multi-row count" functionality; the DBAPI's executemany() method must count up the rows matched by individual statements and SQLAlchemy's dialect must mark this feature as supported, currently applies to some mysql dialects, psycopg2, sqlite only. fixes #3006 - Enabled "sane multi-row count" checking for the psycopg2 DBAPI, as this seems to be supported as of psycopg2 2.0.9.
* - Added support to automap for the case where a relationship shouldMike Bayer2014-03-281-0/+9
| | | | | | | not be created between two classes that are in a joined inheritance relationship, for those foreign keys that link the subclass back to the superclass. fixes #3004
* - Fixed a very old behavior where the lazy load emitted for a one-to-manyMike Bayer2014-03-271-0/+19
| | | | | | | | | | | | | | | | | could inappropriately pull in the parent table, and also return results inconsistent based on what's in the parent table, when the primaryjoin includes some kind of discriminator against the parent table, such as ``and_(parent.id == child.parent_id, parent.deleted == False)``. While this primaryjoin doesn't make that much sense for a one-to-many, it is slightly more common when applied to the many-to-one side, and the one-to-many comes as a result of a backref. Loading rows from ``child`` in this case would keep ``parent.deleted == False`` as is within the query, thereby yanking it into the FROM clause and doing a cartesian product. The new behavior will now substitute the value of the local "parent.deleted" for that parameter as is appropriate. Though typically, a real-world app probably wants to use a different primaryjoin for the o2m side in any case. fixes #2948
* - Improved the check for "how to join from A to B" such that whenMike Bayer2014-03-271-0/+11
| | | | | | | | | a table has multiple, composite foreign keys targeting a parent table, the :paramref:`.relationship.foreign_keys` argument will be properly interpreted in order to resolve the ambiguity; previously this condition would raise that there were multiple FK paths when in fact the foreign_keys argument should be establishing which one is expected. fixes #2965