16.0 KB
/srv/reproducible-results/rbuild-debian/r-b-build.bkga9gKY/b1/sqlalchemy_2.0.32+ds1-1_arm64.changes vs.
/srv/reproducible-results/rbuild-debian/r-b-build.bkga9gKY/b2/sqlalchemy_2.0.32+ds1-1_arm64.changes
539 B
Files
    
Offset 1, 5 lines modifiedOffset 1, 5 lines modified
  
1 ·0465d3d23c9e93e88023f8f7f379d8a5·3956248·doc·optional·python-sqlalchemy-doc_2.0.32+ds1-1_all.deb1 ·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.deb2 ·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.deb3 ·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.deb4 ·0955e7f12a0b73c1ab8406c88fbab7d2·1196068·python·optional·python3-sqlalchemy_2.0.32+ds1-1_all.deb
15.3 KB
python-sqlalchemy-doc_2.0.32+ds1-1_all.deb
367 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2024-08-23·07:52:58.000000·debian-binary1 -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.xz2 -rw-r--r--···0········0········0····13904·2024-08-23·07:52:58.000000·control.tar.xz
3 -rw-r--r--···0········0········0··3942152·2024-08-23·07:52:58.000000·data.tar.xz3 -rw-r--r--···0········0········0··3942136·2024-08-23·07:52:58.000000·data.tar.xz
98.0 B
control.tar.xz
70.0 B
control.tar
48.0 B
./md5sums
30.0 B
./md5sums
Files differ
14.7 KB
data.tar.xz
14.7 KB
data.tar
7.67 KB
./usr/share/doc/python-sqlalchemy-doc/html/changelog/changelog_14.html
    
Offset 9239, 22 lines modifiedOffset 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-55"><span·class="target"·id="change-d3650b27f4c852ac687ea55326051ed0"><strong>[engine]·[performance]·[change]·[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·when9246 <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·test9247 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·Unicode9248 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·still9249 or·Py2K·strings·for·the·VARCHAR·and·NVARCHAR·datatypes.··The·check·still
9257 occurs·by·default·under·Python·2,·however·the·mechanism·to·test·the9250 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·also9251 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·39253 <p>This·logic·was·very·effective·when·it·was·needed,·however·now·that·Python·3
Offset 9265, 14 lines modifiedOffset 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>·or9259 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·conversion9260 <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·specific9273 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·than9274 schema·name·occurs·within·the·execution·phase·of·the·statement,·rather·than
9275 at·the·compile·phase.···This·is·to·support·the·statement·being·efficiently9275 at·the·compile·phase.···This·is·to·support·the·statement·being·efficiently
9276 cached.···Previously,·the·current·schema·being·rendered·into·the·statement9276 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·hundreds9278 meaning·that·for·a·run·against·hundreds·of·schemas,·there·would·be·hundreds
3.01 KB
html2text {}
    
Offset 6355, 21 lines modifiedOffset 6355, 15 lines modified
6355 returned·by·the·ResultProxy·is·now·the·LegacyRow·subclass,·which·maintains6355 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·more6356 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·also6358 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_\x8d6359 _\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_\x8e6360 _\x8n_\x8a_\x8m_\x8e_\x8d_\x8·_\x8t_\x8u_\x8p_\x8l_\x8e
6361 References:·_\x8#_\x84_\x87_\x81_\x806361 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[p.pe.er.rf.fo.or.rm.ma.an.nc.ce.e].]·[.[c.ch.ha.an.ng.ge\x8e]\x8]·[\x8[p\x8py\x8y3\x83k\x8k]\x8]·_\x86362 [\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·running6363 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·current6364 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·strings6365 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·under6366 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·in6367 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·is6369 This·logic·was·very·effective·when·it·was·needed,·however·now·that·Python·3·is
Offset 6377, 14 lines modifiedOffset 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·party6372 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·dialect6373 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·or6374 level·flag·returns_unicode_strings·to·one·of·String.RETURNS_CONDITIONAL·or
6381 String.RETURNS_BYTES,·both·of·which·will·enable·Unicode·conversion·even·under6375 String.RETURNS_BYTES,·both·of·which·will·enable·Unicode·conversion·even·under
6382 Python·3.6376 Python·3.
6383 References:·_\x8#_\x85_\x83_\x81_\x856377 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]·_\x86384 [\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·that6385 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·occurs6386 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,·the6388 This·is·to·support·the·statement·being·efficiently·cached.·Previously,·the
6389 current·schema·being·rendered·into·the·statement·for·a·particular·run·would·be6389 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·against6390 considered·as·part·of·the·cache·key·itself,·meaning·that·for·a·run·against
7.04 KB
./usr/share/doc/python-sqlalchemy-doc/html/changelog/changelog_20.html
    
Offset 7935, 31 lines modifiedOffset 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·RETURNING7937 <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-87"><span·class="target"·id="change-74fee584f531c832d0d97ea94be754b8"><strong>[sqlite]·[performance]·[usecase]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-74fee584f531c832d0d97ea94be754b8">¶</a></span><p>SQLite·datetime,·date,·and·time·datatypes·now·use·Python·standard·lib7942 <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,·and7943 <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·regular7944 time·string·values.·This·improves·performance·vs.·the·previous·regular
7953 expression-based·approach,·and·also·automatically·accommodates·for·datetime7945 expression-based·approach,·and·also·automatically·accommodates·for·datetime
7954 and·time·formats·that·contain·either·a·six-digit·“microseconds”·format·or·a7946 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·about7959 <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·oriented7960 DBAPIs·not·supporting·Decimal·values·natively.·This·warning·was·oriented
7961 towards·SQLite,·which·does·not·have·any·real·way·without·additional7961 towards·SQLite,·which·does·not·have·any·real·way·without·additional
7962 extensions·or·workarounds·of·handling·precision·numeric·values·more·than·157962 extensions·or·workarounds·of·handling·precision·numeric·values·more·than·15
7963 significant·digits·as·it·only·uses·floating·point·math·to·represent7963 significant·digits·as·it·only·uses·floating·point·math·to·represent
7964 numbers.·As·this·is·a·known·and·documented·limitation·in·SQLite·itself,·and7964 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·warn7965 not·a·quirk·of·the·pysqlite·driver,·there’s·no·need·for·SQLAlchemy·to·warn
2.34 KB
html2text {}
    
Offset 5471, 29 lines modifiedOffset 5471, 29 lines modified
5471 ······See·also5471 ······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_\x8s5472 ······_\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_\x845473 ······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]·_\x85474 [\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·since5475 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_\x855477 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·lib5479 SQLite·datetime,·date,·and·time·datatypes·now·use·Python·standard·lib
5487 fromisoformat()·methods·in·order·to·parse·incoming·datetime,·date,·and·time5480 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·time5482 based·approach,·and·also·automatically·accommodates·for·datetime·and·time
5490 formats·that·contain·either·a·six-digit·“microseconds”·format·or·a·three-digit5483 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_\x895485 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]·_\x85493 [\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·not5494 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·workarounds5496 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·only5497 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·and5498 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,