Offset 1, 5 lines modified | Offset 1, 5 lines modified | ||
1 | · | 1 | ·d946d1ceb5fa061be74f2b109714fbb5·3956232·doc·optional·python-sqlalchemy-doc_2.0.32+ds1-1_all.deb |
2 | ·e28bf22ee46612c2b78a4b070ce23e4d·886724·debug·optional·python3-sqlalchemy-ext-dbgsym_2.0.32+ds1-1_arm64.deb | 2 | ·e28bf22ee46612c2b78a4b070ce23e4d·886724·debug·optional·python3-sqlalchemy-ext-dbgsym_2.0.32+ds1-1_arm64.deb |
3 | ·597ecc0a6120f50638232e16a30320b6·123580·python·optional·python3-sqlalchemy-ext_2.0.32+ds1-1_arm64.deb | 3 | ·597ecc0a6120f50638232e16a30320b6·123580·python·optional·python3-sqlalchemy-ext_2.0.32+ds1-1_arm64.deb |
4 | ·0955e7f12a0b73c1ab8406c88fbab7d2·1196068·python·optional·python3-sqlalchemy_2.0.32+ds1-1_all.deb | 4 | ·0955e7f12a0b73c1ab8406c88fbab7d2·1196068·python·optional·python3-sqlalchemy_2.0.32+ds1-1_all.deb |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2024-08-23·07:52:58.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2024-08-23·07:52:58.000000·debian-binary |
2 | -rw-r--r--···0········0········0····13904·2024-08-23·07:52:58.000000·control.tar.xz | 2 | -rw-r--r--···0········0········0····13904·2024-08-23·07:52:58.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0··39421 | 3 | -rw-r--r--···0········0········0··3942136·2024-08-23·07:52:58.000000·data.tar.xz |
Offset 9239, 22 lines modified | Offset 9239, 15 lines modified | ||
9239 | <div·class="admonition·seealso"> | 9239 | <div·class="admonition·seealso"> |
9240 | <p·class="admonition-title">See·also</p> | 9240 | <p·class="admonition-title">See·also</p> |
9241 | <p><a·class="reference·internal"·href="migration_14.html#change-4710-core"><span·class="std·std-ref">RowProxy·is·no·longer·a·“proxy”;·is·now·called·Row·and·behaves·like·an·enhanced·named·tuple</span></a></p> | 9241 | <p><a·class="reference·internal"·href="migration_14.html#change-4710-core"><span·class="std·std-ref">RowProxy·is·no·longer·a·“proxy”;·is·now·called·Row·and·behaves·like·an·enhanced·named·tuple</span></a></p> |
9242 | </div> | 9242 | </div> |
9243 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/4710">#4710</a></p> | 9243 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/4710">#4710</a></p> |
9244 | </p> | 9244 | </p> |
9245 | </li> | 9245 | </li> |
9246 | <li><p·class="caption"·id="change-1.4.0b1-54"><span·class="target"·id="change-6bc91a2bef8d8afd244e6dbd38439c4d"><strong>[engine]·[performance]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-6bc91a2bef8d8afd244e6dbd38439c4d">¶</a></span><p>The·pool·“pre-ping”·feature·has·been·refined·to·not·invoke·for·a·DBAPI | ||
9247 | connection·that·was·just·opened·in·the·same·checkout·operation.··pre·ping | ||
9248 | only·applies·to·a·DBAPI·connection·that’s·been·checked·into·the·pool | ||
9249 | and·is·being·checked·out·again.</p> | ||
9250 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/4524">#4524</a></p> | ||
9251 | </p> | ||
9252 | </li> | ||
9253 | <li><p·class="caption"·id="change-1.4.0b1-5 | 9246 | <li><p·class="caption"·id="change-1.4.0b1-54"><span·class="target"·id="change-d3650b27f4c852ac687ea55326051ed0"><strong>[engine]·[change]·[performance]·[py3k]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-d3650b27f4c852ac687ea55326051ed0">¶</a></span><p>Disabled·the·“unicode·returns”·check·that·runs·on·dialect·startup·when |
9254 | running·under·Python·3,·which·for·many·years·has·occurred·in·order·to·test | 9247 | running·under·Python·3,·which·for·many·years·has·occurred·in·order·to·test |
9255 | the·current·DBAPI’s·behavior·for·whether·or·not·it·returns·Python·Unicode | 9248 | the·current·DBAPI’s·behavior·for·whether·or·not·it·returns·Python·Unicode |
9256 | or·Py2K·strings·for·the·VARCHAR·and·NVARCHAR·datatypes.··The·check·still | 9249 | or·Py2K·strings·for·the·VARCHAR·and·NVARCHAR·datatypes.··The·check·still |
9257 | occurs·by·default·under·Python·2,·however·the·mechanism·to·test·the | 9250 | occurs·by·default·under·Python·2,·however·the·mechanism·to·test·the |
9258 | behavior·will·be·removed·in·SQLAlchemy·2.0·when·Python·2·support·is·also | 9251 | behavior·will·be·removed·in·SQLAlchemy·2.0·when·Python·2·support·is·also |
9259 | removed.</p> | 9252 | removed.</p> |
9260 | <p>This·logic·was·very·effective·when·it·was·needed,·however·now·that·Python·3 | 9253 | <p>This·logic·was·very·effective·when·it·was·needed,·however·now·that·Python·3 |
Offset 9265, 14 lines modified | Offset 9258, 21 lines modified | ||
9265 | dialect·flags·by·setting·the·dialect·level·flag·<code·class="docutils·literal·notranslate"><span·class="pre">returns_unicode_strings</span></code> | 9258 | dialect·flags·by·setting·the·dialect·level·flag·<code·class="docutils·literal·notranslate"><span·class="pre">returns_unicode_strings</span></code> |
9266 | to·one·of·<code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">String.RETURNS_CONDITIONAL</span></code>·or | 9259 | to·one·of·<code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">String.RETURNS_CONDITIONAL</span></code>·or |
9267 | <code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">String.RETURNS_BYTES</span></code>,·both·of·which·will·enable·Unicode·conversion | 9260 | <code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">String.RETURNS_BYTES</span></code>,·both·of·which·will·enable·Unicode·conversion |
9268 | even·under·Python·3.</p> | 9261 | even·under·Python·3.</p> |
9269 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/5315">#5315</a></p> | 9262 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/5315">#5315</a></p> |
9270 | </p> | 9263 | </p> |
9271 | </li> | 9264 | </li> |
9265 | <li><p·class="caption"·id="change-1.4.0b1-55"><span·class="target"·id="change-6bc91a2bef8d8afd244e6dbd38439c4d"><strong>[engine]·[performance]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-6bc91a2bef8d8afd244e6dbd38439c4d">¶</a></span><p>The·pool·“pre-ping”·feature·has·been·refined·to·not·invoke·for·a·DBAPI | ||
9266 | connection·that·was·just·opened·in·the·same·checkout·operation.··pre·ping | ||
9267 | only·applies·to·a·DBAPI·connection·that’s·been·checked·into·the·pool | ||
9268 | and·is·being·checked·out·again.</p> | ||
9269 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/4524">#4524</a></p> | ||
9270 | </p> | ||
9271 | </li> | ||
9272 | <li><p·class="caption"·id="change-1.4.0b1-56"><span·class="target"·id="change-f8a130923cff752e26f7be9cf1ea18eb"><strong>[engine]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-f8a130923cff752e26f7be9cf1ea18eb">¶</a></span><p>Revised·the·<a·class="reference·internal"·href="../core/connections.html#sqlalchemy.engine.Connection.execution_options.params.schema_translate_map"·title="sqlalchemy.engine.Connection.execution_options"><code·class="xref·py·py-paramref·docutils·literal·notranslate"><span·class="pre">Connection.execution_options.schema_translate_map</span></code></a> | 9272 | <li><p·class="caption"·id="change-1.4.0b1-56"><span·class="target"·id="change-f8a130923cff752e26f7be9cf1ea18eb"><strong>[engine]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-f8a130923cff752e26f7be9cf1ea18eb">¶</a></span><p>Revised·the·<a·class="reference·internal"·href="../core/connections.html#sqlalchemy.engine.Connection.execution_options.params.schema_translate_map"·title="sqlalchemy.engine.Connection.execution_options"><code·class="xref·py·py-paramref·docutils·literal·notranslate"><span·class="pre">Connection.execution_options.schema_translate_map</span></code></a> |
9273 | feature·such·that·the·processing·of·the·SQL·statement·to·receive·a·specific | 9273 | feature·such·that·the·processing·of·the·SQL·statement·to·receive·a·specific |
9274 | schema·name·occurs·within·the·execution·phase·of·the·statement,·rather·than | 9274 | schema·name·occurs·within·the·execution·phase·of·the·statement,·rather·than |
9275 | at·the·compile·phase.···This·is·to·support·the·statement·being·efficiently | 9275 | at·the·compile·phase.···This·is·to·support·the·statement·being·efficiently |
9276 | cached.···Previously,·the·current·schema·being·rendered·into·the·statement | 9276 | cached.···Previously,·the·current·schema·being·rendered·into·the·statement |
9277 | for·a·particular·run·would·be·considered·as·part·of·the·cache·key·itself, | 9277 | for·a·particular·run·would·be·considered·as·part·of·the·cache·key·itself, |
9278 | meaning·that·for·a·run·against·hundreds·of·schemas,·there·would·be·hundreds | 9278 | meaning·that·for·a·run·against·hundreds·of·schemas,·there·would·be·hundreds |
Offset 6355, 21 lines modified | Offset 6355, 15 lines modified | ||
6355 | returned·by·the·ResultProxy·is·now·the·LegacyRow·subclass,·which·maintains | 6355 | returned·by·the·ResultProxy·is·now·the·LegacyRow·subclass,·which·maintains |
6356 | mapping/tuple·hybrid·behavior,·however·the·base·_\x8R_\x8o_\x8w·class·now·behaves·more | 6356 | mapping/tuple·hybrid·behavior,·however·the·base·_\x8R_\x8o_\x8w·class·now·behaves·more |
6357 | fully·like·a·named·tuple. | 6357 | fully·like·a·named·tuple. |
6358 | See·also | 6358 | See·also |
6359 | _\x8R_\x8o_\x8w_\x8P_\x8r_\x8o_\x8x_\x8y_\x8·_\x8i_\x8s_\x8·_\x8n_\x8o_\x8·_\x8l_\x8o_\x8n_\x8g_\x8e_\x8r_\x8·_\x8a_\x8·_\x8“_\x8p_\x8r_\x8o_\x8x_\x8y_\x8”_\x8;_\x8·_\x8i_\x8s_\x8·_\x8n_\x8o_\x8w_\x8·_\x8c_\x8a_\x8l_\x8l_\x8e_\x8d_\x8·_\x8R_\x8o_\x8w_\x8·_\x8a_\x8n_\x8d_\x8·_\x8b_\x8e_\x8h_\x8a_\x8v_\x8e_\x8s_\x8·_\x8l_\x8i_\x8k_\x8e_\x8·_\x8a_\x8n_\x8·_\x8e_\x8n_\x8h_\x8a_\x8n_\x8c_\x8e_\x8d | 6359 | _\x8R_\x8o_\x8w_\x8P_\x8r_\x8o_\x8x_\x8y_\x8·_\x8i_\x8s_\x8·_\x8n_\x8o_\x8·_\x8l_\x8o_\x8n_\x8g_\x8e_\x8r_\x8·_\x8a_\x8·_\x8“_\x8p_\x8r_\x8o_\x8x_\x8y_\x8”_\x8;_\x8·_\x8i_\x8s_\x8·_\x8n_\x8o_\x8w_\x8·_\x8c_\x8a_\x8l_\x8l_\x8e_\x8d_\x8·_\x8R_\x8o_\x8w_\x8·_\x8a_\x8n_\x8d_\x8·_\x8b_\x8e_\x8h_\x8a_\x8v_\x8e_\x8s_\x8·_\x8l_\x8i_\x8k_\x8e_\x8·_\x8a_\x8n_\x8·_\x8e_\x8n_\x8h_\x8a_\x8n_\x8c_\x8e_\x8d |
6360 | _\x8n_\x8a_\x8m_\x8e_\x8d_\x8·_\x8t_\x8u_\x8p_\x8l_\x8e | 6360 | _\x8n_\x8a_\x8m_\x8e_\x8d_\x8·_\x8t_\x8u_\x8p_\x8l_\x8e |
6361 | References:·_\x8#_\x84_\x87_\x81_\x80 | 6361 | References:·_\x8#_\x84_\x87_\x81_\x80 |
6362 | [\x8[e\x8en\x8ng\x8gi\x8in\x8ne\x8e]\x8]·[\x8[p\x8pe\x8er\x8rf\x8fo\x8or\x8rm\x8ma\x8an\x8nc\x8ce\x8e]\x8]·_\x8¶ | ||
6363 | The·pool·“pre-ping”·feature·has·been·refined·to·not·invoke·for·a·DBAPI | ||
6364 | connection·that·was·just·opened·in·the·same·checkout·operation.·pre·ping·only | ||
6365 | applies·to·a·DBAPI·connection·that’s·been·checked·into·the·pool·and·is·being | ||
6366 | checked·out·again. | ||
6367 | References:·_\x8#_\x84_\x85_\x82_\x84 | ||
6368 | [\x8[e\x8en\x8ng\x8gi\x8in\x8ne\x8e]\x8]·[\x8[ | 6362 | [\x8[e\x8en\x8ng\x8gi\x8in\x8ne\x8e]\x8]·[\x8[c.ch.ha.an.ng.ge.e].]·[.[p.pe.er.rf.fo.or.rm.ma.an.nc.ce\x8e]\x8]·[\x8[p\x8py\x8y3\x83k\x8k]\x8]·_\x8¶ |
6369 | Disabled·the·“unicode·returns”·check·that·runs·on·dialect·startup·when·running | 6363 | Disabled·the·“unicode·returns”·check·that·runs·on·dialect·startup·when·running |
6370 | under·Python·3,·which·for·many·years·has·occurred·in·order·to·test·the·current | 6364 | under·Python·3,·which·for·many·years·has·occurred·in·order·to·test·the·current |
6371 | DBAPI’s·behavior·for·whether·or·not·it·returns·Python·Unicode·or·Py2K·strings | 6365 | DBAPI’s·behavior·for·whether·or·not·it·returns·Python·Unicode·or·Py2K·strings |
6372 | for·the·VARCHAR·and·NVARCHAR·datatypes.·The·check·still·occurs·by·default·under | 6366 | for·the·VARCHAR·and·NVARCHAR·datatypes.·The·check·still·occurs·by·default·under |
6373 | Python·2,·however·the·mechanism·to·test·the·behavior·will·be·removed·in | 6367 | Python·2,·however·the·mechanism·to·test·the·behavior·will·be·removed·in |
6374 | SQLAlchemy·2.0·when·Python·2·support·is·also·removed. | 6368 | SQLAlchemy·2.0·when·Python·2·support·is·also·removed. |
6375 | This·logic·was·very·effective·when·it·was·needed,·however·now·that·Python·3·is | 6369 | This·logic·was·very·effective·when·it·was·needed,·however·now·that·Python·3·is |
Offset 6377, 14 lines modified | Offset 6371, 20 lines modified | ||
6377 | datatypes.·In·the·unlikely·case·that·a·third·party·DBAPI·does·not·support·this, | 6371 | datatypes.·In·the·unlikely·case·that·a·third·party·DBAPI·does·not·support·this, |
6378 | the·conversion·logic·within·_\x8S_\x8t_\x8r_\x8i_\x8n_\x8g·is·still·available·and·the·third·party | 6372 | the·conversion·logic·within·_\x8S_\x8t_\x8r_\x8i_\x8n_\x8g·is·still·available·and·the·third·party |
6379 | dialect·may·specify·this·in·its·upfront·dialect·flags·by·setting·the·dialect | 6373 | dialect·may·specify·this·in·its·upfront·dialect·flags·by·setting·the·dialect |
6380 | level·flag·returns_unicode_strings·to·one·of·String.RETURNS_CONDITIONAL·or | 6374 | level·flag·returns_unicode_strings·to·one·of·String.RETURNS_CONDITIONAL·or |
6381 | String.RETURNS_BYTES,·both·of·which·will·enable·Unicode·conversion·even·under | 6375 | String.RETURNS_BYTES,·both·of·which·will·enable·Unicode·conversion·even·under |
6382 | Python·3. | 6376 | Python·3. |
6383 | References:·_\x8#_\x85_\x83_\x81_\x85 | 6377 | References:·_\x8#_\x85_\x83_\x81_\x85 |
6378 | [\x8[e\x8en\x8ng\x8gi\x8in\x8ne\x8e]\x8]·[\x8[p\x8pe\x8er\x8rf\x8fo\x8or\x8rm\x8ma\x8an\x8nc\x8ce\x8e]\x8]·_\x8¶ | ||
6379 | The·pool·“pre-ping”·feature·has·been·refined·to·not·invoke·for·a·DBAPI | ||
6380 | connection·that·was·just·opened·in·the·same·checkout·operation.·pre·ping·only | ||
6381 | applies·to·a·DBAPI·connection·that’s·been·checked·into·the·pool·and·is·being | ||
6382 | checked·out·again. | ||
6383 | References:·_\x8#_\x84_\x85_\x82_\x84 | ||
6384 | [\x8[e\x8en\x8ng\x8gi\x8in\x8ne\x8e]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ | 6384 | [\x8[e\x8en\x8ng\x8gi\x8in\x8ne\x8e]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ |
6385 | Revised·the·_\x8C_\x8o_\x8n_\x8n_\x8e_\x8c_\x8t_\x8i_\x8o_\x8n_\x8._\x8e_\x8x_\x8e_\x8c_\x8u_\x8t_\x8i_\x8o_\x8n_\x8__\x8o_\x8p_\x8t_\x8i_\x8o_\x8n_\x8s_\x8._\x8s_\x8c_\x8h_\x8e_\x8m_\x8a_\x8__\x8t_\x8r_\x8a_\x8n_\x8s_\x8l_\x8a_\x8t_\x8e_\x8__\x8m_\x8a_\x8p·feature·such·that | 6385 | Revised·the·_\x8C_\x8o_\x8n_\x8n_\x8e_\x8c_\x8t_\x8i_\x8o_\x8n_\x8._\x8e_\x8x_\x8e_\x8c_\x8u_\x8t_\x8i_\x8o_\x8n_\x8__\x8o_\x8p_\x8t_\x8i_\x8o_\x8n_\x8s_\x8._\x8s_\x8c_\x8h_\x8e_\x8m_\x8a_\x8__\x8t_\x8r_\x8a_\x8n_\x8s_\x8l_\x8a_\x8t_\x8e_\x8__\x8m_\x8a_\x8p·feature·such·that |
6386 | the·processing·of·the·SQL·statement·to·receive·a·specific·schema·name·occurs | 6386 | the·processing·of·the·SQL·statement·to·receive·a·specific·schema·name·occurs |
6387 | within·the·execution·phase·of·the·statement,·rather·than·at·the·compile·phase. | 6387 | within·the·execution·phase·of·the·statement,·rather·than·at·the·compile·phase. |
6388 | This·is·to·support·the·statement·being·efficiently·cached.·Previously,·the | 6388 | This·is·to·support·the·statement·being·efficiently·cached.·Previously,·the |
6389 | current·schema·being·rendered·into·the·statement·for·a·particular·run·would·be | 6389 | current·schema·being·rendered·into·the·statement·for·a·particular·run·would·be |
6390 | considered·as·part·of·the·cache·key·itself,·meaning·that·for·a·run·against | 6390 | considered·as·part·of·the·cache·key·itself,·meaning·that·for·a·run·against |
Offset 7935, 31 lines modified | Offset 7935, 31 lines modified | ||
7935 | </p> | 7935 | </p> |
7936 | </li> | 7936 | </li> |
7937 | <li><p·class="caption"·id="change-2.0.0b1-85"><span·class="target"·id="change-0a487b939ab3ad7ca93ee291b91eb410"><strong>[sqlite]·[usecase]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-0a487b939ab3ad7ca93ee291b91eb410">¶</a></span><p>Added·RETURNING·support·for·the·SQLite·dialect.··SQLite·supports·RETURNING | 7937 | <li><p·class="caption"·id="change-2.0.0b1-85"><span·class="target"·id="change-0a487b939ab3ad7ca93ee291b91eb410"><strong>[sqlite]·[usecase]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-0a487b939ab3ad7ca93ee291b91eb410">¶</a></span><p>Added·RETURNING·support·for·the·SQLite·dialect.··SQLite·supports·RETURNING |
7938 | since·version·3.35.</p> | 7938 | since·version·3.35.</p> |
7939 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/6195">#6195</a></p> | 7939 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/6195">#6195</a></p> |
7940 | </p> | 7940 | </p> |
7941 | </li> | 7941 | </li> |
7942 | <li><p·class="caption"·id="change-2.0.0b1-86"><span·class="target"·id="change-ef6ce799a34b30832a9c8115e2afa920"><strong>[sqlite]·[usecase]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-ef6ce799a34b30832a9c8115e2afa920">¶</a></span><p>The·SQLite·dialect·now·supports·UPDATE..FROM·syntax,·for·UPDATE·statements | ||
7943 | that·may·refer·to·additional·tables·within·the·WHERE·criteria·of·the | ||
7944 | statement·without·the·need·to·use·subqueries.·This·syntax·is·invoked | ||
7945 | automatically·when·using·the·<a·class="reference·internal"·href="../core/dml.html#sqlalchemy.sql.expression.Update"·title="sqlalchemy.sql.expression.Update"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Update</span></code></a>·construct·when·more·than | ||
7946 | one·table·or·other·entity·or·selectable·is·used.</p> | ||
7947 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7185">#7185</a></p> | ||
7948 | </p> | ||
7949 | </li> | ||
7950 | <li><p·class="caption"·id="change-2.0.0b1-8 | 7942 | <li><p·class="caption"·id="change-2.0.0b1-86"><span·class="target"·id="change-74fee584f531c832d0d97ea94be754b8"><strong>[sqlite]·[usecase]·[performance]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-74fee584f531c832d0d97ea94be754b8">¶</a></span><p>SQLite·datetime,·date,·and·time·datatypes·now·use·Python·standard·lib |
7951 | <code·class="docutils·literal·notranslate"><span·class="pre">fromisoformat()</span></code>·methods·in·order·to·parse·incoming·datetime,·date,·and | 7943 | <code·class="docutils·literal·notranslate"><span·class="pre">fromisoformat()</span></code>·methods·in·order·to·parse·incoming·datetime,·date,·and |
7952 | time·string·values.·This·improves·performance·vs.·the·previous·regular | 7944 | time·string·values.·This·improves·performance·vs.·the·previous·regular |
7953 | expression-based·approach,·and·also·automatically·accommodates·for·datetime | 7945 | expression-based·approach,·and·also·automatically·accommodates·for·datetime |
7954 | and·time·formats·that·contain·either·a·six-digit·“microseconds”·format·or·a | 7946 | and·time·formats·that·contain·either·a·six-digit·“microseconds”·format·or·a |
7955 | three-digit·“milliseconds”·format.</p> | 7947 | three-digit·“milliseconds”·format.</p> |
7956 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7029">#7029</a></p> | 7948 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7029">#7029</a></p> |
7957 | </p> | 7949 | </p> |
7958 | </li> | 7950 | </li> |
7951 | <li><p·class="caption"·id="change-2.0.0b1-87"><span·class="target"·id="change-ef6ce799a34b30832a9c8115e2afa920"><strong>[sqlite]·[usecase]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-ef6ce799a34b30832a9c8115e2afa920">¶</a></span><p>The·SQLite·dialect·now·supports·UPDATE..FROM·syntax,·for·UPDATE·statements | ||
7952 | that·may·refer·to·additional·tables·within·the·WHERE·criteria·of·the | ||
7953 | statement·without·the·need·to·use·subqueries.·This·syntax·is·invoked | ||
7954 | automatically·when·using·the·<a·class="reference·internal"·href="../core/dml.html#sqlalchemy.sql.expression.Update"·title="sqlalchemy.sql.expression.Update"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Update</span></code></a>·construct·when·more·than | ||
7955 | one·table·or·other·entity·or·selectable·is·used.</p> | ||
7956 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7185">#7185</a></p> | ||
7957 | </p> | ||
7958 | </li> | ||
7959 | <li><p·class="caption"·id="change-2.0.0b1-88"><span·class="target"·id="change-b11607250a6e056103e2b2d1205be1a8"><strong>[sqlite]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-b11607250a6e056103e2b2d1205be1a8">¶</a></span><p>Removed·the·warning·that·emits·from·the·<a·class="reference·internal"·href="../core/type_basics.html#sqlalchemy.types.Numeric"·title="sqlalchemy.types.Numeric"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Numeric</span></code></a>·type·about | 7959 | <li><p·class="caption"·id="change-2.0.0b1-88"><span·class="target"·id="change-b11607250a6e056103e2b2d1205be1a8"><strong>[sqlite]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-b11607250a6e056103e2b2d1205be1a8">¶</a></span><p>Removed·the·warning·that·emits·from·the·<a·class="reference·internal"·href="../core/type_basics.html#sqlalchemy.types.Numeric"·title="sqlalchemy.types.Numeric"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Numeric</span></code></a>·type·about |
7960 | DBAPIs·not·supporting·Decimal·values·natively.·This·warning·was·oriented | 7960 | DBAPIs·not·supporting·Decimal·values·natively.·This·warning·was·oriented |
7961 | towards·SQLite,·which·does·not·have·any·real·way·without·additional | 7961 | towards·SQLite,·which·does·not·have·any·real·way·without·additional |
7962 | extensions·or·workarounds·of·handling·precision·numeric·values·more·than·15 | 7962 | extensions·or·workarounds·of·handling·precision·numeric·values·more·than·15 |
7963 | significant·digits·as·it·only·uses·floating·point·math·to·represent | 7963 | significant·digits·as·it·only·uses·floating·point·math·to·represent |
7964 | numbers.·As·this·is·a·known·and·documented·limitation·in·SQLite·itself,·and | 7964 | numbers.·As·this·is·a·known·and·documented·limitation·in·SQLite·itself,·and |
7965 | not·a·quirk·of·the·pysqlite·driver,·there’s·no·need·for·SQLAlchemy·to·warn | 7965 | not·a·quirk·of·the·pysqlite·driver,·there’s·no·need·for·SQLAlchemy·to·warn |
Offset 5471, 29 lines modified | Offset 5471, 29 lines modified | ||
5471 | ······See·also | 5471 | ······See·also |
5472 | ······_\x8R_\x8e_\x8f_\x8l_\x8e_\x8c_\x8t_\x8i_\x8n_\x8g_\x8·_\x8i_\x8n_\x8t_\x8e_\x8r_\x8n_\x8a_\x8l_\x8·_\x8s_\x8c_\x8h_\x8e_\x8m_\x8a_\x8·_\x8t_\x8a_\x8b_\x8l_\x8e_\x8s | 5472 | ······_\x8R_\x8e_\x8f_\x8l_\x8e_\x8c_\x8t_\x8i_\x8n_\x8g_\x8·_\x8i_\x8n_\x8t_\x8e_\x8r_\x8n_\x8a_\x8l_\x8·_\x8s_\x8c_\x8h_\x8e_\x8m_\x8a_\x8·_\x8t_\x8a_\x8b_\x8l_\x8e_\x8s |
5473 | ······References:·_\x8#_\x88_\x82_\x83_\x84 | 5473 | ······References:·_\x8#_\x88_\x82_\x83_\x84 |
5474 | [\x8[s\x8sq\x8ql\x8li\x8it\x8te\x8e]\x8]·[\x8[u\x8us\x8se\x8ec\x8ca\x8as\x8se\x8e]\x8]·_\x8¶ | 5474 | [\x8[s\x8sq\x8ql\x8li\x8it\x8te\x8e]\x8]·[\x8[u\x8us\x8se\x8ec\x8ca\x8as\x8se\x8e]\x8]·_\x8¶ |
5475 | Added·RETURNING·support·for·the·SQLite·dialect.·SQLite·supports·RETURNING·since | 5475 | Added·RETURNING·support·for·the·SQLite·dialect.·SQLite·supports·RETURNING·since |
5476 | version·3.35. | 5476 | version·3.35. |
5477 | References:·_\x8#_\x86_\x81_\x89_\x85 | 5477 | References:·_\x8#_\x86_\x81_\x89_\x85 |
5478 | [\x8[s\x8sq\x8ql\x8li\x8it\x8te\x8e]\x8]·[\x8[u\x8us\x8se\x8ec\x8ca\x8as\x8se\x8e]\x8]·[\x8[p\x8pe\x8er\x8rf\x8fo\x8or\x8rm\x8ma\x8an\x8nc\x8ce\x8e]\x8]·_\x8¶ | ||
5478 | [\x8[s\x8sq\x8ql\x8li\x8it\x8te\x8e]\x8]·[\x8[u\x8us\x8se\x8ec\x8ca\x8as\x8se\x8e]\x8]·_\x8¶ | ||
5479 | The·SQLite·dialect·now·supports·UPDATE..FROM·syntax,·for·UPDATE·statements·that | ||
5480 | may·refer·to·additional·tables·within·the·WHERE·criteria·of·the·statement | ||
5481 | without·the·need·to·use·subqueries.·This·syntax·is·invoked·automatically·when | ||
5482 | using·the·_\x8U_\x8p_\x8d_\x8a_\x8t_\x8e·construct·when·more·than·one·table·or·other·entity·or | ||
5483 | selectable·is·used. | ||
5484 | References:·_\x8#_\x87_\x81_\x88_\x85 | ||
5485 | [\x8[s\x8sq\x8ql\x8li\x8it\x8te\x8e]\x8]·[\x8[p\x8pe\x8er\x8rf\x8fo\x8or\x8rm\x8ma\x8an\x8nc\x8ce\x8e]\x8]·[\x8[u\x8us\x8se\x8ec\x8ca\x8as\x8se\x8e]\x8]·_\x8¶ | ||
5486 | SQLite·datetime,·date,·and·time·datatypes·now·use·Python·standard·lib | 5479 | SQLite·datetime,·date,·and·time·datatypes·now·use·Python·standard·lib |
5487 | fromisoformat()·methods·in·order·to·parse·incoming·datetime,·date,·and·time | 5480 | fromisoformat()·methods·in·order·to·parse·incoming·datetime,·date,·and·time |
5488 | string·values.·This·improves·performance·vs.·the·previous·regular·expression- | 5481 | string·values.·This·improves·performance·vs.·the·previous·regular·expression- |
5489 | based·approach,·and·also·automatically·accommodates·for·datetime·and·time | 5482 | based·approach,·and·also·automatically·accommodates·for·datetime·and·time |
5490 | formats·that·contain·either·a·six-digit·“microseconds”·format·or·a·three-digit | 5483 | formats·that·contain·either·a·six-digit·“microseconds”·format·or·a·three-digit |
5491 | “milliseconds”·format. | 5484 | “milliseconds”·format. |
5492 | References:·_\x8#_\x87_\x80_\x82_\x89 | 5485 | References:·_\x8#_\x87_\x80_\x82_\x89 |
5486 | [\x8[s\x8sq\x8ql\x8li\x8it\x8te\x8e]\x8]·[\x8[u\x8us\x8se\x8ec\x8ca\x8as\x8se\x8e]\x8]·_\x8¶ | ||
5487 | The·SQLite·dialect·now·supports·UPDATE..FROM·syntax,·for·UPDATE·statements·that | ||
5488 | may·refer·to·additional·tables·within·the·WHERE·criteria·of·the·statement | ||
5489 | without·the·need·to·use·subqueries.·This·syntax·is·invoked·automatically·when | ||
5490 | using·the·_\x8U_\x8p_\x8d_\x8a_\x8t_\x8e·construct·when·more·than·one·table·or·other·entity·or | ||
5491 | selectable·is·used. | ||
5492 | References:·_\x8#_\x87_\x81_\x88_\x85 | ||
5493 | [\x8[s\x8sq\x8ql\x8li\x8it\x8te\x8e]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ | 5493 | [\x8[s\x8sq\x8ql\x8li\x8it\x8te\x8e]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ |
5494 | Removed·the·warning·that·emits·from·the·_\x8N_\x8u_\x8m_\x8e_\x8r_\x8i_\x8c·type·about·DBAPIs·not | 5494 | Removed·the·warning·that·emits·from·the·_\x8N_\x8u_\x8m_\x8e_\x8r_\x8i_\x8c·type·about·DBAPIs·not |
5495 | supporting·Decimal·values·natively.·This·warning·was·oriented·towards·SQLite, | 5495 | supporting·Decimal·values·natively.·This·warning·was·oriented·towards·SQLite, |
5496 | which·does·not·have·any·real·way·without·additional·extensions·or·workarounds | 5496 | which·does·not·have·any·real·way·without·additional·extensions·or·workarounds |
5497 | of·handling·precision·numeric·values·more·than·15·significant·digits·as·it·only | 5497 | of·handling·precision·numeric·values·more·than·15·significant·digits·as·it·only |
5498 | uses·floating·point·math·to·represent·numbers.·As·this·is·a·known·and | 5498 | uses·floating·point·math·to·represent·numbers.·As·this·is·a·known·and |
5499 | documented·limitation·in·SQLite·itself,·and·not·a·quirk·of·the·pysqlite·driver, | 5499 | documented·limitation·in·SQLite·itself,·and·not·a·quirk·of·the·pysqlite·driver, |