summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
Commit message (Collapse)AuthorAgeFilesLines
* Mention the correct way of adding multiple attributes which refer to the ↵Eoghan Murray2016-04-081-1/+2
| | | | | | same column (cherry picked from commit 2880f24d93a774d02cde83dbabfd80ad279cbb05)
* Fix typo from "addreses" to "addresses"Rachid Belaid2016-04-081-1/+1
| | | | (cherry picked from commit c8db0862c102281da617d395b1826ff523af302e)
* Fix some broken links in docsVille Skyttä2016-04-061-1/+1
| | | | (cherry picked from commit b1c9b3bd384fc40e1c411abef12eaf04b574612f)
* ReST fix: missing backtickMarius Gedminas2016-03-211-1/+1
| | | | | Fixes a misrendering at http://docs.sqlalchemy.org/en/latest/dialects/mssql.html#nullability: (cherry picked from commit e3abb63293be80379d20b4c3f0d1cd093459a9eb)
* - Fixed bug where the negation of an EXISTS expression would notMike Bayer2016-03-212-1/+13
| | | | | | | | | be properly typed as boolean in the result, and also would fail to be anonymously aliased in a SELECT list as is the case with a non-negated EXISTS construct. fixes #3682 (cherry picked from commit 07a4b6cbcda6e6ee6e67893c5a5d2fd01e5f125f)
* - ensure engine is restored even if we had a failure in cleanupMike Bayer2016-03-151-3/+5
| | | | | | for stray connection (cherry picked from commit edbb32649960db29761e765fc74c025e9999c7dd)
* - backport doc improvements from 31f96c27a5fea302358ba580313a2f742c12b83d re:Mike Bayer2016-03-152-13/+27
| | | | isolation_level settings for postgresql, mysql
* - add notes for pyodbc limitations with rowcount fixes #3675Mike Bayer2016-03-152-0/+41
| | | | (cherry picked from commit 8bc370ed382a45654101fa34bac4a2886ce089c3)
* Adds documentation to Query.slice().jfinkels2016-03-131-3/+28
| | | | (cherry picked from commit 6e5e64e27ef2c6a86c9aebdcefdf2cd726f1476a)
* - not sure why MySQL DROP DBs fail but we can't just ignore the errorMike Bayer2016-03-031-12/+3
| | | | | | like this (cherry picked from commit 0e7904e730c3d2b0d3a394ad60010158ee29050c)
* Raise exception when we have multiple values with an unknown column. Fixes ↵Athena Yao2016-03-021-1/+1
| | | | | | #3666. (cherry picked from commit 399f92cd116b747f742b919ac9a3e79eb0637e8a)
* - unfortunately calling upon "_label" here makes it unclear ifMike Bayer2016-02-261-2/+4
| | | | | we're trying to hit columns without names yet and such, to suit the bug right now just make it specific to FunctionElement
* - Anonymous labeling is applied to a :attr:`.func` construct that isMike Bayer2016-02-261-1/+1
| | | | | | | | | | | passed to :func:`.column_property`, so that if the same attribute is referred to as a column expression twice the names are de-duped, thus avoiding "ambiguous column" errors. Previously, the ``.label(None)`` would need to be applied in order for the name to be de-anonymized. fixes #3663 (cherry picked from commit 0210695bd97e76f58d8781b69337816501482fb0)
* - additional adjustment to the fix made in ↵Mike Bayer2016-02-211-1/+4
| | | | | | | | | | | | | 8ad968f33100baeb3b13c7e0b724b6b79ab4277f for ref #3657. The Oracle dialect makes more use of the "select_wraps_for" feature than SQL server because Oracle doesn't have "TOP" for a limit-only select, so tests are showing more happening here. In the case where the select() has some dupe columns, these are deduped from the .c collection so a positional match between the wrapper and original can't use .inner_columns, because these collections wont match. Using _columns_plus_names instead which is the deduped collection that determines the SELECT display, which definitely have to match up.
* - Fixed bug in "to_list" conversion where a single bytes objectMike Bayer2016-02-212-2/+6
| | | | | | | | | would be turned into a list of individual characters. This would impact among other things using the :meth:`.Query.get` method on a primary key that's a bytes object. fixes #3660 (cherry picked from commit 01809bddff5b6e93010eb139aed54526c6e6c058)
* - reworked the way the "select_wraps_for" expression isMike Bayer2016-02-204-13/+9
| | | | | | | | | | | | | | | | | | | | | | | | | handled within visit_select(); this attribute was added in the 1.0 series to accommodate the subquery wrapping behavior of SQL Server and Oracle while also working with positional column targeting and no longer relying upon "key fallback" in order to target columns in such a statement. The IBM DB2 third-party dialect also has this use case, but its implementation is using regular expressions to rewrite the textual SELECT only and does not make use of a "wrapped" select at this time. The logic no longer attempts to reconcile proxy set collections as this was not deterministic, and instead assumes that the select() and the wrapper select() match their columns postionally, at least for the column positions they have in common, so it is now very simple and safe. fixes #3657. - as a side effect of #3657 it was also revealed that the strategy of calling upon a ResultProxy._getter was not correctly calling into NoSuchColumnError when an expected column was not present, and instead returned None up to loading.instances() to produce NoneType failures; added a raiseerr argument to _getter() which is called when we aren't expecting None, fixes #3658. (cherry picked from commit 8ad968f33100baeb3b13c7e0b724b6b79ab4277f)
* - version bumpMike Bayer2016-02-201-1/+1
|
* - further edit the unnest() example to suit PG's esoteric requirementsMike Bayer2016-02-181-4/+6
| | | | | | exactly (cherry picked from commit c97aa63789036fc145503f03123275253ae02d2c)
* - use same colname as the alias we give to the PG functionMike Bayer2016-02-161-2/+2
| | | | | | here, fixes #3652 (cherry picked from commit e310a8e423d9a4eeb511b7b84dbeccc90c234a1f)
* - Fixed bug in :meth:`.Session.merge` where an object with a compositeMike Bayer2016-02-111-2/+6
| | | | | | | | | | primary key that has values for some but not all of the PK fields would emit a SELECT statement leaking the internal NEVER_SET symbol into the query, rather than detecting that this object does not have a searchable primary key and no SELECT should be emitted. fixes #3647 (cherry picked from commit 366f97b5617af0d15cfaf594ec5ef0408c70e873)
* - add more documentation to MutableDict explainingMike Bayer2016-02-101-0/+12
| | | | | | | | that this structure is only intended to track additions and removals from the dictionary, not recursive tracking of embedded changes. fixes #3646. (cherry picked from commit 287aaa9d416b4f72179da320af0624b9ebc43846)
* - don't drop the ts1/ts2 databases without seeing the primary DB,Mike Bayer2016-02-091-6/+21
| | | | | | | because we never log in on the ts1/ts2. races against other runs and erases their DBs (cherry picked from commit 3f1f1895ac99963da1a989c69c2dce59ae916ffc)
* - repair the fix just cherry-picked for ref #3644 as compiler.py wasn'tMike Bayer2016-02-091-1/+1
| | | | | present in the commit for master, having been inadvertently committed on February 3. Source of this line is c1316a299257fae8264c8038d83e415f4605fde7.
* - repair generic _post_configure_engine() from previous changesetMike Bayer2016-02-091-1/+1
|
* - backport changes to SQLite attached DB tests so thatMike Bayer2016-02-091-2/+28
| | | | we dont get file conflicts, cherry-pick from 5bb2536cc57c55c7d8c5901b5b622d18a9a6c646
* - backport new profile system from 1.1 so we can run new-styleMike Bayer2016-02-091-0/+5
| | | | test envs on jenkins
* - Testing reveals that we have *no* weak references to any cx_Oracle ↵Mike Bayer2016-02-091-3/+32
| | | | | | | | | | connections at all, yet cx_Oracle still has open sessions that cannot be killed until process dies. Oracle wins! Add a completely separate DB reaper script that runs after py.test is done. (cherry picked from commit 11a8440bc43aa9f7eb6f2cb7b7f43e0cf6680f41)
* - restore GLOBAL keyword hereMike Bayer2016-02-091-1/+1
|
* - use config-based test schemaMike Bayer2016-02-081-5/+5
| | | | (cherry picked from commit 00a05e357b5bcc37c66256bc08c1198541475739)
* - fully hyperlink the docstring for make_transientMike Bayer2016-02-082-12/+48
| | | | | | | | | | | - establish make_transient and make_transient_to_detached as special-use, advanced use only functions - list all conditions under make_transient() under which an attribute will not be loaded and establish that make_transient() does not attempt to load all attributes before detaching the object from its session, fixes #3640 (cherry picked from commit 7eff4e8f3e3999d9eb914647d8776e6e5b7ee88e)
* - more oracle fixesMike Bayer2016-02-081-4/+9
| | | | (cherry picked from commit 93c5328e66d8491e73027f6e789df2255c4fa767)
* - add multi-database provisioning for oracleMike Bayer2016-02-081-0/+29
| | | | (cherry picked from commit c01d11907cbc98ddefe323c6115bc954b908f101)
* - add literal_binds for delete() statements in addition to insert()/update()Mike Bayer2016-02-031-1/+1
| | | | | | | - move tests to CRUDTest - changelog, fixes #3643 (cherry picked from commit 150591f9e0a94902cb2a76b68ac7c9d8a1a3ec83)
* fix passing literal_binds flag through for update and insertTim Tate2016-02-032-4/+5
| | | | (cherry picked from commit c9b03fa8afd52646aba8c59fc038330eeee6db60)
* Removed entry that causes AttributeError (#3621) - Oracle zxJDBC fails with ↵Carlos Rivas2016-02-021-2/+1
| | | | | | AttributeError in object OracleCompiler_zxjdbc (cherry picked from commit edc0b8678bc06ae27fa0f7e80c3eb074978fbe10)
* - Fixed issue where inadvertent use of the Python ``__contains__``Mike Bayer2016-02-022-1/+5
| | | | | | | | | | | override with a column expression (e.g. by using ``'x' in col``) would cause an endless loop in the case of an ARRAY type, as Python defers this to ``__getitem__`` access which never raises for this type. Overall, all use of ``__contains__`` now raises NotImplementedError. fixes #3642 (cherry picked from commit e0a580b3d055a600afae61840058a5a30ef5fe74)
* - put a retry in for PG database provisioning as it locksMike Bayer2016-01-291-2/+14
| | | | | | on database use (cherry picked from commit c8b3d4ed3f2638599fc73486cf0f724fa033a638)
* - happy new yearMike Bayer2016-01-29169-169/+169
| | | | (cherry picked from commit 859379e2fcc4506d036700ba1eca4c0ae526a8ee)
* - use a StaticPool for componentreflectiontest to ensureMike Bayer2016-01-281-7/+16
| | | | | | | temp tables are reflectable on the same session they were created (cherry picked from commit 14b1e6fe8e18d139846c1aba6761d4eea3dc25c3)
* - use schema argument correctly when we are dropping for a schemaMike Bayer2016-01-281-1/+1
| | | | (cherry picked from commit 13dfc532ac02657d75da40cc52d97b3b50a6bcfe)
* - revert the change first made in a6fe4dc, as we are now generalizingMike Bayer2016-01-282-14/+9
| | | | | | | | | | | | | | | | | | | | | | | | | the warning here to all safe_reraise() cases in Python 2. - Revisiting :ticket:`2696`, first released in 1.0.10, which attempts to work around Python 2's lack of exception context reporting by emitting a warning for an exception that was interrupted by a second exception when attempting to roll back the already-failed transaction; this issue continues to occur for MySQL backends in conjunction with a savepoint that gets unexpectedly lost, which then causes a "no such savepoint" error when the rollback is attempted, obscuring what the original condition was. The approach has been generalized to the Core "safe reraise" function which takes place across the ORM and Core in any place that a transaction is being rolled back in response to an error which occurred trying to commit, including the context managers provided by :class:`.Session` and :class:`.Connection`, and taking place for operations such as a failure on "RELEASE SAVEPOINT". Previously, the fix was only in place for a specific path within the ORM flush/commit process; it now takes place for all transational context managers as well. fixes #2696 (cherry picked from commit 8a1e619fb20df1be6ad2e0c563e451e17eb17628)
* - unfortunately we need to match within join where col.key does not matchMike Bayer2016-01-261-2/+1
| | | | | | | what's given so we need to use a set() here. contains_column is not within any performance paths (cherry picked from commit 5742e321b261c0c1303835b80418cd3cdc1b5643)
* - rework ColumnCollection to no longer persist "all_col_set"; we don'tMike Bayer2016-01-261-20/+9
| | | | | | | | | | | | | | | need this collection except in the extend/update uses where we create it ad-hoc. simplifies pickling. Compatibility with 1.0 should be OK as ColumnColleciton uses __getstate__ in any case and the __setstate__ contract hasn't changed. - Fixed bug in :class:`.Table` metadata construct which appeared around the 0.9 series where adding columns to a :class:`.Table` that was unpickled would fail to correctly establish the :class:`.Column` within the 'c' collection, leading to issues in areas such as ORM configuration. This could impact use cases such as ``extend_existing`` and others. fixes #3632 (cherry picked from commit 8163de4cc9e01460d3476b9fb3ed14a5b3e70bae)
* - use uuid fragments for provision names to enable multiple test suitesMike Bayer2016-01-231-2/+2
| | | | | | per server (cherry picked from commit 65010e97bca995657c2843f6aa8ad48bab370182)
* - documenation updates to clarify specific SQLite versionsMike Bayer2016-01-211-2/+14
| | | | | | | | | | | that have problems with right-nested joins and UNION column keys; references #3633 references #3634. backport from 1.1 to 0.9 announcing 1.1 as where these behaviors will be retired based on version-specific checks - fix test_resultset so that it passes when SQLite 3.10.0 is present, references #3633 (cherry picked from commit 89fa08792e98b9e31452aa3c949d9b909b10e7cd)
* - generalize the verbiage on LargeBinary so that it doesn'tMike Bayer2016-01-201-10/+5
| | | | | | create confusion for inherited classes such as BYTEA, fixes (cherry picked from commit 47d8858c54401cdf10285b7935049faf87432f55)
* - update oracle JDBC driver URL, fixes #3554Mike Bayer2016-01-201-2/+1
| | | | (cherry picked from commit 24dba714cb56e1f5a4dca5453cc5f442e6ee08ab)
* - cross link for concrete helper classesMike Bayer2016-01-201-0/+16
| | | | | | | - remove redundant concrete helper docs from declarative docs, two places is enough (cherry picked from commit a53bd6f74b4f41fd04c8cde1f8b58bbb766fe18d)
* - add a note that the literal_binds flag should be usedMike Bayer2016-01-201-1/+11
| | | | | | when cross-compiling from DDL to SQL, fixes #3615 (cherry picked from commit 165fa15b0f9dbca50539aa7da377c5da5ac0fc79)
* Fix ArrayOfEnum's handling of empty arrays.Chase2016-01-201-1/+1
| | | | | Prior to this change a value of `'{}'` would split into the list `['']`. (cherry picked from commit a2badb751f09299c925bd96a9fd2e76acca04269)