summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* debug 5workflow_test_fooMike Bayer2020-09-111-0/+2
| | | | Change-Id: I7ec912d3eb83cc6c2ff6596ba7fd7b67c890b8a2
* debugMike Bayer2020-09-111-5/+12
| | | | Change-Id: Ia7e9ef6eae43693b4949585155cb6f9761c3b00b
* remote debuggingMike Bayer2020-09-111-6/+6
| | | | Change-Id: I0b698843d22658a0e1c502ffb391f95de4636086
* remote debuggingMike Bayer2020-09-111-21/+12
| | | | Change-Id: I3eee96df57caea70d08993287014b5795d8a3716
* remote debugging continuedMike Bayer2020-09-111-4/+16
| | | | Change-Id: I9e03d50ec00637e47ea87883fd9f450f3ffa8101
* try to debug failing test on github workersMike Bayer2020-09-111-0/+9
| | | | Change-Id: I18c4761dba96b8abeb1461974ee6ed19b299dfdf
* Attempt to strengthen gc testMike Bayer2020-09-111-0/+2
| | | | | | | - ensure class registry is empty first - gc_collect() twice Change-Id: I61324931bfc1aafce97880320951e568be88f121
* fix typosMike Bayer2020-09-111-2/+2
| | | | Change-Id: I7649576bd1e100fd6f8968f0256b074263943a44
* Build out new declarative systems; deprecate mapper()Mike Bayer2020-09-1066-5861/+7877
| | | | | | | | | | | | | The ORM Declarative system is now unified into the ORM itself, with new import spaces under ``sqlalchemy.orm`` and new kinds of mappings. Support for decorator-based mappings without using a base class, support for classical style-mapper() calls that have access to the declarative class registry for relationships, and full integration of Declarative with 3rd party class attribute systems like ``dataclasses`` and ``attrs`` is now supported. Fixes: #5508 Change-Id: I130b2b6edff6450bfe8a3e6baa099ff04b5471ff
* Add 3rd party integration issues FAQ; add numpyMike Bayer2020-09-102-0/+76
| | | | | | | | | Users of numpy and pandas should refer to this section where we will try to catalog the common issues that don't really have an automatic solution. Fixes: #5552 Change-Id: I02990e328616ccb21933ffda1167c52256bace07
* Add more docs for populate_existing(); link with_for_updateMike Bayer2020-09-105-6/+113
| | | | | | | | | | | | | The populate_existing() method is actually changing to be an execution option, however it has almost no mention in the narrative docs so add docs in terms of the 1.x version first, including that we mention you almost definitely want to use this method if you are also using with_for_update(). Fixes: #5572 Fixes: #4774 Change-Id: Ieca916400622c1ffc1ae81204132a02a0983594c
* Repair documentation issuesMike Bayer2020-09-094-12/+46
| | | | | | | Fixes some remaining issues detailed at #5428. Fixes: #5428 Change-Id: I942a64411766fc82f30791eee570747a218af77d
* Merge "Update select usage to use the new 1.4 format"mike bayer2020-09-08112-2033/+1774
|\
| * Update select usage to use the new 1.4 formatFederico Caselli2020-09-08112-2033/+1774
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change includes mainly that the bracketed use within select() is moved to positional, and keyword arguments are removed from calls to the select() function. it does not yet fully address other issues such as keyword arguments passed to the table.select(). Additionally, allows False / None to both be considered as "disable" for all of select.correlate(), select.correlate_except(), query.correlate(), which establishes consistency with passing of ``False`` for the legact select(correlate=False) argument. Change-Id: Ie6c6e6abfbd3d75d4c8de504c0cf0159e6999108
* | Merge "Fix typo in :paramref:`_engine.create_engine.isolation_level` names"mike bayer2020-09-081-2/+2
|\ \
| * | Fix typo in :paramref:`_engine.create_engine.isolation_level` namesFederico Caselli2020-09-081-2/+2
| |/ | | | | | | | | Fixes: #5563 Change-Id: I29204fdf679d750c66ed17daf70bc8d7cb1b7f65
* | Fix typo in I0ad6d7a095e49d331618274c40ce75c76afdc7ddFederico Caselli2020-09-082-2/+5
|/ | | | Change-Id: I649662d440f83df379922e8c967d28f635f9c85b
* Merge "Create connection characteristics API; implement postgresql flags"mike bayer2020-09-0811-25/+559
|\
| * Create connection characteristics API; implement postgresql flagsMike Bayer2020-09-0811-25/+559
| | | | | | | | | | | | | | | | | | | | | | Added support for PostgreSQL "readonly" and "deferrable" flags for all of psycopg2, asyncpg and pg8000 dialects. This takes advantage of a newly generalized version of the "isolation level" API to support other kinds of session attributes set via execution options that are reliably reset when connections are returned to the connection pool. Fixes: #5549 Change-Id: I0ad6d7a095e49d331618274c40ce75c76afdc7dd
* | PostgreSQL dialect-level isolation_level parameter is legacyMike Bayer2020-09-082-35/+58
|/ | | | | | | | | The isolation level section in the docs inadvertently copied the PostgreSQL example using the PGDialect.isolation_level parameter and not the execution_options. ensure only the execution_options version is documented. Change-Id: I94e02ede62d3dded40e3fcbce8d04608dc063108
* Merge "Modernize some .execute calls in EnumSetTest"mike bayer2020-09-081-286/+255
|\
| * Modernize some .execute calls in EnumSetTestGord Thompson2020-09-071-286/+255
| | | | | | | | Change-Id: I9bbc3be4ec1797686ddf4a559f5b9e1679c62f58
* | Update paths in CHANGESStig Otnes Kolstad2020-09-071-11/+4
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <!-- Provide a general summary of your proposed changes in the Title field above --> ### Description Outdated path to in-repo changelog. Removed whitespace as well. ### Checklist <!-- go over following points. check them with an `x` if they do apply, (they turn into clickable checkboxes once the PR is submitted, so no need to do everything at once) --> This pull request is: - [x] A documentation / typographical error fix - Good to go, no issue or tests are needed - [ ] A short code fix - please include the issue number, and create an issue if none exists, which must include a complete example of the issue. one line code fixes without an issue and demonstration will not be accepted. - Please include: `Fixes: #<issue number>` in the commit message - please include tests. one line code fixes without tests will not be accepted. - [ ] A new feature implementation - please include the issue number, and create an issue if none exists, which must include a complete example of how the feature would look. - Please include: `Fixes: #<issue number>` in the commit message - please include tests. **Have a nice day!** Closes: #5560 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5560 Pull-request-sha: f69e6adbe85997c88cb1c6e6c564cefdbc1c874a Change-Id: If047c0fd4933ba09af5e3649fb8de874b886e854
* Don't rely on string col name in adapt_to_contextMike Bayer2020-09-066-52/+162
| | | | | | | | | | | | | | | fixed an issue where even though the method claims to be matching up columns positionally, it was failing on that by looking in "keymap" based on string name. Adds a new member to the _keymap recs MD_RESULT_MAP_INDEX so that we can efficiently link from the generated keymap back to the compiled._result_columns structure without any ambiguity. Fixes: #5559 Change-Id: Ie2fa9165c16625ef860ffac1190e00575e96761f
* Revert "Block non-mysqldb / pymysql from testing Enum"Mike Bayer2020-09-051-7/+2
| | | | This reverts commit 55843040b1b4e1493e27051f5125fa322a43dc31.
* Block non-mysqldb / pymysql from testing EnumMike Bayer2020-09-031-2/+7
| | | | | | | | | The mariadbconnector driver is having sporadic interpreter crashes within this test suite. hopefully the crashes are specific to these tests else we'll have to remove mariadb from CI. Change-Id: Idb7a9521e795d39957bce45415013eb4e771e560
* Merge "Add new MySQL reserved words: `cube`, `lateral`."mike bayer2020-09-032-0/+12
|\
| * Add new MySQL reserved words: `cube`, `lateral`.StefanosChaliasos2020-08-302-0/+12
| | | | | | | | | | | | | | | | Closes: #5539 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5539 Pull-request-sha: 8c228be322023041b11691d93dafa1be090f01a0 Change-Id: Ic756472a19563e793cf7e33b24eb1ad5e913dbc0
* | Add caveat re: with_expression and already-loaded objectMike Bayer2020-09-023-1/+52
| | | | | | | | | | | | | | Adds a test for the populate_existing() behavior as well. Fixes: #5553 Change-Id: Ib0db6227c3fec7d0065f2a7caa36b3fd94ef14fd
* | Merge "Improve reflection for mssql temporary tables"mike bayer2020-09-018-12/+154
|\ \
| * | Improve reflection for mssql temporary tablesGord Thompson2020-09-018-12/+154
| | | | | | | | | | | | | | | Fixes: #5506 Change-Id: I718474d76e3c630a1b71e07eaa20cefb104d11de
* | | Merge "Add support for classical mapping of dataclasses"mike bayer2020-09-017-6/+343
|\ \ \
| * | | Add support for classical mapping of dataclassesVáclav Klusák2020-09-017-6/+343
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added support for direct mapping of Python classes that are defined using the Python ``dataclasses`` decorator. See the section :ref:`mapping_dataclasses` for background. Pull request courtesy Václav Klusák. Fixes: #5027 Closes: #5516 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5516 Pull-request-sha: bb48c63d1561ca48c954ad9f84a3eb2646571115 Change-Id: Ie33db2aae4adeeb5d99633fe926b9c30bab0b885
* | | | Merge "MariaDB dialect implementation"mike bayer2020-09-019-1/+281
|\ \ \ \ | |_|/ / |/| | |
| * | | MariaDB dialect implementationGeorg Richter2020-08-319-1/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #5459 Closes: #5515 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5515 Pull-request-sha: 760090b9067304cc65fece12fcf10b522afc4a2a Change-Id: I30e8fbc02b7b5329ca228cd39f6fb7cfd0e43092
* | | | Merge "Provide a more detailed error message for Query.join()"mike bayer2020-09-013-3/+71
|\ \ \ \
| * | | | Provide a more detailed error message for Query.join()RamonWill2020-08-313-3/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An :class:`.ArgumentError` with more detail is now raised if the target parameter for :meth:`_query.Query.join` is set to an unmapped object. Prior to this change a less detailed ``AttributeError`` was raised. Pull request courtesy Ramon Williams. Fixes: #4428 Closes: #5452 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5452 Pull-request-sha: b148df547037e9a254fe331eff8e922c78426261 Change-Id: I873453d1fdb651178216aac698baac63ae5a94e8
* | | | | Fix a mis-reference in create_async_engine().Fantix King2020-08-312-1/+11
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `AsyncMethodRequired` is actually from `sqlalchemy.ext.asyncio.exc`, so here it should be referenced as `async_exc.AsyncMethodRequired`, instead of `exc.AsyncMethodRequired`. Fixes: #5529 Closes: #5545 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5545 Pull-request-sha: d8f885c587dd058f909d4f3bdbec3d0fca176680 Change-Id: I6886558bfd33d3e9e283fbd60c0ec971a1f22c0c
* | | | Some updates for creational patternsMike Bayer2020-08-311-10/+87
| |/ / |/| | | | | | | | | | | | | | | | | I'm finding it useful to use "with Session(engine) as session, session.begin()" so add an example for that. Change-Id: I4403ced51a5e90cfe6b0173813db4cb631957f4c
* | | Merge "Include PostgreSQL in trigger test and correct documentation example"mike bayer2020-08-313-13/+62
|\ \ \
| * | | Include PostgreSQL in trigger test and correct documentation exampleRamonWill2020-08-313-13/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Include PostgreSQL dialect in trigger test and correct DDL example in documentation A user highlighted that the syntax in the DDL trigger example was incorrect for PostgreSQL. The trigger tests where also skipping the PostgreSQL dialect until the syntax was corrected. This PR fixes both of these issues. This pull request is: - [X ] A documentation / typographical error fix - Good to go, no issue or tests are needed - [ ] A short code fix - please include the issue number, and create an issue if none exists, which must include a complete example of the issue. one line code fixes without an issue and demonstration will not be accepted. - Please include: `Fixes: #<issue number>` in the commit message - please include tests. one line code fixes without tests will not be accepted. - [ ] A new feature implementation - please include the issue number, and create an issue if none exists, which must include a complete example of how the feature would look. - Please include: `Fixes: #<issue number>` in the commit message - please include tests. **Have a nice day!** Fixes: #4037 Closes: #5548 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5548 Pull-request-sha: 1db5e47adb90f9d51e247711dcfdbb274fb7bf73 Change-Id: I06edbcab99c82a3ce25581b81f8d2a4a028c07c3
* | | | Fix AsyncEngine connect() bug when pool is exhaustedFantix King2020-08-312-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ### Description Decorating the referenced `await_fallback` with `staticmethod` would stop `AsyncAdaptedQueue.await_` from being treated as a bound method. ### Checklist This pull request is: - [x] A short code fix Fixes #5546 **Have a nice day!** Closes: #5547 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5547 Pull-request-sha: 6f18ee290e7d9fe24ce2a4a4ed8069b46082ca18 Change-Id: Ie335ee650f1dee0d1fce59e448217a48307b3435
* | | | Support extra / single inh criteria with ORM update/deleteMike Bayer2020-08-307-23/+368
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ORM bulk update and delete operations, historically available via the :meth:`_orm.Query.update` and :meth:`_orm.Query.delete` methods as well as via the :class:`_dml.Update` and :class:`_dml.Delete` constructs for :term:`2.0 style` execution, will now automatically accommodate for the additional WHERE criteria needed for a single-table inheritance discrminiator. Joined-table inheritance is still not directly supported. The new :func:`_orm.with_loader_criteria` construct is also supported for all mappings with bulk update/delete. Fixes: #5018 Fixes: #3903 Change-Id: Id90827cc7e2bc713d1255127f908c8e133de9295
* | | | Merge "internal test framework files for standardization of is_not/not_in;"mike bayer2020-08-3028-131/+141
|\ \ \ \ | |/ / / |/| | |
| * | | internal test framework files for standardization of is_not/not_in;jonathan vanasco2020-08-2928-131/+141
| | | | | | | | | | | | | | | | | | | | | | | | this is safe for 1.3.x Change-Id: Icba38fdc20f5d8ac407383a4278ccb346e09af38
* | | | Update connection docs for migrating off of nestingMike Bayer2020-08-295-51/+248
| | | | | | | | | | | | | | | | Change-Id: I3a81140f00a4a9945121bfb8ec4c0e3953b4085f
* | | | See if the future is hereMike Bayer2020-08-289-51/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The docs are going to talk a lot about session.execute(select()) for ORM queries, and additionally it's much easier to help users with queries and such if we can use this new syntax. I'm hoping to see how hard it is to get a unified tutorial started that switches to new syntax. Basically, new syntax is much easier to explain and less buggy. But, if we are starting to present new syntax with the explicit goal of being easier to explain for less experienced programmers, the "future" thing is going to just be an impediment to that. See if we can remove "future" from session.execute(), so that ORM-enabled select() statements return ORM results at that level. This does not change the presence of the "future" flag for the Session's construction and for its transactional behaviors. The only perceptible change of the future flag for session.execute() is that session.execute(select()) where the statement has ORM entities in it now returns ORM new style tuples rather than old style tuples. Like mutating a URL, it's hopefully not very common that people are doing this. Change-Id: I0aa10322bb787d554d32772e3bc60548f1bf6206
* | | | Merge "Emit v2.0 deprecation warning for "implicit autocommit""mike bayer2020-08-2819-112/+525
|\ \ \ \
| * | | | Emit v2.0 deprecation warning for "implicit autocommit"Gord Thompson2020-08-2819-112/+525
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "Implicit autocommit", which is the COMMIT that occurs when a DML or DDL statement is emitted on a connection, is deprecated and won't be part of SQLAlchemy 2.0. A 2.0-style warning is emitted when autocommit takes effect, so that the calling code may be adjusted to use an explicit transaction. As part of this change, DDL methods such as :meth:`_schema.MetaData.create_all` when used against a :class:`_engine.Engine` or :class:`_engine.Connection` will run the operation in a BEGIN block if one is not started already. The MySQL and MariaDB dialects now query from the information_schema.tables system view in order to determine if a particular table exists or not. Previously, the "DESCRIBE" command was used with an exception catch to detect non-existent, which would have the undesirable effect of emitting a ROLLBACK on the connection. There appeared to be legacy encoding issues which prevented the use of "SHOW TABLES", for this, but as MySQL support is now at 5.0.2 or above due to :ticket:`4189`, the information_schema tables are now available in all cases. Fixes: #4846 Change-Id: I733a7e0e17477a63607fb9931c87c393bbd7ac57
* | | | | Merge "ARM64 Support to Github Actions For Testing And Development Of Wheels"Federico Caselli2020-08-283-4/+194
|\ \ \ \ \ | |/ / / / |/| | | |