sqlalchemy-backlog-intelligence / data /relationship_edges.html
cjc0013's picture
Publish SQLAlchemy backlog intelligence Space
6a437f0 verified
Raw
History Blame Contribute Delete
54.5 kB
<style>
:root { color-scheme: light; }
.bi-wrap { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #1f2328 !important; }
.bi-wrap h1, .bi-wrap h2, .bi-wrap h3, .bi-wrap p, .bi-wrap strong, .bi-wrap td, .bi-wrap th, .bi-wrap div { color: #1f2328 !important; }
.bi-band { border: 1px solid #d8dee4; border-radius: 8px; background: #ffffff !important; padding: 16px; margin: 0 0 12px; }
.bi-title { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; margin-bottom: 12px; }
.bi-title h1, .bi-title h2 { margin: 0; line-height: 1.15; letter-spacing: 0; }
.bi-title h1 { font-size: 1.55rem; }
.bi-title h2 { font-size: 1.12rem; }
.bi-title p { margin: 4px 0 0; color: #57606a; max-width: 820px; }
.status-pill { border-radius: 999px; padding: 5px 9px; font-size: .78rem; font-weight: 700; background: #dafbe1; color: #116329 !important; white-space: nowrap; }
.metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)); gap: 8px; }
.metric { border: 1px solid #d0d7de; border-radius: 8px; padding: 10px; background: #f6f8fa !important; min-height: 86px; }
.metric-value { font-size: 1.45rem; font-weight: 800; line-height: 1.1; color: #0969da !important; }
.metric-label { margin-top: 4px; font-size: .84rem; font-weight: 700; }
.metric-note { margin-top: 2px; font-size: .76rem; color: #57606a !important; }
.callout-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
.callout { border-left: 4px solid #0969da; background: #f6f8fa !important; border-radius: 8px; padding: 10px 12px; }
.callout:nth-child(2) { border-left-color: #1a7f37; }
.callout:nth-child(3) { border-left-color: #bf8700; }
.callout:nth-child(4) { border-left-color: #cf222e; }
.callout strong { display: block; margin-bottom: 4px; }
.group-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 10px; }
.group-card { border: 1px solid #d8dee4; border-radius: 8px; padding: 12px; background: #fff !important; }
.group-card h3 { margin: 0 0 7px; font-size: 1rem; line-height: 1.25; letter-spacing: 0; }
.meta-row { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.chip-row { display: inline-flex; flex-wrap: wrap; gap: 5px; align-items: center; vertical-align: middle; }
.chip { display: inline-flex; align-items: center; border: 1px solid #d0d7de; border-radius: 999px; padding: 2px 7px; font-size: .78rem; background: #f6f8fa !important; color: #24292f !important; }
.chip.bucket { border-color: #9a6700; background: #fff8c5 !important; }
.chip.kind { border-color: #0969da; background: #ddf4ff !important; }
.workflow-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.workflow-card { border: 1px solid #d8dee4; border-radius: 8px; padding: 12px; background: #fff !important; }
.workflow-card h3 { margin: 0 0 7px; font-size: 1rem; line-height: 1.25; letter-spacing: 0; }
.workflow-card .move-count { font-weight: 800; color: #0969da !important; }
.move-list { display: grid; gap: 10px; }
.move-row { border: 1px solid #d8dee4; border-radius: 8px; background: #fff !important; }
.move-row summary { list-style: none; cursor: pointer; padding: 12px; }
.move-row summary::-webkit-details-marker { display: none; }
.move-summary { display: grid; grid-template-columns: minmax(190px, 1.1fr) minmax(220px, 1.35fr) minmax(220px, 1.35fr) minmax(120px, .7fr) minmax(100px, .55fr) minmax(220px, 1.25fr) auto; gap: 10px; align-items: start; }
.move-title h3 { margin: 0 0 4px; font-size: 1rem; line-height: 1.25; letter-spacing: 0; }
.move-field span { display: block; color: #57606a !important; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; }
.move-field p { margin: 3px 0 0; font-size: .84rem; line-height: 1.35; }
.view-bundles { align-self: center; justify-self: end; border: 1px solid #000000; border-radius: 999px; color: #000000 !important; background: #ffffff !important; padding: 4px 9px; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.move-row[open] .view-bundles { background: #f6f8fa !important; }
.move-expanded { border-top: 1px solid #d8dee4; padding: 0 12px 12px; }
.bundle-row { border-top: 1px solid #eef1f4; padding: 12px 0; }
.bundle-row:first-child { border-top: none; }
.bundle-row h4 { margin: 0 0 6px; font-size: .94rem; line-height: 1.25; letter-spacing: 0; }
.bundle-scope { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 7px; margin-top: 8px; }
.evidence-list { margin: 8px 0 0 18px; padding: 0; color: #57606a !important; font-size: .82rem; line-height: 1.35; }
.evidence-list li { margin: 3px 0; }
.muted { color: #57606a !important; }
.evidence { font-size: .84rem; color: #57606a !important; }
.scroll-table { overflow-x: auto; border: 1px solid #d8dee4; border-radius: 8px; background: #fff !important; }
table.bi-table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.bi-table th { text-align: left; background: #f6f8fa !important; color: #57606a !important; font-size: .78rem; border-bottom: 1px solid #d8dee4; padding: 8px; white-space: nowrap; }
.bi-table td { border-bottom: 1px solid #eef1f4; padding: 8px; vertical-align: top; min-width: 86px; }
.bi-table tr:last-child td { border-bottom: none; }
.wide { min-width: 280px; }
.tight { max-width: 180px; }
a { color: #0969da !important; text-decoration: none; }
a:hover { text-decoration: underline; }
.bi-wrap, .bi-wrap * { color: #000000 !important; }
@media (max-width: 720px) {
.bi-title { display: block; }
.status-pill { display: inline-block; margin-top: 8px; }
.group-grid { grid-template-columns: 1fr; }
.move-summary { grid-template-columns: 1fr; }
.view-bundles { justify-self: start; }
}
</style>
<div class='bi-wrap'><section class='bi-band'><div class='bi-title'><div><h2>Relationship Edges</h2><p>Why items were connected. Excerpts are short and hashed; raw API payloads stay local.</p></div></div><div class='scroll-table'><table class='bi-table'><thead><tr><th>Kind</th><th>Source</th><th>Target</th><th>Confidence</th><th>Evidence</th><th>Evidence Hash</th></tr></thead><tbody><tr><td>references</td><td>issue #13419</td><td>pr #13398</td><td>medium</td><td><div class='wide'>Fix is to tokenise the inter-keyword whitespace with disjoint classes so a space only ever belongs to a separator and never to a token. PR #13398.</div></td><td>5438506bfae6788939d085b934c6a38ec5025f49ae5697eb445b93df01cfeb88</td></tr><tr><td>references</td><td>issue #13357</td><td>issue #6810</td><td>medium</td><td><div class='wide'>chemy-stubs` and `sqlalchemy2-stubs` are not compatible with v2) ### Verify if the api is typed - [x] The api is not in a module listed in [#6810](https://github.com/sqlalchemy/sqlalchemy/issues/6810) so it should pass type checking ### Describe the typing issue the runtime SQ...</div></td><td>b6af024d295fe4523765892156245d9e94053d262e6a89b5b817c4c80c6554f3</td></tr><tr><td>references</td><td>issue #13227</td><td>issue #12168</td><td>medium</td><td><div class='wide'>dation introduced in commit [95ad9fe](https://github.com/sqlalchemy/sqlalchemy/commit/95ad9fe42b888d7cdea60b7a71c833cbb8667887) (related to #12168) breaks `WriteOnlyMapped` relationships that use `default_factory=list` in Declarative Dataclass Mapping. ### Optional link from h...</div></td><td>416800bfd2ad52b0df2743f058ec1540841d1782647bd5e54b0c83bc655057ea</td></tr><tr><td>references</td><td>issue #13212</td><td>issue #4384</td><td>medium</td><td><div class='wide'>it&#x27;s #4384</div></td><td>608257f83fcd4eb21d244e469a1756dd4afae38a6b9ea9deea208d149aea9439</td></tr><tr><td>competes with</td><td>issue #13210</td><td>issue #13193</td><td>medium</td><td><div class='wide'>namespace.&quot;) &gt; print(&quot; Use ap.meta (base-class direct) instead of ap.Dog.meta.&quot;) &gt; print(&quot;=&quot; * 70) &gt; ``` _Originally posted by @CaselIT in [#13193](https://github.com/sqlalchemy/sqlalchemy/issues/13193#issuecomment-4145377493)_</div></td><td>f126815a8d44ecba56ca77044d109a535870c3c84161fe740f6fefc7e1d40413</td></tr><tr><td>references</td><td>issue #13204</td><td>issue #13193</td><td>medium</td><td><div class='wide'>There are a couple of cases where immediateload fails when using inheritance on relationships: - loading using immediateload a relationship on an inheritance chain that&#x27;s being loaded via eager loading: `select(Meta).option(anyloader(Meta.parent_cls).immediateload(ParentCls.re...</div></td><td>d6af10a01c4ee0b2ddd96c96d6dd926659a632a831f4840c75ab65e66fc64d2e</td></tr><tr><td>references</td><td>issue #13204</td><td>issue #13202</td><td>medium</td><td><div class='wide'>There are a couple of cases where immediateload fails when using inheritance on relationships: - loading using immediateload a relationship on an inheritance chain that&#x27;s being loaded via eager loading: `select(Meta).option(anyloader(Meta.parent_cls).immediateload(ParentCls.re...</div></td><td>d9a355cb09796333911efbbd7d89389df5d8d79dff5a19b2f0e677a81c853616</td></tr><tr><td>references</td><td>issue #13157</td><td>pr #13188</td><td>medium</td><td><div class='wide'>Fix submitted in #13188.</div></td><td>ada55c738bd7c92e605adf592e0af4304c58d91d245fa81b6e2c9bcf41c43c32</td></tr><tr><td>references</td><td>issue #13007</td><td>issue #13006</td><td>medium</td><td><div class='wide'>Follow up of #13006 Set to False the default value and remove the warning</div></td><td>08a3a0f3008e5ad03d320153a4b167d40723e7db07a096ac2f297b805e5dc279</td></tr><tr><td>references</td><td>issue #12398</td><td>issue #10668</td><td>medium</td><td><div class='wide'>### Describe the use case I just received the following error of in my project and have an improvement request similar to #10668 : ``` sqlalchemy.exc.InvalidRequestError: Loader strategies for ORM Path[Mapper[Cable(cable)] -&gt; Cable.cablesides -&gt; Mapper[CadCableSide(ca</div></td><td>07ceea06d0f1bb244249ac24902ba1dd7392e1e6bc595e75652f640133c4aefd</td></tr><tr><td>references</td><td>issue #12101</td><td>issue #5583</td><td>medium</td><td><div class='wide'>### Describe the use case The [Postgres docs](https://www.postgresql.org/docs/17/sql-select.html) specifically say that you should be able to have both a FOR UPDATE and a FOR SHARE in the same query: &gt; Multiple locking clauses can be written if it is necessary to specify diffe...</div></td><td>bf6e8cce81a4e4ad031c254f2be259769d213b550fd5865ff2541cf9300ffea9</td></tr><tr><td>references</td><td>issue #12101</td><td>issue #5583</td><td>medium</td><td><div class='wide'>eems like contains_eager() + join() is more appropriate here. 3. you&#x27;re asking something about the very open ended warnings/error ticket in #5583 , I guess saying that the warning we have about FOR UPDATE doesnt apply to joinedload() if one is using &quot;of&quot;. I&#x27;m not really sure i...</div></td><td>17c075eae174372b9d516a0535f376d64013cfe63319a93676e646945ce4e8d2</td></tr><tr><td>references</td><td>issue #12097</td><td>issue #6515</td><td>medium</td><td><div class='wide'>### Describe the bug I can&#x27;t use an enum type as part of a `case()` without casting. Looks very similar to https://github.com/sqlalchemy/sqlalchemy/issues/6515 ### Optional link from https://docs.sqlalchemy.org which documents the behavior that is expected _No response_ ### SQ...</div></td><td>d6e79d43b2f87411acce577b2cf3ca68a1757872a452446adf58cfc92d854ce0</td></tr><tr><td>references</td><td>issue #11686</td><td>issue #6810</td><td>medium</td><td><div class='wide'>chemy-stubs` and `sqlalchemy2-stubs` are not compatible with v2) ### Verify if the api is typed - [X] The api is not in a module listed in [#6810](https://github.com/sqlalchemy/sqlalchemy/issues/6810) so it should pass type checking ### Describe the typing issue An unexpected...</div></td><td>9cc73297c82d8d32cb900e1a3d8d7f70ccf7e50efab470ce5bbc458ff2ebcccf</td></tr><tr><td>references</td><td>issue #11677</td><td>pr #11678</td><td>medium</td><td><div class='wide'>I openend a PR to fix this issue https://github.com/sqlalchemy/sqlalchemy/pull/11678</div></td><td>9e0b49d5448c315c6fd4d9122fa60aca6f1eca0749a1376d93a29f067cdfa3b6</td></tr><tr><td>references</td><td>issue #11620</td><td>pr #12297</td><td>medium</td><td><div class='wide'>I&#x27;ve posted an alternative strategy that I&#x27;d like to use, detailed on the gerrit and also on the PR at https://github.com/sqlalchemy/sqlalchemy/pull/12297#issuecomment-2733436569</div></td><td>d33380533bafdb0eafe088320cf5a1205e00dd6082ea55c4ed4db7d3487562b8</td></tr><tr><td>references</td><td>issue #10936</td><td>issue #1063</td><td>medium</td><td><div class='wide'>I thought this was related to #1063 but i dont think it is, unfortunately, meaning we have *two* post_update quagmire kinds of issues.</div></td><td>ff2f157a0104101412fa05baf83be57e5c834ee97522d8588382577d696d898b</td></tr><tr><td>references</td><td>issue #10888</td><td>issue #6810</td><td>medium</td><td><div class='wide'>checked it off from this list https://github.com/sqlalchemy/sqlalchemy/issues/6810</div></td><td>3eccacb1573ec32ea9f2b62aa24ea620fa5a223de2497afa639acd5f9210c46e</td></tr><tr><td>references</td><td>issue #10859</td><td>issue #4641</td><td>medium</td><td><div class='wide'>this can come in alongside #4641 this would make a change to `relationship` such that it does not set up `strategy_key` until mapper config stage, where it gets a look at i</div></td><td>4fa3c8f29c672e31a3f31e7da50b97ba1b44a32567b8767fa09bf25914eea3ee</td></tr><tr><td>references</td><td>issue #10675</td><td>issue #8626</td><td>medium</td><td><div class='wide'>ted SQL is valid; migrating the from_select case off the deprecated form (e.g. via the documented derived-table alias) seems to belong with #8626. Perhaps this one can be closed as fixed?</div></td><td>442258191ff3c9cb059d2017041605161b946d2176fc45574c0afd12bb3c0d19</td></tr><tr><td>references</td><td>issue #10544</td><td>pr #10545</td><td>medium</td><td><div class='wide'>try this pr to fix https://github.com/sqlalchemy/sqlalchemy/pull/10545</div></td><td>3e9735aae1d10aeed55e137904c1f9bd9525d9e78dc227534f6432febada58b5</td></tr><tr><td>references</td><td>issue #10527</td><td>issue #6810</td><td>medium</td><td><div class='wide'>chemy-stubs` and `sqlalchemy2-stubs` are not compatible with v2) ### Verify if the api is typed - [X] The api is not in a module listed in [#6810](https://github.com/sqlalchemy/sqlalchemy/issues/6810) so it should pass type checking ### Describe the typing issue Seems that `wi...</div></td><td>ca892f55a8ea3033aaff2fe75b100d85688e7c668c5fd04a3159ca754a8d06f6</td></tr><tr><td>references</td><td>issue #10351</td><td>issue #6810</td><td>medium</td><td><div class='wide'>chemy-stubs` and `sqlalchemy2-stubs` are not compatible with v2) ### Verify if the api is typed - [X] The api is not in a module listed in [#6810](https://github.com/sqlalchemy/sqlalchemy/issues/6810) so it should pass type checking ### Describe the typing issue Return type `c...</div></td><td>febd269ba982be5754112533d6f642aad4040a0d39bc266a4eaedb789fde186f</td></tr><tr><td>references</td><td>issue #10351</td><td>issue #6120</td><td>medium</td><td><div class='wide'>&gt; though column_property() does not accept calalbles or lambdas, so still need to reduce that there was an issue for it in https://github.com/sqlalchemy/sqlalchemy/issues/6120</div></td><td>092642d30898c4a51a388cee4788856af8f73304d2191976f09152e65992762b</td></tr><tr><td>references</td><td>issue #10094</td><td>issue #5811</td><td>medium</td><td><div class='wide'>I&#x27;ve been missing a documentation regarding testing with async, I eventually got it to what I wanted but I don&#x27;t entirely understand how it works. I&#x27;ve read through [this discussion](https://github.com/sqlalchemy/sqlalchemy/issues/5811) and arrived at this slightly shorter ver...</div></td><td>17c764e9c78ef099a9c681fa259465b3d34089012642f5fcdc4aa0e112e4157b</td></tr><tr><td>references</td><td>issue #9839</td><td>issue #9603</td><td>medium</td><td><div class='wide'>### Describe the bug We upgraded our sql alchemy version and observed a massive spike in execution time on the database. We are bulk uploading several 100k rows. We are using sql server on azure and pyodbc. We believe it relates to changes made in https://github.com/sqlalchemy...</div></td><td>7e31b5a59b11bf53917b4a3bd010250dd36a2bc7ed020bcc169c90145e20b042</td></tr><tr><td>references</td><td>issue #9839</td><td>issue #9618</td><td>medium</td><td><div class='wide'>### Describe the bug We upgraded our sql alchemy version and observed a massive spike in execution time on the database. We are bulk uploading several 100k rows. We are using sql server on azure and pyodbc. We believe it relates to changes made in https://github.com/sqlalchemy...</div></td><td>0043375355e3832918f3256ccc3f7ac1ce10f88aad9b3bd511a5c6d0d1cddc57</td></tr><tr><td>references</td><td>issue #9839</td><td>issue #9603</td><td>medium</td><td><div class='wide'>he database. We are bulk uploading several 100k rows. We are using sql server on azure and pyodbc. We believe it relates to changes made in #9603 &lt;https://github.com/sqlalchemy/sqlalchemy/issues/9603&gt; or #9618 &lt;https://github.com/sqlalchemy/sqlalchemy/issues/9618&gt; which were i...</div></td><td>966c7562f852a532fe7460aada50914eb4b1d12d1179c5f6a0bdc52467c759ba</td></tr><tr><td>references</td><td>issue #9839</td><td>issue #9618</td><td>medium</td><td><div class='wide'>ng sql server on azure and pyodbc. We believe it relates to changes made in #9603 &lt;https://github.com/sqlalchemy/sqlalchemy/issues/9603&gt; or #9618 &lt;https://github.com/sqlalchemy/sqlalchemy/issues/9618&gt; which were implemented in 2.0.10. We are no using the ORM, but execute direc...</div></td><td>8d3ad4d82c8c18fb087fda45f75cd2e3b5e480988fd71c2be1dc816ee39639ff</td></tr><tr><td>references</td><td>issue #9839</td><td>issue #9586</td><td>medium</td><td><div class='wide'>faster than plain executemany, but still order of magnitude worse than fast executemany** performance. We can see this using the test from #9586, using the dataset at https://github.com/sqlalchemy/sqlalchemy/files/11130278/test_data.zip and the script below, which I&#x27;ve improve...</div></td><td>630196046d1345f502f6005002a1dc7811442b102d5f4780a49be0abd6a40870</td></tr><tr><td>references</td><td>issue #9839</td><td>issue #9603</td><td>medium</td><td><div class='wide'>0 rows in 0.1 seconds (17273.9 rows/s). SQLA: 2.0.15; imv=False; fast_em=True: Finished in 2.4 seconds. ``` When using 2.0.9 exactly, issue #9603 was released which **universally disabled insertmanyvalues** for SQL Server. Based on everything we know, **this means default perf...</div></td><td>0fdf498e3d52c13988631ff4b24aa75f92e382bd4b8f8ab9899de07cfbde2fdf</td></tr><tr><td>references</td><td>issue #9839</td><td>issue #9603</td><td>medium</td><td><div class='wide'>nsertmanyvalues&quot; completely in version 2.0.9 of SQL Server alone. it was turned on in 2.0.8 as well as 2.0.10. the 2.0.9 shutoff was due to #9603. im not really sure how if cloud DBs have expensive round trips that plain executemany() is better, there must be some driver level...</div></td><td>528fb380c65653a55798c0e7739b755d4df88a583e62926e3107f9ee1fd72fb0</td></tr><tr><td>references</td><td>issue #9690</td><td>issue #8285</td><td>medium</td><td><div class='wide'>for the column slice thing, super huge omission from #8285. needs an extra isinstance</div></td><td>f0b846ecb519431a598505424cbabbe2629bc8c12ed274da4a0feed8bf117e07</td></tr><tr><td>references</td><td>issue #9587</td><td>issue #6810</td><td>medium</td><td><div class='wide'>chemy-stubs` and `sqlalchemy2-stubs` are not compatible with v2) ### Verify if the api is typed - [X] The api is not in a module listed in [#6810](https://github.com/sqlalchemy/sqlalchemy/issues/6810) so it should pass type checking ### Confirm this is not Mypy dataclasses iss...</div></td><td>8f0ab012bcaefbb9dcc8fde82aebd9ec9c8df0924510f8c708fbb24da29daaf5</td></tr><tr><td>references</td><td>issue #9493</td><td>issue #9350</td><td>medium</td><td><div class='wide'>We also seem to make inherit dataclasses attributes, while we probably should not. Not sure if it&#x27;s connected to this other issue #9350 ```py from dataclasses import dataclass import sqlalchemy as sa import sqlalchemy.orm as sao import inspect class Base(sao.MappedAsDataclas</div></td><td>f8076fc7d0dcdc0caf479d2dd1902d754d6d52303e877db2ec988e937c80470e</td></tr><tr><td>references</td><td>issue #9493</td><td>issue #9410</td><td>medium</td><td><div class='wide'>We also seem to make inherit dataclasses attributes, while we probably should not. Not sure if it&#x27;s connected to this other issue #9350 ```py from dataclasses import dataclass import sqlalchemy as sa import sqlalchemy.orm as sao import inspect class Base(sao.MappedAsDataclass,...</div></td><td>7da7fa4bf320ac783e00f5247a2ede72640cfa78056a56b13cd1bb7503731229</td></tr><tr><td>references</td><td>issue #9410</td><td>issue #9563</td><td>medium</td><td><div class='wide'>nit generated. this all comes from dataclasses, but it may be worth reiterate that 4. mention that all the dataclass limitations apply. see #9563 also 5. #9785 , back_populates / recursion issue 6. when using mixins, it is likely a good idea to use kw_only on those fields so t...</div></td><td>9b6db4545aaf428753491c4e682f91aee96491313572cf0eb87e8a93c8aa9846</td></tr><tr><td>references</td><td>issue #9410</td><td>issue #9785</td><td>medium</td><td><div class='wide'>this all comes from dataclasses, but it may be worth reiterate that 4. mention that all the dataclass limitations apply. see #9563 also 5. #9785 , back_populates / recursion issue 6. when using mixins, it is likely a good idea to use kw_only on those fields so that they are no...</div></td><td>5bf4fd8898c49821d0a2a9c08b01149c5a9c38bdb880b5a924ffbae32ea057c0</td></tr><tr><td>references</td><td>issue #9410</td><td>issue #12168</td><td>medium</td><td><div class='wide'>1. relationship = None issue : #9383 , #9856 - issue created: https://github.com/sqlalchemy/sqlalchemy/issues/12168 2. declared_attr on a mixin w/ dataclasses: #9408 3. order matters regarding the default value and init generated. this all comes from dataclasses, but it may be...</div></td><td>ba5a0365721007562e43ce750cb449600932045425b3815e98136ca7b4eb706e</td></tr><tr><td>references</td><td>issue #9410</td><td>issue #9350</td><td>medium</td><td><div class='wide'>We also seem to make inherit dataclasses attributes, while we probably should not. Not sure if it&#x27;s connected to this other issue #9350 ```py from dataclasses import dataclass import sqlalchemy as sa import sqlalchemy.orm as sao import inspect class Base(sao.MappedAsDataclas</div></td><td>a7323bb4ce0f34aed7725f869799a299a1b3771c5a977eab22cdff1010cf0a22</td></tr><tr><td>references</td><td>issue #9410</td><td>issue #9785</td><td>medium</td><td><div class='wide'>Maybe also: - #9785</div></td><td>0f0de7c8e307a01172f3cc983bf57fea8a684f31dbd26dc48265cb7bf49606e9</td></tr><tr><td>references</td><td>issue #9410</td><td>issue #9785</td><td>medium</td><td><div class='wide'>&gt; Maybe also: &gt; &gt; * [Using back_populates with MappedAsDataclass and asdict causing RecursionError #9785](https://github.com/sqlalchemy/sqlalchemy/issues/9785) sure. would be good to find if this has been reported as a dataclasses bug though</div></td><td>e9a7edbb51c0fbb8e7d03b064b9330f51b825c0e6c00d0b07c37b43267da66a3</td></tr><tr><td>references</td><td>issue #9410</td><td>issue #9785</td><td>medium</td><td><div class='wide'>&gt; Maybe also: &gt; &gt; * [Using back_populates with MappedAsDataclass and asdict causing RecursionError #9785](https://github.com/sqlalchemy/sqlalchemy/issues/9785) added to the list in the OP</div></td><td>ac8450cd750d88d9ca2b2d4e7346f082fe9ed5fc80b5375bf1c4c4b0ae258393</td></tr><tr><td>references</td><td>issue #9410</td><td>issue #9927</td><td>medium</td><td><div class='wide'>#9927 I encountered this one. I am trying to use dataclass-only fields for some state things (i.e not mapped). The state variable should always b</div></td><td>a89a9f0c7bf2fa5fd2f9fe35d14f25d8509ac9bd2eb66bbc0989f876c87f61c7</td></tr><tr><td>references</td><td>issue #9410</td><td>issue #9927</td><td>medium</td><td><div class='wide'>&gt; #9927 &gt; &gt; I encountered this one. I am trying to use dataclass-only fields for some state things (i.e not mapped). The state variable should alwa</div></td><td>df46103bd062da4b2463301e827b7759968c3d338d610bea7dd705a2b063e9ea</td></tr><tr><td>references</td><td>issue #9410</td><td>issue #9930</td><td>medium</td><td><div class='wide'>&gt; #9927 &gt; &gt; I encountered this one. I am trying to use dataclass-only fields for some state things (i.e not mapped). The state variable should always be created on object creation using the `default_factory` option. This works when creating the object and persisting, but if yo...</div></td><td>6aa77c0a8b6c929cac5e67b861c4fd336fb5caba5d81075396b493391fac72fc</td></tr><tr><td>references</td><td>issue #9301</td><td>issue #6120</td><td>medium</td><td><div class='wide'>I guess https://github.com/sqlalchemy/sqlalchemy/issues/6120 could help reduce the need of this. In any case it&#x27;s probably best to just document the TYPE_CHECKING version</div></td><td>d289d65b6458f7d56065c6c4619d8fa94a00ae33e4dddd5abc0411fd02d2b1d9</td></tr><tr><td>references</td><td>issue #9301</td><td>issue #6120</td><td>medium</td><td><div class='wide'>OK, column_property() is not mapped_column(), yeah I think let&#x27;s document for now. i dont know what will happen with #6120 , added some notes there.</div></td><td>7e042644bd11e611ba9c18d395a6a3bc760bebc00d3e78bccf165103980a14b4</td></tr><tr><td>references</td><td>issue #9212</td><td>issue #9213</td><td>medium</td><td><div class='wide'>in the narrative docs at https://docs.sqlalchemy.org/en/20/orm/declarative_mixins.html . it just needs the `@classmethod` part discussed at #9213. I think we have actionable items on #9213 but for this one i dont see the action to take, other than maybe some more supplementary...</div></td><td>ae0f421cec53604dd2d04d59cd343e4561bab2d6a1d2d0e7b76ecc0127c1e1e1</td></tr><tr><td>references</td><td>issue #9212</td><td>issue #9213</td><td>medium</td><td><div class='wide'>in the narrative docs at https://docs.sqlalchemy.org/en/20/orm/declarative_mixins.html . it just needs the `@classmethod` part discussed at #9213. Yes, retrying with those changes, I&#x27;ve got it working. It&#x27;s still not clear to me what generic type I should be using for an annot...</div></td><td>6100c6531a0dae5875a8398ff5894b968f4fa0eee7b8c532e833a5147559d650</td></tr><tr><td>references</td><td>issue #9154</td><td>issue #8762</td><td>medium</td><td><div class='wide'>r pypy? at some point we had to take pypy out of the testing pipeline Yes. I have two marked as failing in 1.4.46. One of them is linked to #8762, so might have been fixed already. The other was an exception message mismatch that I probably didn&#x27;t report. Unfortunately, the te...</div></td><td>7d8d9ed321cb0b04e5587d49886261fd766e7e35406eb9ef4f15d323f7525427</td></tr><tr><td>references</td><td>issue #9147</td><td>issue #9832</td><td>medium</td><td><div class='wide'>the event hook here: https://github.com/sqlalchemy/sqlalchemy/blob/689ebc30dcd6b9cedf01d729f748b31826720b5c/lib/sqlalchemy/orm/decl_base.py#L567-L582 that&#x27;s making a global event against Mapper. Declarative should make at most just *one* event hook against Mapper, then use its...</div></td><td>2a0fb580bcb3916223f6c8a5ea029d9fa15d3ce1c00befe4b5122f8e66805010</td></tr><tr><td>references</td><td>issue #9147</td><td>issue #9832</td><td>medium</td><td><div class='wide'>not sure we really need this but in any case depends on #9832</div></td><td>ab3a692c29a9dc2a749adccf5b8588fb317205c32c0216f36f322d0ae22ec6e0</td></tr><tr><td>references</td><td>issue #9082</td><td>issue #8889</td><td>medium</td><td><div class='wide'>&quot;auto&quot; was added in #8889. i see this issue refers to &quot;auto&quot;. nobody anywhere is going to put &quot;eager_defaults=False&quot; so this is a really non-impactful issue</div></td><td>f6bb8a11bdf770f7b0d1d113db5a9e835ec2ab601d7ee0c8b276f3ceed437849</td></tr><tr><td>references</td><td>issue #8992</td><td>issue #8989</td><td>medium</td><td><div class='wide'>discovered during #8989, this is simply not implemented at all and the bind expression is ignored when it&#x27;s an element of a tuple. Also, the impl of a TupleType()</div></td><td>46c36af5913ed4eacd3c91b7bbfe671ecce76e43945986c60a3484702423ff7b</td></tr><tr><td>references</td><td>issue #8431</td><td>issue #4340</td><td>medium</td><td><div class='wide'>in #4340 21fbb5e38f04affb8ac4502428672b3a629c we implemented &quot;omit_join&quot; behavior for the selectinload loader strategy. We currently don&#x27;t have this</div></td><td>be4402f25acc07f124af834cc472d01f0ce93a1dab7e9b2e830cb1cdabac7701</td></tr><tr><td>references</td><td>issue #7718</td><td>issue #4379</td><td>medium</td><td><div class='wide'>scussed in https://github.com/sqlalchemy/sqlalchemy/discussions/7717 this is very trivial and I think we will be able to make use of it for #4379 in any case: ```py from sqlalchemy import Column from sqlalchemy import DateTime from sqlalchemy import MetaData from sqlalchemy im...</div></td><td>2cd630fe6d98a397f5edef48e378cf59644ae84f32b281f302d6d65d94107318</td></tr><tr><td>references</td><td>issue #7475</td><td>issue #8574</td><td>medium</td><td><div class='wide'>isables the key generation. &gt; &gt; I guess support for this could also be something could be added while updating this issue this was fixed in #8574</div></td><td>28f4bc9847f9f7c094b5fb92c6cd8c6d06557baf9d89b1bfa8ade97a731923e4</td></tr><tr><td>references</td><td>issue #7366</td><td>issue #3861</td><td>medium</td><td><div class='wide'>### Describe the bug I&#x27;m getting duplicated index objects in the `MetaData` when using `DeferredReflection`. I think a similar issue might&#x27;ve been fixed in https://github.com/sqlalchemy/sqlalchemy/issues/3861. Similar problem has been reported in https://stackoverflow.com/ques...</div></td><td>2e7d032f1638d66b0e7cdc29f6cb343737dff5fb8f2c4642346db74f964741b3</td></tr><tr><td>references</td><td>issue #7366</td><td>issue #8925</td><td>medium</td><td><div class='wide'>what this issue is about, this issue is about constraints which are a totally different story. the extend_existing not deduping on name is #8925.</div></td><td>78927e68ee67bcd9d85b529707d67f214e0655e0acdeeffb040c0255cc7bf03d</td></tr><tr><td>references</td><td>issue #7223</td><td>issue #7212</td><td>medium</td><td><div class='wide'>Interval is an emulated type, that also subclasses `TypeDecorator`: https://github.com/sqlalchemy/sqlalchemy/blob/7f8bf038b753d3f250e0e974102c16037d1aea5d/lib/sqlalchemy/sql/sqltypes.py#L2026 This is different from the other emulated types, like Boolean and Enum, so for v2 it...</div></td><td>2a739c8ae6f9847b9cc92bcc42c8b20336391c2f99a707dfa83a85e5d17738cd</td></tr><tr><td>references</td><td>issue #7113</td><td>issue #4797</td><td>medium</td><td><div class='wide'>i mean also, &quot;with_hint()&quot; is badly named. &quot;with_table_criteria()&quot; is a better name _Originally posted by @zzzeek in https://github.com/sqlalchemy/sqlalchemy/issues/4797#issuecomment-930432024_ perhaps we can generalize with_hint() into with_table_criteria() and then introduce...</div></td><td>50e63eb4d468685fec040fcaa2af270b82315d792dcc6482f0724f6a049322eb</td></tr><tr><td>references</td><td>issue #7113</td><td>issue #4797</td><td>medium</td><td><div class='wide'>&quot;hints&quot; like indexing hints. other kinds of per-table constructs are placed differently, such as the for_system_time() we are looking at in #4797. So where with_hint() sends these three indicators of intent: * subject table * text that is to be treated like an indexing hint or...</div></td><td>89e934eead9c2694cb06fab9d5a4e9b1bb65448b5a42b79e2d873a19a103639f</td></tr><tr><td>references</td><td>issue #7113</td><td>issue #6040</td><td>medium</td><td><div class='wide'>this is related to #6040 as well and this could supersede it (that is, we wouldnt&#x27; have to do #6040 as written, with_hint would stay the same). i dont necessarily w</div></td><td>56d7ce3c7e84b5ce242d91706255611b6310561f64f25f363a8fbe7b80141570</td></tr><tr><td>references</td><td>issue #7035</td><td>pr #7009</td><td>medium</td><td><div class='wide'>Follow up from the discussion is https://github.com/sqlalchemy/sqlalchemy/pull/7009</div></td><td>b8edf9fc581ea46cec663713f306e2a7bef10a64f63cef291b15e447a94c85b7</td></tr><tr><td>references</td><td>issue #6997</td><td>issue #6550</td><td>medium</td><td><div class='wide'>yeah it&#x27;s #6550 and the line that makes this test case &quot;work&quot; is to reintroduce a clear bug: ```py diff --git a/lib/sqlalchemy/sql/elements.py b/lib/sqlalc</div></td><td>3f8a2010611d5690759e89811881bce5dabdbe359ee47438b15f4dc1d5d54ff4</td></tr><tr><td>references</td><td>issue #6810</td><td>issue #7519</td><td>medium</td><td><div class='wide'>related issues: #7535 #7519 #7562 #7555</div></td><td>a94817bcb124b28ea4a4cb3f9602542f33c5358e01bbee372e0507b6416d0e63</td></tr><tr><td>references</td><td>issue #6810</td><td>issue #7535</td><td>medium</td><td><div class='wide'>related issues: #7535 #7519 #7562 #7555</div></td><td>d4aaebc5c78c4a4b079f6de04e8d2ec772f842bc827838aecc742bfbb7f1f8d4</td></tr><tr><td>references</td><td>issue #6810</td><td>issue #7555</td><td>medium</td><td><div class='wide'>related issues: #7535 #7519 #7562 #7555</div></td><td>86a8c38658bfe444b962d2f4fc6d64ed3732aa4a908bf0648049d1b015d09405</td></tr><tr><td>references</td><td>issue #6810</td><td>issue #7562</td><td>medium</td><td><div class='wide'>related issues: #7535 #7519 #7562 #7555</div></td><td>6745f63f6542c2f5a3f4a02a547444ae9bdc3eb2d982a0b3f8d8cced22af3d0a</td></tr><tr><td>references</td><td>issue #6810</td><td>issue #7774</td><td>medium</td><td><div class='wide'>ensure assocaition proxy collection implement typing.List/Set/Dict, see #7774</div></td><td>f9df48673284f4383ff4a733920118d8d97a587b346e89c872f38fe3ed900bd2</td></tr><tr><td>references</td><td>issue #6810</td><td>pr #12384</td><td>medium</td><td><div class='wide'>I started to work on the `postgresql` dialect, first PR https://github.com/sqlalchemy/sqlalchemy/pull/12384 about the `array` module.</div></td><td>f6ac59568cc3c2c9f51ff0c63f889bdaa2048955b40a374c358e7a5434c2b6d3</td></tr><tr><td>references</td><td>issue #6810</td><td>pr #12707</td><td>medium</td><td><div class='wide'>Hi @CaselIT, When you have a moment, could you please review my [PR for `sqlalchemy.sql.base`](https://github.com/sqlalchemy/sqlalchemy/pull/12707)? Once it&#x27;s acknowledged, I’d like to plan follow-up typing contributions for another untyped module( [`sqlalchemy.sql.crud`](http...</div></td><td>ac0bc5840d337138bb5f3e8e1afc380e5ea1e5f43025253a6c0bdff304180daf</td></tr><tr><td>references</td><td>issue #6810</td><td>pr #12759</td><td>medium</td><td><div class='wide'>Hi @zzzeek, @CaselIT Sorry to interrupt, but I’ve run into a typing-related question while working on the compiler module. I’ve opened a **temporary PR** to explain the issue and provide context: **Temp PR:** https://github.com/sqlalchemy/sqlalchemy/pull/12759 Would appreciate...</div></td><td>20604fad3923d47bc94c818a11be233a515589bba4611ae0d1a92bb812ad0415</td></tr><tr><td>references</td><td>issue #6612</td><td>issue #5256</td><td>medium</td><td><div class='wide'>Hi, I remembered asking a similar question. Here it is: https://github.com/sqlalchemy/sqlalchemy/issues/5256 tldr: you can use `.self_group()`</div></td><td>4f25441a9414f48a6ae7ca3c7cc1804700050c6f2c03aa5e4efbd23ccd552cb5</td></tr><tr><td>references</td><td>issue #6612</td><td>issue #3566</td><td>medium</td><td><div class='wide'>nks, I did not find the existing issue via search, but maybe my search terms were inadequate. Since your issue was closed to be tracked in, #3566, which in turn is marked resolved, should we keep one open as use case? Other than that, feel free to close.</div></td><td>bb574eebf4accfee90b97bac6bb48ffb38baa12807e20f718e164c6345d76a1a</td></tr><tr><td>references</td><td>issue #6612</td><td>issue #3566</td><td>medium</td><td><div class='wide'>s, I did not find the existing issue via search, but maybe my search terms were inadequate. &gt; Since your issue was closed to be tracked in, #3566, which in turn is marked resolved, should we keep one open as use case? Other than that, feel free to close. Don&#x27;t worry, searching...</div></td><td>98cea930c0dfe68467daf5ad430f7875f62fc2e83b94b62c2d2fa91c7b0cdd3f</td></tr><tr><td>references</td><td>issue #6612</td><td>issue #3566</td><td>medium</td><td><div class='wide'>in #3566 it wasn&#x27;t that clear to me what was going on but in this case I&#x27;d want to see if row valued types can signal to the compiler and/or express</div></td><td>200739e1b639c2e2377c8975f2819b84d36089fe843b5a9bbbd95b792c2cad6c</td></tr><tr><td>references</td><td>issue #6612</td><td>issue #5256</td><td>medium</td><td><div class='wide'>this is an example: https://github.com/sqlalchemy/sqlalchemy/issues/5256#issue-600623503 ```sql select * from some_table where some_table is not null ``` vs ```sql select * from some_table where not (some_table is null) ``` the return values is different if a row has all null...</div></td><td>aba04a72b7065614496b4568f6e340647dd8eb931de59224bc70545e4d7db692</td></tr><tr><td>references</td><td>issue #6511</td><td>pr #12510</td><td>medium</td><td><div class='wide'>In https://github.com/sqlalchemy/sqlalchemy/pull/12510, I am proposing to an implementation for PostgreSQL. On SQLite, AFAICT, this does not seem possible as the `table_info` or `table_xinfo` pragmas apparently do not return the collation information. (On other backends, I don...</div></td><td>7612279ea163b2a36aa13bc4d5aedb5dbcdb37a7858195b36a2f873188688fc1</td></tr><tr><td>references</td><td>issue #6489</td><td>issue #3357</td><td>medium</td><td><div class='wide'>as discussed at #3357, an additional execution option `dbapi_autocommit=True` that sets autocommit independently of setting an explicit isolation level would be</div></td><td>8ff3c555b9f2423a7d9baa5842fc200942813615af74e0c9cbc5377c84d03cc3</td></tr><tr><td>references</td><td>issue #6120</td><td>issue #3050</td><td>medium</td><td><div class='wide'>I originally wanted to do this in #3050, which got marked as a dupe of #3150, which allowed column_property to work with declared_attr, however, never added the lambda part of it.</div></td><td>d6043b3c5e5eb760d2d1e5e5dda8c0f1e069480dcce8d9be6c35e88ae11d9bc8</td></tr><tr><td>references</td><td>issue #6120</td><td>issue #3150</td><td>medium</td><td><div class='wide'>I originally wanted to do this in #3050, which got marked as a dupe of #3150, which allowed column_property to work with declared_attr, however, never added the lambda part of it. there was some reason that using lam</div></td><td>4ef91175f586af8fc0706eb90b25acc883b7b3a6c4c0732fe8319acf5aad08e7</td></tr><tr><td>references</td><td>issue #5583</td><td>issue #5578</td><td>medium</td><td><div class='wide'>From Mike: this is not a v2 thing, this is all a right now thing. 1. all backends should be raising an error when a user behavioral intent that cannot be fulfilled is received by a dialect, so first off, the for_update_clause() in compiler.py should be looking at all of these...</div></td><td>43b337203449b6ffcbeeebd4140b0bc78a9429f3b5a59e9619566b4600bba140</td></tr><tr><td>references</td><td>issue #5352</td><td>issue #4250</td><td>medium</td><td><div class='wide'>` operator is supported in SQLAlchemy. So the statement `SELECT ~a.flag AS anon_1 FROM a` works and gives correct results. I&#x27;ve come across #4250 which seems related. ```py from sqlalchemy import * from sqlalchemy.orm import * from sqlalchemy.ext.declarative import declarative...</div></td><td>e52020d3fd0708eec18c9105a092d01b85cc7a4c85337b5ebff365ad86f645db</td></tr><tr><td>references</td><td>issue #5352</td><td>issue #4250</td><td>medium</td><td><div class='wide'>hi there - how interesting that the exact test case from #4250 is still failing though I would assume in a different way from what was fixed there. this limitation has more to do with SQL Server not bei</div></td><td>d0e0973f42a5107dc8c1bd251d3913dab08f08188b55087c50723927b116baaa</td></tr><tr><td>references</td><td>issue #5350</td><td>issue #3989</td><td>medium</td><td><div class='wide'>I&#x27;ve read https://github.com/sqlalchemy/sqlalchemy/issues/3989 but this seems unrelated. When defining a `ForeignKey` on a SQLAlchemy model, if the referenced column is given as a string (`{table_name}.{column_name}`) and the `Base.metadata` has been setup with a naming conven...</div></td><td>5972bb2c571f399892edd00a843c01f3f22162699af8e979c1f0899e29f2f791</td></tr><tr><td>references</td><td>issue #5350</td><td>issue #7706</td><td>medium</td><td><div class='wide'>the `ForeignKeyConstraint` separately via `__table_args__` works like a charm. I&#x27;d note that, when I saw this, I though that it could solve #7706. But, I still get `NoReferencedTableError`, so I assume there is in fact no way to use `referred_column`, unless you construct all...</div></td><td>52d7a18a4228166359944e7023eed67c299308d5d51a325e6bcb901fb83aec8d</td></tr><tr><td>references</td><td>issue #5123</td><td>issue #3692</td><td>medium</td><td><div class='wide'>I have a `Session` model with a `hash` column of the `Binary` type, and a `User` model with a relationship of `sessions`. If I get attributes through `inspect(user).attrs`, calling `attr.load_history()` on the `sessions` attribute will cause this [string argument without an en...</div></td><td>47cd105d237e37c61dd3ffa204d22a8f68fa72f6f11762693b11b689346dee08</td></tr><tr><td>references</td><td>issue #5005</td><td>issue #5068</td><td>medium</td><td><div class='wide'>suspect #5068 is seeing the same thing, although in that issue the warning call is being emitted incorrectly as this warning has failed to be part of tes</div></td><td>2a2e20c4f9f7580148f1cb76e4c0a376eedf9fb27f03d07d6b380a3a676dfc9d</td></tr><tr><td>references</td><td>issue #4790</td><td>issue #4784</td><td>medium</td><td><div class='wide'>There are a handful of messages that could be improved. 1. `sqlalchemy.exc.InvalidRequestError: Naming convention including %(constraint_name)s token requires that constraint is explicitly named.` This doesn&#x27;t give much of a context. Suggestion for improvement: Extend message...</div></td><td>b9ac29948f155235dbd3ff38cdc1712dbae235a24e0d2cd7c0e70ea745e57177</td></tr><tr><td>references</td><td>issue #4790</td><td>issue #4784</td><td>medium</td><td><div class='wide'>ok, here we go again... &gt; for 2, when does it raise that error? This was an edge-case you discovered in this comment- https://github.com/sqlalchemy/sqlalchemy/issues/4784#issuecomment-516582228 &gt; I don&#x27;t understand the extra context you are adding in 1. wouldn&#x27;t they want to k...</div></td><td>80cc2c0f3542e192c1c89a8f6faf604ce69e95399ef910f26e254e54d480c48b</td></tr><tr><td>closes</td><td>issue #4790</td><td>issue #4784</td><td>high</td><td><div class='wide'>**jonathan vanasco** has proposed a fix for this issue in the **master** branch: **Fixes #4784 regarding constraints:** https://gerrit.sqlalchemy.org/c/sqlalchemy/sqlalchemy/+/2224</div></td><td>a3a655fd2257ef94dd89fad84f4ea7da479ff9bd0fa823f2bb9d8b2e14205148</td></tr><tr><td>references</td><td>issue #4784</td><td>issue #5151</td><td>medium</td><td><div class='wide'>Note: perhaps use the enum listener example in #5151</div></td><td>4755062d1415cf09bb4263b99b28d7ab58c9a0be01916ef7c506960fbe3ba1a4</td></tr><tr><td>references</td><td>issue #4652</td><td>issue #3155</td><td>medium</td><td><div class='wide'>for [Column](https://docs.sqlalchemy.org/en/13/core/metadata.html#sqlalchemy.schema.Column.params.server_default) and a couple issues here (#3155,#3444), it&#x27;s still unclear how to &quot;correctly&quot; include an explicit &quot;ON UPDATE&quot; clause. The only solution I have come to so far was s...</div></td><td>7091d0690f411f24f8b11e545157d276113f15ec5899800865ca62804a5f736f</td></tr><tr><td>references</td><td>issue #4652</td><td>issue #3444</td><td>medium</td><td><div class='wide'>olumn](https://docs.sqlalchemy.org/en/13/core/metadata.html#sqlalchemy.schema.Column.params.server_default) and a couple issues here (#3155,#3444), it&#x27;s still unclear how to &quot;correctly&quot; include an explicit &quot;ON UPDATE&quot; clause. The only solution I have come to so far was specifi...</div></td><td>b2fae7f6d189d6d3ac05440064fbc7b073e638a9420417585a3b72fa6ece71db</td></tr><tr><td>references</td><td>issue #4652</td><td>issue #3155</td><td>medium</td><td><div class='wide'>for [Column](https://docs.sqlalchemy.org/en/13/core/metadata.html#sqlalchemy.schema.Column.params.server_default) and a couple issues here (#3155,#3444), it&#x27;s still unclear how to &quot;correctly&quot; include an explicit &quot;ON UPDATE&quot; clause. &gt; &gt; The only solution I have come to so far w...</div></td><td>2c508532add8eb8a6b9cb8419b946c56a1574b51cd1626ed76e6f8f586d4f43e</td></tr><tr><td>references</td><td>issue #4652</td><td>issue #3444</td><td>medium</td><td><div class='wide'>olumn](https://docs.sqlalchemy.org/en/13/core/metadata.html#sqlalchemy.schema.Column.params.server_default) and a couple issues here (#3155,#3444), it&#x27;s still unclear how to &quot;correctly&quot; include an explicit &quot;ON UPDATE&quot; clause. &gt; &gt; The only solution I have come to so far was spe...</div></td><td>f563149d0f6cbe61e526f83bcbbaca7ab4a92bab767e75b39283f5f169345a5b</td></tr><tr><td>references</td><td>issue #4641</td><td>issue #4640</td><td>medium</td><td><div class='wide'>with #4640 we are going to start adding mapper flags that folks will want to be able to apply across the board. so to make this easier without the nee</div></td><td>f4a03b391bcfc9c72613f3f90008d3099b0c5c43d6308a90b7dcdbce1c6dbd3b</td></tr><tr><td>references</td><td>issue #4567</td><td>issue #4360</td><td>medium</td><td><div class='wide'>to be ignored on the table slippy_tiles but nothing seems to take when creating the schema from ORM, even though it is supposedly fixed in #4360 I&#x27;ve tried renaming the kwarg in the column definitions to sqlite_on_conflict_primary_key, sqlite_on_conflict, on_conflict, editing...</div></td><td>c9f080d74242225e224317e71bbae1dff8e8de902467705e1acec704a5d69495</td></tr><tr><td>references</td><td>issue #4289</td><td>issue #3989</td><td>medium</td><td><div class='wide'>**Michael Bayer ([@zzzeek](https://github.com/zzzeek)) wrote:** note in #3989 we don&#x27;t truncate naming conventions for things other than indexes.</div></td><td>2a2ff5f4f2087393917aca91e4535d41da63cec84bb0ac58c350cdad1f4d259f</td></tr><tr><td>references</td><td>issue #1063</td><td>issue #3990</td><td>medium</td><td><div class='wide'>**Michael Bayer ([@zzzeek](https://github.com/zzzeek)) wrote:** Issue #3990 was marked as a duplicate of this issue.</div></td><td>5c17de2e384aa534011ab01aab6e73b9be174822a285c21303f68440e83d287b</td></tr><tr><td>references</td><td>issue #1063</td><td>issue #3496</td><td>medium</td><td><div class='wide'>**Michael Bayer ([@zzzeek](https://github.com/zzzeek)) wrote:** as tihs would also fix #3496 I&#x27;m motivated to work on this, but I&#x27;m struggling. https://gerrit.sqlalchemy.org/427</div></td><td>1f896a059c727a29e8fb06cc21f10cc6d37f3bd0ce9a926417b8152a8c1208a0</td></tr><tr><td>references</td><td>issue #12730</td><td>issue #6810</td><td>medium</td><td><div class='wide'>chemy-stubs` and `sqlalchemy2-stubs` are not compatible with v2) ### Verify if the api is typed - [x] The api is not in a module listed in [#6810](https://github.com/sqlalchemy/sqlalchemy/issues/6810) so it should pass type checking ### Describe the typing issue When passing m...</div></td><td>3842d0eec177fae874259fa4e9ea3e33a879e328b11d034e013224deadda18ad</td></tr><tr><td>references</td><td>issue #9618</td><td>issue #9603</td><td>medium</td><td><div class='wide'>ne in https://gerrit.sqlalchemy.org/c/sqlalchemy/sqlalchemy/+/4548. Among other things this will be a real solution to the problem faced at #9603 and will also be a hedge against any other database where we can&#x27;t guarantee INSERT ordering. for use_insertmanyvalues, it then bec...</div></td><td>275bc98ada6d49989345e61ebf9f2d01d61290bb1a826bbaaad6ec6f9492c7ec</td></tr><tr><td>references</td><td>issue #9618</td><td>issue #9603</td><td>medium</td><td><div class='wide'>ning(table)&quot;, something like that 4. limit the use of insertmanyvalues **just in the unit of work**. after all that was the issue we had in #9603</div></td><td>09c040e81bdeaca0358effa59681e4df6040d3c0b8da7be8a8736504a8ccbb45</td></tr><tr><td>references</td><td>issue #9618</td><td>issue #9603</td><td>medium</td><td><div class='wide'>y, meaning if that order is off, any situation where those objects have further collections on them we&#x27;d be seeing the issue like we see in #9603. That&#x27;s tens of millions of downloads per month where we would assume applications have tolerated concurrent VACUUMs and things lik...</div></td><td>b283236773c64ef1bd5167c56f142f85e7a8327de35e52c6b99be54049ade30d</td></tr><tr><td>references</td><td>issue #9603</td><td>issue #9618</td><td>medium</td><td><div class='wide'>doing a lot of thinking over at #9618. I think we can definitely restore MS-SQLs &quot;insertmanyvalues&quot; feature as long as we dont use it in the unit of work to match up primary key</div></td><td>8f2b5ac1afb6546a0cb8a56a1face423d713f2570269c2c95a9e327b810240ba</td></tr><tr><td>references</td><td>issue #9563</td><td>issue #9410</td><td>medium</td><td><div class='wide'>s or similar dataclass limitations gets reported, so maybe people are not that familiar with them? In any case i&#x27;ve mentioned this issue in #9410 regarding re-raise we can decide later, since it&#x27;s easy to add, not that easy to remove</div></td><td>a87dfd77e9c7ebeb1cbccc83ff4fdbf9ea394e9b70f9e682effbc302a3ff2f44</td></tr><tr><td>references</td><td>issue #7774</td><td>issue #6810</td><td>medium</td><td><div class='wide'>otation to an association proxy in all cases. whether or not associationproxy accommodates `Mapped[]` right now will be resolved as part of #6810, you can use a cast() in the interim: ```py from sqlalchemy.orm import Mapped class Parent(Base): __tablename__ = &quot;parent&quot; id = Col...</div></td><td>d91ccb3c45294a659d2db985ac618146ffca9ff9b3821c260d12aa0dcc093cf5</td></tr><tr><td>references</td><td>issue #7774</td><td>issue #6810</td><td>medium</td><td><div class='wide'>erialization. Here you&#x27;re looking for AssocaitionList/set/dict to implement the appropriate typing collection. This will be done as part of #6810 in 2.0.</div></td><td>31dd4ed3777db58146ebd086102cdbfaae9967c91b5624762c575ca5a1c24133</td></tr><tr><td>references</td><td>issue #7774</td><td>issue #6810</td><td>medium</td><td><div class='wide'>Hey, i&#x27;m not if this is the correct ticket to place this, so please tell me if not. According to https://github.com/sqlalchemy/sqlalchemy/issues/6810, the association_proxy (so probably also the AssociationList) is already fully typed. But in this case, shouldn&#x27;t `tags` be suc...</div></td><td>09fe6be2119eee9006741ec26ab30e864b1409e458d87a33a575401cb4a0af93</td></tr><tr><td>references</td><td>issue #7706</td><td>issue #5350</td><td>medium</td><td><div class='wide'>Ah sorry, I guess this may be a duplicate of #5350</div></td><td>82c1a816e027b666cc3b204fc6caf30893bf626d36bce2e7b80651255ace6baa</td></tr><tr><td>references</td><td>issue #7659</td><td>pr #8136</td><td>medium</td><td><div class='wide'>Alright, started a draft PR here for discussion https://github.com/sqlalchemy/sqlalchemy/pull/8136</div></td><td>21d30cde20323ca02f40a17cb515a18a41b017ee4a6bab4b1910329b697deeb3</td></tr><tr><td>references</td><td>issue #5578</td><td>issue #5583</td><td>medium</td><td><div class='wide'>Thanks for the great explanation mike. I&#x27;ve taken the liberty of creating a new issue to track this. See https://github.com/sqlalchemy/sqlalchemy/issues/5583</div></td><td>ef8f51719f405bfe5f711673830d9ee64ddf66ae430560b98189c25592d325ea</td></tr><tr><td>references</td><td>issue #5256</td><td>issue #3566</td><td>medium</td><td><div class='wide'>-comparison.html after the tip note. just FYI there&#x27;s a ton of PG stuff that we don&#x27;t have built in right now that are along this line, see #3566 . if you want to work on this stuff it&#x27;s definitely leveling up but 1.4 should be getting very good at this stuff by now :) &gt; &gt; Als...</div></td><td>97660fc0b5c1e24698abdcd0de4b9acbf303260b77d379aa7908a023d6636e70</td></tr><tr><td>references</td><td>issue #5256</td><td>issue #3566</td><td>medium</td><td><div class='wide'>I want to ultiamtely do everything here and in #3566. this comes up all the time. it&#x27;s just if it is done quickly without consdiering PG&#x27;s syntactical concepts in total, we can paint ourselves</div></td><td>ae21bcd22215bc615a552e5650f90f51159ea476e1726896d7873c6fb008874d</td></tr><tr><td>references</td><td>issue #5256</td><td>issue #3566</td><td>medium</td><td><div class='wide'>Added a comment in #3566. This can be closed, so we can track all the missing pg behaviors from a single place</div></td><td>3dd4c09ac674e5ebeb1966793bea320cea8059b0304dbcc81afb95cba8c6218b</td></tr><tr><td>references</td><td>issue #5068</td><td>issue #5005</td><td>medium</td><td><div class='wide'>hen UPDATE if &quot;supports_sane_rowcount&quot; is set to **True** Hi can you define &quot;failed&quot; please? Are you getting the same error as described in #5005 ? &gt; In fact, it is common to disable &quot;supports_sane_rowcount&quot; as a workaround for `pyodbc` and `Microsoft ODBC Driver` does not sup...</div></td><td>783bd19817db559cf44997e51a84a79c0418f8134675a253c04f3c4ef4d24b1f</td></tr><tr><td>references</td><td>issue #4797</td><td>issue #6040</td><td>medium</td><td><div class='wide'>ere, which would be pretty weird. The &quot;hint text&quot; should be possible that it is a compiled object, not just a string and that is missing os #6040 is added.</div></td><td>594f606bb1fa02fc0420bbd62bf368ea2661ec500b0b08968d61b562db5f4cae</td></tr></tbody></table></div></section></div>