summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Provide more informative error when joining with no entitiespr/304Michael Williamson2016-08-282-2/+20
|
* Raise when two validators conflictMike Bayer2016-08-263-1/+54
| | | | | | | | Two @validates decorators that make use of the same name is not supported. Raise an exception. Change-Id: Ia3e89ffdc9ef345a0de258e2ac0ac5e0bd421c61 Fixes: #3776
* Merge "Add docstring to declarative_base"mike bayer2016-08-223-0/+23
|\
| * Add docstring to declarative_baseFrazer McLean2016-08-063-0/+23
| | | | | | | | | | Change-Id: I5ad44362515908592f1e8b1e6254a5270d43234a Pull-request: https://github.com/zzzeek/sqlalchemy/pull/295
* | - fix wrong var name, credit to @RazerMMike Bayer2016-08-171-1/+1
| | | | | | | | Change-Id: I36fbbfd1223ef5298c679f46db24e1bf3013cef0
* | Merge remote-tracking branch 'origin/pr/299'Mike Bayer2016-08-1620-32/+32
|\ \
| * | Spelling fixespr/299Ville Skyttä2016-08-0820-32/+32
| |/
* | Merge remote-tracking branch 'origin/pr/300'Mike Bayer2016-08-161-0/+1
|\ \
| * | Fix documentation basic example (missing imports)pr/300Romuald Brunet2016-08-111-0/+1
| |/
* | Rework _apply_joins(), _prep_for_joins() totallyMike Bayer2016-08-153-45/+209
| | | | | | | | | | | | | | | | | | | | | | | | The approach here is still error prone and hard to follow. Reorganize the whole thing to take a pretty blunt approach to the structure of to_join(). Also fix some never-called code (!) in _prep_for_joins() and ensure we re-use an aliased object. Fixes: #3774 Change-Id: Ie6319415ae7213b4a33eac2ab70803ad2880d340
* | Merge "Ensure final link in subqueryload join is correct"mike bayer2016-08-133-13/+55
|\ \
| * | Ensure final link in subqueryload join is correctMike Bayer2016-08-123-13/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed bug in subquery eager loading where a subqueryload of an "of_type()" object linked to a second subqueryload of a plain mapped class would fail to link the joins correctly. Change-Id: I4be89e6f5e492438464a2ded01eb9c84d7ff7d4e Fixes: #3773
* | | - fill in forwards-ports for 1.1 in 1.0 changelogMike Bayer2016-08-121-0/+2
|/ / | | | | | | Change-Id: I8d44b90bb9d05275de19d3ce2d9124050add5f01
* | - fix this test which did not allow for the A/ ASub to be loadedMike Bayer2016-08-121-7/+15
| | | | | | | | | | | | polymorphically Change-Id: Id82435fa16b0456f32bce49715c6606e3a1534c8
* | - add another example for chained polymorphic eager loadingMike Bayer2016-08-111-0/+14
| | | | | | | | | | Change-Id: I87918ab4cd294d4b4a87a377c7b6b21105f4fd55 (cherry picked from commit 68b6984912760bfe4d9270750d8f39b9036b65b5)
* | - small updates to polymorphic eager loading, cross-link fromMike Bayer2016-08-113-13/+14
|/ | | | | | loading documentation Change-Id: I3ce7e2cc521c4dd155195819a919017d4cc63b3c
* Build string/int processors for JSONIndexType, JSONPathTypeMike Bayer2016-08-047-25/+190
| | | | | | | | | | | | Fixed regression in JSON datatypes where the "literal processor" for a JSON index value, that needs to take effect for example within DDL, would not be invoked for the value. The native String and Integer datatypes are now called upon from within the JSONIndexType and JSONPathType. This is applied to the generic, Postgresql, and MySQL JSON types. Change-Id: Ifa5f2acfeee57a79d01d7fc85d265a37bd27c716 Fixes: #3765
* Propagate kwargs to all MySQL CAST pathsMike Bayer2016-08-043-4/+46
| | | | | Change-Id: I23a6abb26bbbe3d118887d043ce761fc4572d8d2 Fixes: #3766
* Warn that bulk save groups inserts/updates by typebrln2016-08-021-0/+8
| | | | | | | | | | Users who pass many different object types to bulk_save_objects may be surprised that the INSERT/UPDATE batches must necessarily be broken up by type. Add this to the list of caveats. Co-authored-by: Mike Bayer Change-Id: I8390c1c971ced50c41268b479a9dcd09c695b135 Pull-request: https://github.com/zzzeek/sqlalchemy/pull/294
* Merge remote-tracking branch 'origin/pr/296'Mike Bayer2016-08-021-1/+1
|\
| * Fix typopr/296Jeff Widman2016-07-251-1/+1
| |
* | Merge branch 'declarative-constructor-reference' of ↵Mike Bayer2016-08-021-1/+1
|\ \ | | | | | | | | | https://bitbucket.org/michaelwilliamson/sqlalchemy
| * | Fix reference to _declarative_constructor in docstringMichael Williamson2016-07-251-1/+1
| |/
* | Ensure post-__clause_element__() expression are used in IndexMike Bayer2016-07-312-1/+17
| | | | | | | | | | | | | | | | | | | | | | The change in Index for 1.1 combined with the fix for ref #3763 still fails to deliver the correct object resolved by __clause_element__() to the list of expressions for compilation. Make sure we use the expression that's been unwrapped from __clause_element__(). Change-Id: Ie1df8db5090de665048331786f0024d52851923f Fixes: #3763
* | Merge "Index should extract __clause_element__() early"mike bayer2016-07-303-2/+37
|\ \
| * | Index should extract __clause_element__() earlyMike Bayer2016-07-303-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed bug where :class:`.Index` would fail to extract columns from compound SQL expressions if those SQL expressions were wrapped inside of an ORM-style ``__clause_element__()`` construct. This bug exists in 1.0.x as well, however in 1.1 is more noticeable as hybrid_property @expression now returns a wrapped element. Fixes: #3763 Change-Id: I992536386503a1fb3f2305790abe008d72c44c4a
* | | Merge "Clarify order_by(False)"mike bayer2016-07-303-5/+89
|\ \ \ | |/ / |/| |
| * | Clarify order_by(False)Mike Bayer2016-07-293-5/+89
| | | | | | | | | | | | | | | | | | | | | | | | It wasn't clear how this differs from order_by(None); add more tests and document that this has to do with whether or not mapper.order_by will be re-enabled as well. Change-Id: I332e8ac60c999b38c5a243f1cb72de3cf77891b6
* | | - Consoliate test/sql/test_constraint ConstraintAPITestMike Bayer2016-07-302-371/+370
| | | | | | | | | | | | | | | | | | | | | and test/sql/test_metadata IndexTest into test/sql/test_metadata ConstraintTest Change-Id: I7aeee9a1edbbd889200afc393695f73d5fbac3f3
* | | Merge "Allow None to cancel Query.group_by()"mike bayer2016-07-293-1/+74
|\ \ \ | |/ /
| * | Allow None to cancel Query.group_by()Iuri Diniz2016-07-293-1/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replicates the same behavior as order_by(). order_by() will also be updated to deprecate passing of False as this is no longer functionally different than passing None. Change-Id: I2fc05d0317d28b6c83373769a48f7eea32d56290 Pull-request: https://github.com/zzzeek/sqlalchemy/pull/297
* | | Merge "Enable JSON testing for pymysql"mike bayer2016-07-291-4/+1
|\ \ \ | |/ / |/| |
| * | Enable JSON testing for pymysqlMike Bayer2016-07-291-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | PyMySQL upstream has released 0.7.6 which should resolve JSON encoding issues. Change-Id: Icf543d48dace1419a0aac78bdb15ec666f0edafe Fixes: #3754
* | | - next release is 1.1.0Mike Bayer2016-07-292-1/+4
|/ / | | | | | | Change-Id: I1d8ac48e6457e80e93b925152f434c13139b3d94
* | - Document how SQL Server does MAX with VARCHAR, NVARCHARMike Bayer2016-07-271-0/+20
| | | | | | | | | | | | Fixes #3760 Change-Id: I0613eb66bfdc9d7118688c74e29c8da322c3b4db
* | - 1.1.0b3rel_1_1_0b3Mike Bayer2016-07-262-2/+3
| |
* | Allow Table._reset_exported to silently passMike Bayer2016-07-244-2/+28
|/ | | | | | | | | | | Fixed bug in :class:`.Table` where the internal method ``_reset_exported()`` would corrupt the state of the object. This method is intended for selectable objects and is called by the ORM in some cases; an erroneous mapper configuration would could lead the ORM to call this on on a :class:`.Table` object. Change-Id: I63fa34ee0cdf16358bb125c556390df79758bcbc Fixes: #3755
* - MySQL's JSON shared implementation completely w/ sqltypes.JSON;Mike Bayer2016-07-242-38/+3
| | | | | | | | | | this must have been an oversight. Leave mysql.JSON in place still as we might need to add things to it. - CAST(json, String) still confusing MySQL drivers even mysqlclient. Since here we're checking for the raw form of the JSON and not a typical round trip, add a force for unicode Change-Id: I727f4526a01a0875037cf0dede45cd074da5205a
* - don't use pymysql at all for JSON, there's Py2K failures alsoMike Bayer2016-07-241-1/+1
| | | | Change-Id: I39a574ea72f5c7af0084dee3169679c5f534cb8b
* - Workaround in tests for https://github.com/PyMySQL/PyMySQL/issues/488Mike Bayer2016-07-241-4/+6
| | | | Change-Id: I4f935cce878eb1678b432f4cb4ba6ee122f8e9d4
* - a variety of test adjustments to accomodate for MySQL 5.7Mike Bayer2016-07-248-17/+46
| | | | Change-Id: Ied4245433d0d7b469dae6e7394c4931d8405f387
* Remove same-named relationship warningMike Bayer2016-07-194-12/+125
| | | | | | | | | | Removed a warning that dates back to 0.4 which emits when a same-named relationship is placed on two mappers that inherits via joined or single table inheritance. The warning does not apply to the current unit of work implementation. Change-Id: If528ec3a2f4dc60712d9044fd1ec6c4dfbf0eadb Fixes: #3749
* - fix formattingMike Bayer2016-07-181-3/+3
| | | | Change-Id: Ieba940a998a6aa287864e9748c2995ee4ae5bf54
* Merge "Add `default` parameter for `index_property`"mike bayer2016-07-133-4/+62
|\
| * Add `default` parameter for `index_property`Jeong YunWon2016-07-113-4/+62
| | | | | | | | | | | | And force to use keyword arguments for trivial parameters in index_property Change-Id: I12a178128182f77a2d06b52d7e36f59a36b45a33
* | Ensure DML provides named_with_column for CTE(Alias)Mike Bayer2016-07-133-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | Fixed bug in new CTE feature for update/insert/delete whereby an anoymous (e.g. no name passed) :class:`.CTE` construct around the statement would fail. The Alias base class of CTE checks for the "named_with_column" attribute in order to detect if the underlying selectable has a name; UpdateBase now provides this as False. Change-Id: I4b0309db21379a4c0cb93085298c86da3cf840e4 Fixes: #3744
* | Merge "Work w/ prefetch even for selects, if present"mike bayer2016-07-136-34/+170
|\ \
| * | Work w/ prefetch even for selects, if presentMike Bayer2016-07-126-34/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed bug in new CTE feature for update/insert/delete stated as a CTE inside of an enclosing statement (typically SELECT) whereby oninsert and onupdate values weren't called upon for the embedded statement. This is accomplished by consulting prefetch for all statements. The collection is also broken into separate insert/update collections so that we don't need to consult toplevel self.isinsert to determine if the prefetch is for an insert or an update. What we don't yet test for are CTE combinations that have both insert/update in one statement, though these should now work in theory provided the underlying database supports such a statement. Change-Id: I3b6a860e22c86743c91c56a7ec751ff706f66f64 Fixes: #3745
* | | Fix issue with unbaking subqueriesMark Hahnenberg2016-07-123-13/+32
|/ / | | | | | | | | | | | | | | | | | | Fix improper capture of a loop variable inside a lambda during unbaking of subquery eager loaders, which would cause the incorrect query to be invoked. Fixes: #3743 Change-Id: I995110deb8ee2dae8540486729e1ae64578d28fc Pull-request: https://github.com/zzzeek/sqlalchemy/pull/290
* | - 1.0.15 for devMike Bayer2016-07-121-0/+3
| | | | | | | | Change-Id: I2d75b6d9ca533e662bc8160cf5fc52355e5e549e