Offset 1, 5 lines modified | Offset 1, 5 lines modified | ||
1 | · | 1 | ·964144a42937929ccb161b3218aa226a·3987208·doc·optional·python-sqlalchemy-doc_2.0.19+ds1-1_all.deb |
2 | ·79ed1434092903e15519a0db9ff9711d·1660224·debug·optional·python3-sqlalchemy-ext-dbgsym_2.0.19+ds1-1_armhf.deb | 2 | ·79ed1434092903e15519a0db9ff9711d·1660224·debug·optional·python3-sqlalchemy-ext-dbgsym_2.0.19+ds1-1_armhf.deb |
3 | ·633a12e75de72ddc63c0ae7da1144796·197968·python·optional·python3-sqlalchemy-ext_2.0.19+ds1-1_armhf.deb | 3 | ·633a12e75de72ddc63c0ae7da1144796·197968·python·optional·python3-sqlalchemy-ext_2.0.19+ds1-1_armhf.deb |
4 | ·9796ef149b40120a63428bfee9fa60a2·1175628·python·optional·python3-sqlalchemy_2.0.19+ds1-1_all.deb | 4 | ·9796ef149b40120a63428bfee9fa60a2·1175628·python·optional·python3-sqlalchemy_2.0.19+ds1-1_all.deb |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2023-07-21·11:51:22.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2023-07-21·11:51:22.000000·debian-binary |
2 | -rw-r--r--···0········0········0····13716·2023-07-21·11:51:22.000000·control.tar.xz | 2 | -rw-r--r--···0········0········0····13716·2023-07-21·11:51:22.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0··3973 | 3 | -rw-r--r--···0········0········0··3973300·2023-07-21·11:51:22.000000·data.tar.xz |
Offset 592, 15 lines modified | Offset 592, 15 lines modified | ||
592 | <section·id="changelog"> | 592 | <section·id="changelog"> |
593 | <h1>1.0·Changelog<a·class="headerlink"·href="#changelog"·title="Link·to·this·heading">¶</a></h1> | 593 | <h1>1.0·Changelog<a·class="headerlink"·href="#changelog"·title="Link·to·this·heading">¶</a></h1> |
594 | <section·id="change-1.0.19"> | 594 | <section·id="change-1.0.19"> |
595 | <h2·class="release-version">1.0.19<a·class="headerlink"·href="#change-1.0.19"·title="Link·to·this·heading">¶</a></h2> | 595 | <h2·class="release-version">1.0.19<a·class="headerlink"·href="#change-1.0.19"·title="Link·to·this·heading">¶</a></h2> |
596 | Released:·August·3,·2017<section·id="change-1.0.19-oracle"> | 596 | Released:·August·3,·2017<section·id="change-1.0.19-oracle"> |
597 | <h3>oracle<a·class="headerlink"·href="#change-1.0.19-oracle"·title="Link·to·this·heading">¶</a></h3> | 597 | <h3>oracle<a·class="headerlink"·href="#change-1.0.19-oracle"·title="Link·to·this·heading">¶</a></h3> |
598 | <ul·class="simple"> | 598 | <ul·class="simple"> |
599 | <li><p·class="caption"·id="change-1.0.19-0"><span·class="target"·id="change-ec8fd72ca0ab2d0123169536543fb6cd"><strong>[oracle]·[performance | 599 | <li><p·class="caption"·id="change-1.0.19-0"><span·class="target"·id="change-ec8fd72ca0ab2d0123169536543fb6cd"><strong>[oracle]·[bug]·[performance]·[py2k]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-ec8fd72ca0ab2d0123169536543fb6cd">¶</a></span><p>Fixed·performance·regression·caused·by·the·fix·for·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/3937">#3937</a>·where |
600 | cx_Oracle·as·of·version·5.3·dropped·the·<code·class="docutils·literal·notranslate"><span·class="pre">.UNICODE</span></code>·symbol·from·its | 600 | cx_Oracle·as·of·version·5.3·dropped·the·<code·class="docutils·literal·notranslate"><span·class="pre">.UNICODE</span></code>·symbol·from·its |
601 | namespace,··which·was·interpreted·as·cx_Oracle’s·“WITH_UNICODE”·mode·being | 601 | namespace,··which·was·interpreted·as·cx_Oracle’s·“WITH_UNICODE”·mode·being |
602 | turned·on·unconditionally,·which·invokes·functions·on·the·SQLAlchemy | 602 | turned·on·unconditionally,·which·invokes·functions·on·the·SQLAlchemy |
603 | side·which·convert·all·strings·to·unicode·unconditionally·and·causing | 603 | side·which·convert·all·strings·to·unicode·unconditionally·and·causing |
604 | a·performance·impact.··In·fact,·per·cx_Oracle’s·author·the | 604 | a·performance·impact.··In·fact,·per·cx_Oracle’s·author·the |
605 | “WITH_UNICODE”·mode·has·been·removed·entirely·as·of·5.1,·so·the·expensive·unicode | 605 | “WITH_UNICODE”·mode·has·been·removed·entirely·as·of·5.1,·so·the·expensive·unicode |
606 | conversion·functions·are·no·longer·necessary·and·are·disabled·if | 606 | conversion·functions·are·no·longer·necessary·and·are·disabled·if |
Offset 318, 15 lines modified | Offset 318, 15 lines modified | ||
318 | ······················#·_\x8o_\x8r_\x8a_\x8c_\x8l_\x8e | 318 | ······················#·_\x8o_\x8r_\x8a_\x8c_\x8l_\x8e |
319 | ······················#·_\x8t_\x8e_\x8s_\x8t_\x8s | 319 | ······················#·_\x8t_\x8e_\x8s_\x8t_\x8s |
320 | ······················#·_\x8m_\x8i_\x8s_\x8c | 320 | ······················#·_\x8m_\x8i_\x8s_\x8c |
321 | *\x8**\x8**\x8**\x8**\x8**\x8*·1\x81.\x8.0\x80·C\x8Ch\x8ha\x8an\x8ng\x8ge\x8el\x8lo\x8og\x8g_\x8?\x8¶·*\x8**\x8**\x8**\x8**\x8**\x8* | 321 | *\x8**\x8**\x8**\x8**\x8**\x8*·1\x81.\x8.0\x80·C\x8Ch\x8ha\x8an\x8ng\x8ge\x8el\x8lo\x8og\x8g_\x8?\x8¶·*\x8**\x8**\x8**\x8**\x8**\x8* |
322 | *\x8**\x8**\x8**\x8**\x8*·1\x81.\x8.0\x80.\x8.1\x819\x89_\x8?\x8¶·*\x8**\x8**\x8**\x8**\x8* | 322 | *\x8**\x8**\x8**\x8**\x8*·1\x81.\x8.0\x80.\x8.1\x819\x89_\x8?\x8¶·*\x8**\x8**\x8**\x8**\x8* |
323 | Released:·August·3,·2017 | 323 | Released:·August·3,·2017 |
324 | *\x8**\x8**\x8**\x8*·o\x8or\x8ra\x8ac\x8cl\x8le\x8e_\x8?\x8¶·*\x8**\x8**\x8**\x8* | 324 | *\x8**\x8**\x8**\x8*·o\x8or\x8ra\x8ac\x8cl\x8le\x8e_\x8?\x8¶·*\x8**\x8**\x8**\x8* |
325 | ····*·[\x8[o\x8or\x8ra\x8ac\x8cl\x8le\x8e]\x8]·[\x8[p.pe.er.rf.fo.or.rm.ma.an.nc.ce.e | 325 | ····*·[\x8[o\x8or\x8ra\x8ac\x8cl\x8le\x8e]\x8]·[\x8[b.bu.ug.g].]·[.[p.pe.er.rf.fo.or.rm.ma.an.nc.ce.e]\x8]·[\x8[p\x8py\x8y2\x82k\x8k]\x8]·_\x8¶ |
326 | ······Fixed·performance·regression·caused·by·the·fix·for·_\x8#_\x83_\x89_\x83_\x87·where·cx_Oracle | 326 | ······Fixed·performance·regression·caused·by·the·fix·for·_\x8#_\x83_\x89_\x83_\x87·where·cx_Oracle |
327 | ······as·of·version·5.3·dropped·the·.UNICODE·symbol·from·its·namespace,·which | 327 | ······as·of·version·5.3·dropped·the·.UNICODE·symbol·from·its·namespace,·which |
328 | ······was·interpreted·as·cx_Oracle’s·“WITH_UNICODE”·mode·being·turned·on | 328 | ······was·interpreted·as·cx_Oracle’s·“WITH_UNICODE”·mode·being·turned·on |
329 | ······unconditionally,·which·invokes·functions·on·the·SQLAlchemy·side·which | 329 | ······unconditionally,·which·invokes·functions·on·the·SQLAlchemy·side·which |
330 | ······convert·all·strings·to·unicode·unconditionally·and·causing·a·performance | 330 | ······convert·all·strings·to·unicode·unconditionally·and·causing·a·performance |
331 | ······impact.·In·fact,·per·cx_Oracle’s·author·the·“WITH_UNICODE”·mode·has·been | 331 | ······impact.·In·fact,·per·cx_Oracle’s·author·the·“WITH_UNICODE”·mode·has·been |
332 | ······removed·entirely·as·of·5.1,·so·the·expensive·unicode·conversion·functions | 332 | ······removed·entirely·as·of·5.1,·so·the·expensive·unicode·conversion·functions |
Offset 875, 15 lines modified | Offset 875, 15 lines modified | ||
875 | </section> | 875 | </section> |
876 | </section> | 876 | </section> |
877 | <section·id="change-1.1.13"> | 877 | <section·id="change-1.1.13"> |
878 | <h2·class="release-version">1.1.13<a·class="headerlink"·href="#change-1.1.13"·title="Link·to·this·heading">¶</a></h2> | 878 | <h2·class="release-version">1.1.13<a·class="headerlink"·href="#change-1.1.13"·title="Link·to·this·heading">¶</a></h2> |
879 | Released:·August·3,·2017<section·id="change-1.1.13-oracle"> | 879 | Released:·August·3,·2017<section·id="change-1.1.13-oracle"> |
880 | <h3>oracle<a·class="headerlink"·href="#change-1.1.13-oracle"·title="Link·to·this·heading">¶</a></h3> | 880 | <h3>oracle<a·class="headerlink"·href="#change-1.1.13-oracle"·title="Link·to·this·heading">¶</a></h3> |
881 | <ul·class="simple"> | 881 | <ul·class="simple"> |
882 | <li><p·class="caption"·id="change-1.1.13-0"><span·class="target"·id="change-91e9180bc7f72ab73ee81944ee6c0b5b"><strong>[oracle]·[performance | 882 | <li><p·class="caption"·id="change-1.1.13-0"><span·class="target"·id="change-91e9180bc7f72ab73ee81944ee6c0b5b"><strong>[oracle]·[bug]·[performance]·[py2k]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-91e9180bc7f72ab73ee81944ee6c0b5b">¶</a></span><p>Fixed·performance·regression·caused·by·the·fix·for·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/3937">#3937</a>·where |
883 | cx_Oracle·as·of·version·5.3·dropped·the·<code·class="docutils·literal·notranslate"><span·class="pre">.UNICODE</span></code>·symbol·from·its | 883 | cx_Oracle·as·of·version·5.3·dropped·the·<code·class="docutils·literal·notranslate"><span·class="pre">.UNICODE</span></code>·symbol·from·its |
884 | namespace,··which·was·interpreted·as·cx_Oracle’s·“WITH_UNICODE”·mode·being | 884 | namespace,··which·was·interpreted·as·cx_Oracle’s·“WITH_UNICODE”·mode·being |
885 | turned·on·unconditionally,·which·invokes·functions·on·the·SQLAlchemy | 885 | turned·on·unconditionally,·which·invokes·functions·on·the·SQLAlchemy |
886 | side·which·convert·all·strings·to·unicode·unconditionally·and·causing | 886 | side·which·convert·all·strings·to·unicode·unconditionally·and·causing |
887 | a·performance·impact.··In·fact,·per·cx_Oracle’s·author·the | 887 | a·performance·impact.··In·fact,·per·cx_Oracle’s·author·the |
888 | “WITH_UNICODE”·mode·has·been·removed·entirely·as·of·5.1,·so·the·expensive·unicode | 888 | “WITH_UNICODE”·mode·has·been·removed·entirely·as·of·5.1,·so·the·expensive·unicode |
889 | conversion·functions·are·no·longer·necessary·and·are·disabled·if | 889 | conversion·functions·are·no·longer·necessary·and·are·disabled·if |
Offset 495, 15 lines modified | Offset 495, 15 lines modified | ||
495 | ······the·same·PRECEDING·or·FOLLOWING·keywords·in·a·range·by·allowing·for·the | 495 | ······the·same·PRECEDING·or·FOLLOWING·keywords·in·a·range·by·allowing·for·the |
496 | ······left·side·of·the·range·to·be·positive·and·for·the·right·to·be·negative, | 496 | ······left·side·of·the·range·to·be·positive·and·for·the·right·to·be·negative, |
497 | ······e.g.·(1,·3)·is·“1·FOLLOWING·AND·3·FOLLOWING”. | 497 | ······e.g.·(1,·3)·is·“1·FOLLOWING·AND·3·FOLLOWING”. |
498 | ······References:·_\x8#_\x84_\x80_\x85_\x83 | 498 | ······References:·_\x8#_\x84_\x80_\x85_\x83 |
499 | *\x8**\x8**\x8**\x8**\x8*·1\x81.\x8.1\x81.\x8.1\x813\x83_\x8?\x8¶·*\x8**\x8**\x8**\x8**\x8* | 499 | *\x8**\x8**\x8**\x8**\x8*·1\x81.\x8.1\x81.\x8.1\x813\x83_\x8?\x8¶·*\x8**\x8**\x8**\x8**\x8* |
500 | Released:·August·3,·2017 | 500 | Released:·August·3,·2017 |
501 | *\x8**\x8**\x8**\x8*·o\x8or\x8ra\x8ac\x8cl\x8le\x8e_\x8?\x8¶·*\x8**\x8**\x8**\x8* | 501 | *\x8**\x8**\x8**\x8*·o\x8or\x8ra\x8ac\x8cl\x8le\x8e_\x8?\x8¶·*\x8**\x8**\x8**\x8* |
502 | ····*·[\x8[o\x8or\x8ra\x8ac\x8cl\x8le\x8e]\x8]·[\x8[p.pe.er.rf.fo.or.rm.ma.an.nc.ce.e | 502 | ····*·[\x8[o\x8or\x8ra\x8ac\x8cl\x8le\x8e]\x8]·[\x8[b.bu.ug.g].]·[.[p.pe.er.rf.fo.or.rm.ma.an.nc.ce.e]\x8]·[\x8[p\x8py\x8y2\x82k\x8k]\x8]·_\x8¶ |
503 | ······Fixed·performance·regression·caused·by·the·fix·for·_\x8#_\x83_\x89_\x83_\x87·where·cx_Oracle | 503 | ······Fixed·performance·regression·caused·by·the·fix·for·_\x8#_\x83_\x89_\x83_\x87·where·cx_Oracle |
504 | ······as·of·version·5.3·dropped·the·.UNICODE·symbol·from·its·namespace,·which | 504 | ······as·of·version·5.3·dropped·the·.UNICODE·symbol·from·its·namespace,·which |
505 | ······was·interpreted·as·cx_Oracle’s·“WITH_UNICODE”·mode·being·turned·on | 505 | ······was·interpreted·as·cx_Oracle’s·“WITH_UNICODE”·mode·being·turned·on |
506 | ······unconditionally,·which·invokes·functions·on·the·SQLAlchemy·side·which | 506 | ······unconditionally,·which·invokes·functions·on·the·SQLAlchemy·side·which |
507 | ······convert·all·strings·to·unicode·unconditionally·and·causing·a·performance | 507 | ······convert·all·strings·to·unicode·unconditionally·and·causing·a·performance |
508 | ······impact.·In·fact,·per·cx_Oracle’s·author·the·“WITH_UNICODE”·mode·has·been | 508 | ······impact.·In·fact,·per·cx_Oracle’s·author·the·“WITH_UNICODE”·mode·has·been |
509 | ······removed·entirely·as·of·5.1,·so·the·expensive·unicode·conversion·functions | 509 | ······removed·entirely·as·of·5.1,·so·the·expensive·unicode·conversion·functions |
Offset 2977, 15 lines modified | Offset 2977, 15 lines modified | ||
2977 | </p> | 2977 | </p> |
2978 | </li> | 2978 | </li> |
2979 | </ul> | 2979 | </ul> |
2980 | </section> | 2980 | </section> |
2981 | <section·id="change-1.2.0b3-oracle"> | 2981 | <section·id="change-1.2.0b3-oracle"> |
2982 | <h3>oracle<a·class="headerlink"·href="#change-1.2.0b3-oracle"·title="Link·to·this·heading">¶</a></h3> | 2982 | <h3>oracle<a·class="headerlink"·href="#change-1.2.0b3-oracle"·title="Link·to·this·heading">¶</a></h3> |
2983 | <ul·class="simple"> | 2983 | <ul·class="simple"> |
2984 | <li><p·class="caption"·id="change-1.2.0b3-43"><span·class="target"·id="change-7cb9a3370310381d19eb1a17c5a84a91"><strong>[oracle]·[performance | 2984 | <li><p·class="caption"·id="change-1.2.0b3-43"><span·class="target"·id="change-7cb9a3370310381d19eb1a17c5a84a91"><strong>[oracle]·[bug]·[performance]·[py2k]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-7cb9a3370310381d19eb1a17c5a84a91">¶</a></span><p>Fixed·performance·regression·caused·by·the·fix·for·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/3937">#3937</a>·where |
2985 | cx_Oracle·as·of·version·5.3·dropped·the·<code·class="docutils·literal·notranslate"><span·class="pre">.UNICODE</span></code>·symbol·from·its | 2985 | cx_Oracle·as·of·version·5.3·dropped·the·<code·class="docutils·literal·notranslate"><span·class="pre">.UNICODE</span></code>·symbol·from·its |
2986 | namespace,··which·was·interpreted·as·cx_Oracle’s·“WITH_UNICODE”·mode·being | 2986 | namespace,··which·was·interpreted·as·cx_Oracle’s·“WITH_UNICODE”·mode·being |
2987 | turned·on·unconditionally,·which·invokes·functions·on·the·SQLAlchemy | 2987 | turned·on·unconditionally,·which·invokes·functions·on·the·SQLAlchemy |
2988 | side·which·convert·all·strings·to·unicode·unconditionally·and·causing | 2988 | side·which·convert·all·strings·to·unicode·unconditionally·and·causing |
2989 | a·performance·impact.··In·fact,·per·cx_Oracle’s·author·the | 2989 | a·performance·impact.··In·fact,·per·cx_Oracle’s·author·the |
2990 | “WITH_UNICODE”·mode·has·been·removed·entirely·as·of·5.1,·so·the·expensive·unicode | 2990 | “WITH_UNICODE”·mode·has·been·removed·entirely·as·of·5.1,·so·the·expensive·unicode |
2991 | conversion·functions·are·no·longer·necessary·and·are·disabled·if | 2991 | conversion·functions·are·no·longer·necessary·and·are·disabled·if |
Offset 1878, 15 lines modified | Offset 1878, 15 lines modified | ||
1878 | verify·the·number·of·rows·affected·on·a·target·version. | 1878 | verify·the·number·of·rows·affected·on·a·target·version. |
1879 | [\x8[m\x8ms\x8ss\x8sq\x8ql\x8l]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ | 1879 | [\x8[m\x8ms\x8ss\x8sq\x8ql\x8l]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ |
1880 | Added·a·rule·to·SQL·Server·index·reflection·to·ignore·the·so-called·“heap” | 1880 | Added·a·rule·to·SQL·Server·index·reflection·to·ignore·the·so-called·“heap” |
1881 | index·that·is·implicitly·present·on·a·table·that·does·not·specify·a·clustered | 1881 | index·that·is·implicitly·present·on·a·table·that·does·not·specify·a·clustered |
1882 | index. | 1882 | index. |
1883 | References:·_\x8#_\x84_\x80_\x85_\x89 | 1883 | References:·_\x8#_\x84_\x80_\x85_\x89 |
1884 | *\x8**\x8**\x8**\x8*·o\x8or\x8ra\x8ac\x8cl\x8le\x8e_\x8?\x8¶·*\x8**\x8**\x8**\x8* | 1884 | *\x8**\x8**\x8**\x8*·o\x8or\x8ra\x8ac\x8cl\x8le\x8e_\x8?\x8¶·*\x8**\x8**\x8**\x8* |
1885 | ····*·[\x8[o\x8or\x8ra\x8ac\x8cl\x8le\x8e]\x8]·[\x8[p.pe.er.rf.fo.or.rm.ma.an.nc.ce.e | 1885 | ····*·[\x8[o\x8or\x8ra\x8ac\x8cl\x8le\x8e]\x8]·[\x8[b.bu.ug.g].]·[.[p.pe.er.rf.fo.or.rm.ma.an.nc.ce.e]\x8]·[\x8[p\x8py\x8y2\x82k\x8k]\x8]·_\x8¶ |
1886 | ······Fixed·performance·regression·caused·by·the·fix·for·_\x8#_\x83_\x89_\x83_\x87·where·cx_Oracle | 1886 | ······Fixed·performance·regression·caused·by·the·fix·for·_\x8#_\x83_\x89_\x83_\x87·where·cx_Oracle |
1887 | ······as·of·version·5.3·dropped·the·.UNICODE·symbol·from·its·namespace,·which | 1887 | ······as·of·version·5.3·dropped·the·.UNICODE·symbol·from·its·namespace,·which |
1888 | ······was·interpreted·as·cx_Oracle’s·“WITH_UNICODE”·mode·being·turned·on | 1888 | ······was·interpreted·as·cx_Oracle’s·“WITH_UNICODE”·mode·being·turned·on |
1889 | ······unconditionally,·which·invokes·functions·on·the·SQLAlchemy·side·which | 1889 | ······unconditionally,·which·invokes·functions·on·the·SQLAlchemy·side·which |
1890 | ······convert·all·strings·to·unicode·unconditionally·and·causing·a·performance | 1890 | ······convert·all·strings·to·unicode·unconditionally·and·causing·a·performance |
1891 | ······impact.·In·fact,·per·cx_Oracle’s·author·the·“WITH_UNICODE”·mode·has·been | 1891 | ······impact.·In·fact,·per·cx_Oracle’s·author·the·“WITH_UNICODE”·mode·has·been |
1892 | ······removed·entirely·as·of·5.1,·so·the·expensive·unicode·conversion·functions | 1892 | ······removed·entirely·as·of·5.1,·so·the·expensive·unicode·conversion·functions |
Offset 1803, 30 lines modified | Offset 1803, 30 lines modified | ||
1803 | </p> | 1803 | </p> |
1804 | </li> | 1804 | </li> |
1805 | </ul> | 1805 | </ul> |
1806 | </section> | 1806 | </section> |
1807 | <section·id="change-1.3.17-oracle"> | 1807 | <section·id="change-1.3.17-oracle"> |
1808 | <h3>oracle<a·class="headerlink"·href="#change-1.3.17-oracle"·title="Link·to·this·heading">¶</a></h3> | 1808 | <h3>oracle<a·class="headerlink"·href="#change-1.3.17-oracle"·title="Link·to·this·heading">¶</a></h3> |
1809 | <ul·class="simple"> | 1809 | <ul·class="simple"> |
1810 | <li><p·class="caption"·id="change-1.3.17-14"><span·class="target"·id="change-aae71399cbb61c78ebaa99fe5ebbc85f"><strong>[oracle]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-aae71399cbb61c78ebaa99fe5ebbc85f">¶</a></span><p>Some·modifications·to·how·the·cx_oracle·dialect·sets·up·per-column | ||
1811 | outputtype·handlers·for·LOB·and·numeric·datatypes·to·adjust·for·potential | ||
1812 | changes·coming·in·cx_Oracle·8.</p> | ||
1813 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/5246">#5246</a></p> | ||
1814 | </p> | ||
1815 | </li> | ||
1810 | <li><p·class="caption"·id="change-1.3.17-1 | 1816 | <li><p·class="caption"·id="change-1.3.17-15"><span·class="target"·id="change-cc5a1743d1951d72594d609e6e1a5c99"><strong>[oracle]·[bug]·[performance]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-cc5a1743d1951d72594d609e6e1a5c99">¶</a></span><p>Changed·the·implementation·of·fetching·CLOB·and·BLOB·objects·to·use |
1811 | cx_Oracle’s·native·implementation·which·fetches·CLOB/BLOB·objects·inline | 1817 | cx_Oracle’s·native·implementation·which·fetches·CLOB/BLOB·objects·inline |
1812 | with·other·result·columns,·rather·than·performing·a·separate·fetch.·As | 1818 | with·other·result·columns,·rather·than·performing·a·separate·fetch.·As |
1813 | always,·this·can·be·disabled·by·setting·auto_convert_lobs·to·False.</p> | 1819 | always,·this·can·be·disabled·by·setting·auto_convert_lobs·to·False.</p> |
1814 | <p>As·part·of·this·change,·the·behavior·of·a·CLOB·that·was·given·a·blank | 1820 | <p>As·part·of·this·change,·the·behavior·of·a·CLOB·that·was·given·a·blank |
1815 | string·on·INSERT·now·returns·None·on·SELECT,·which·is·now·consistent·with | 1821 | string·on·INSERT·now·returns·None·on·SELECT,·which·is·now·consistent·with |
1816 | that·of·VARCHAR·on·Oracle.</p> | 1822 | that·of·VARCHAR·on·Oracle.</p> |
1817 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/5314">#5314</a></p> | 1823 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/5314">#5314</a></p> |
1818 | </p> | 1824 | </p> |
1819 | </li> | 1825 | </li> |
1820 | <li><p·class="caption"·id="change-1.3.17-15"><span·class="target"·id="change-aae71399cbb61c78ebaa99fe5ebbc85f"><strong>[oracle]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-aae71399cbb61c78ebaa99fe5ebbc85f">¶</a></span><p>Some·modifications·to·how·the·cx_oracle·dialect·sets·up·per-column | ||
1821 | outputtype·handlers·for·LOB·and·numeric·datatypes·to·adjust·for·potential | ||
1822 | changes·coming·in·cx_Oracle·8.</p> | ||
1823 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/5246">#5246</a></p> | ||
1824 | </p> | ||
1825 | </li> | ||
1826 | </ul> | 1826 | </ul> |
1827 | </section> | 1827 | </section> |
1828 | <section·id="change-1.3.17-misc"> | 1828 | <section·id="change-1.3.17-misc"> |
1829 | <h3>misc<a·class="headerlink"·href="#change-1.3.17-misc"·title="Link·to·this·heading">¶</a></h3> | 1829 | <h3>misc<a·class="headerlink"·href="#change-1.3.17-misc"·title="Link·to·this·heading">¶</a></h3> |
1830 | <ul·class="simple"> | 1830 | <ul·class="simple"> |
1831 | <li><p·class="caption"·id="change-1.3.17-16"><span·class="target"·id="change-3d26d8810b452ce62aee1841b6a4725d"><strong>[change]·[firebird]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-3d26d8810b452ce62aee1841b6a4725d">¶</a></span><p>Adjusted·dialect·loading·for·<code·class="docutils·literal·notranslate"><span·class="pre">firebird://</span></code>·URIs·so·the·external | 1831 | <li><p·class="caption"·id="change-1.3.17-16"><span·class="target"·id="change-3d26d8810b452ce62aee1841b6a4725d"><strong>[change]·[firebird]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-3d26d8810b452ce62aee1841b6a4725d">¶</a></span><p>Adjusted·dialect·loading·for·<code·class="docutils·literal·notranslate"><span·class="pre">firebird://</span></code>·URIs·so·the·external |
1832 | sqlalchemy-firebird·dialect·will·be·used·if·it·has·been·installed, | 1832 | sqlalchemy-firebird·dialect·will·be·used·if·it·has·been·installed, |
Offset 1144, 28 lines modified | Offset 1144, 28 lines modified | ||
1144 | ······References:·_\x8#_\x85_\x82_\x85_\x85 | 1144 | ······References:·_\x8#_\x85_\x82_\x85_\x85 |
1145 | [\x8[m\x8ms\x8ss\x8sq\x8ql\x8l]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·[\x8[r\x8re\x8ef\x8fl\x8le\x8ec\x8ct\x8ti\x8io\x8on\x8n]\x8]·_\x8¶ | 1145 | [\x8[m\x8ms\x8ss\x8sq\x8ql\x8l]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·[\x8[r\x8re\x8ef\x8fl\x8le\x8ec\x8ct\x8ti\x8io\x8on\x8n]\x8]·_\x8¶ |
1146 | Fix·a·regression·introduced·by·the·reflection·of·computed·column·in·MSSQL·when | 1146 | Fix·a·regression·introduced·by·the·reflection·of·computed·column·in·MSSQL·when |
1147 | using·SQL·server·versions·before·2012,·which·does·not·support·the·concat | 1147 | using·SQL·server·versions·before·2012,·which·does·not·support·the·concat |
1148 | function. | 1148 | function. |
1149 | References:·_\x8#_\x85_\x82_\x87_\x81 | 1149 | References:·_\x8#_\x85_\x82_\x87_\x81 |
1150 | *\x8**\x8**\x8**\x8*·o\x8or\x8ra\x8ac\x8cl\x8le\x8e_\x8?\x8¶·*\x8**\x8**\x8**\x8* | 1150 | *\x8**\x8**\x8**\x8*·o\x8or\x8ra\x8ac\x8cl\x8le\x8e_\x8?\x8¶·*\x8**\x8**\x8**\x8* |
1151 | ····*·[\x8[o\x8or\x8ra\x8ac\x8cl\x8le\x8e]\x8]·[\x8[p\x8pe\x8er\x8rf\x8fo\x8or\x8rm\x8ma\x8an\x8nc\x8ce\x8e]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ | ||
1152 | ······Changed·the·implementation·of·fetching·CLOB·and·BLOB·objects·to·use | ||
1153 | ······cx_Oracle’s·native·implementation·which·fetches·CLOB/BLOB·objects·inline | ||
1154 | ······with·other·result·columns,·rather·than·performing·a·separate·fetch.·As | ||
1155 | ······always,·this·can·be·disabled·by·setting·auto_convert_lobs·to·False. | ||
1156 | ······As·part·of·this·change,·the·behavior·of·a·CLOB·that·was·given·a·blank | ||
1157 | ······string·on·INSERT·now·returns·None·on·SELECT,·which·is·now·consistent·with | ||
1158 | ······that·of·VARCHAR·on·Oracle. | ||
1159 | ······References:·_\x8#_\x85_\x83_\x81_\x84 | ||
1160 | [\x8[o\x8or\x8ra\x8ac\x8cl\x8le\x8e]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ | 1151 | ····*·[\x8[o\x8or\x8ra\x8ac\x8cl\x8le\x8e]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ |
1161 | Some·modifications·to·how·the·cx_oracle·dialect·sets·up·per-column | 1152 | ······Some·modifications·to·how·the·cx_oracle·dialect·sets·up·per-column |
1162 | handlers·for·LOB·and·numeric·datatypes·to·adjust·for·potential | 1153 | ······outputtype·handlers·for·LOB·and·numeric·datatypes·to·adjust·for·potential |
1163 | in·cx_Oracle·8. | 1154 | ······changes·coming·in·cx_Oracle·8. |
1164 | References:·_\x8#_\x85_\x82_\x84_\x86 | 1155 | ······References:·_\x8#_\x85_\x82_\x84_\x86 |
1156 | [\x8[o\x8or\x8ra\x8ac\x8cl\x8le\x8e]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·[\x8[p\x8pe\x8er\x8rf\x8fo\x8or\x8rm\x8ma\x8an\x8nc\x8ce\x8e]\x8]·_\x8¶ | ||
1157 | Changed·the·implementation·of·fetching·CLOB·and·BLOB·objects·to·use·cx_Oracle’s | ||
1158 | native·implementation·which·fetches·CLOB/BLOB·objects·inline·with·other·result | ||
1159 | columns,·rather·than·performing·a·separate·fetch.·As·always,·this·can·be | ||
1160 | disabled·by·setting·auto_convert_lobs·to·False. | ||
1161 | As·part·of·this·change,·the·behavior·of·a·CLOB·that·was·given·a·blank·string·on | ||
1162 | INSERT·now·returns·None·on·SELECT,·which·is·now·consistent·with·that·of·VARCHAR | ||
1163 | on·Oracle. | ||
1164 | References:·_\x8#_\x85_\x83_\x81_\x84 | ||
1165 | *\x8**\x8**\x8**\x8*·m\x8mi\x8is\x8sc\x8c_\x8?\x8¶·*\x8**\x8**\x8**\x8* | 1165 | *\x8**\x8**\x8**\x8*·m\x8mi\x8is\x8sc\x8c_\x8?\x8¶·*\x8**\x8**\x8**\x8* |
1166 | ····*·[\x8[c\x8ch\x8ha\x8an\x8ng\x8ge\x8e]\x8]·[\x8[f\x8fi\x8ir\x8re\x8eb\x8bi\x8ir\x8rd\x8d]\x8]·_\x8¶ | 1166 | ····*·[\x8[c\x8ch\x8ha\x8an\x8ng\x8ge\x8e]\x8]·[\x8[f\x8fi\x8ir\x8re\x8eb\x8bi\x8ir\x8rd\x8d]\x8]·_\x8¶ |
1167 | ······Adjusted·dialect·loading·for·firebird://·URIs·so·the·external·sqlalchemy- | 1167 | ······Adjusted·dialect·loading·for·firebird://·URIs·so·the·external·sqlalchemy- |
1168 | ······firebird·dialect·will·be·used·if·it·has·been·installed,·otherwise·fall | 1168 | ······firebird·dialect·will·be·used·if·it·has·been·installed,·otherwise·fall |
1169 | ······back·to·the·(now·deprecated)·internal·Firebird·dialect. | 1169 | ······back·to·the·(now·deprecated)·internal·Firebird·dialect. |
1170 | ······References:·_\x8#_\x85_\x82_\x87_\x88 | 1170 | ······References:·_\x8#_\x85_\x82_\x87_\x88 |
1171 | *\x8**\x8**\x8**\x8**\x8*·1\x81.\x8.3\x83.\x8.1\x816\x86_\x8?\x8¶·*\x8**\x8**\x8**\x8**\x8* | 1171 | *\x8**\x8**\x8**\x8**\x8*·1\x81.\x8.3\x83.\x8.1\x816\x86_\x8?\x8¶·*\x8**\x8**\x8**\x8**\x8* |
Offset 2763, 36 lines modified | Offset 2763, 36 lines modified | ||
2763 | attributes·and·entities·that·are·installed·as·part·of·an·<a·class="reference·internal"·href="../core/dml.html#sqlalchemy.sql.expression.Insert"·title="sqlalchemy.sql.expression.Insert"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Insert</span></code></a>, | 2763 | attributes·and·entities·that·are·installed·as·part·of·an·<a·class="reference·internal"·href="../core/dml.html#sqlalchemy.sql.expression.Insert"·title="sqlalchemy.sql.expression.Insert"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Insert</span></code></a>, |
2764 | <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>,·or·<a·class="reference·internal"·href="../core/dml.html#sqlalchemy.sql.expression.Delete"·title="sqlalchemy.sql.expression.Delete"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Delete</span></code></a>·construct.·The | 2764 | <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>,·or·<a·class="reference·internal"·href="../core/dml.html#sqlalchemy.sql.expression.Delete"·title="sqlalchemy.sql.expression.Delete"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Delete</span></code></a>·construct.·The |
2765 | <a·class="reference·internal"·href="../core/selectable.html#sqlalchemy.sql.expression.Select.column_descriptions"·title="sqlalchemy.sql.expression.Select.column_descriptions"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Select.column_descriptions</span></code></a>·accessor·is·also·now·implemented·for | 2765 | <a·class="reference·internal"·href="../core/selectable.html#sqlalchemy.sql.expression.Select.column_descriptions"·title="sqlalchemy.sql.expression.Select.column_descriptions"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Select.column_descriptions</span></code></a>·accessor·is·also·now·implemented·for |
2766 | Core-only·selectables.</p> | 2766 | Core-only·selectables.</p> |
2767 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7861">#7861</a></p> | 2767 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7861">#7861</a></p> |
2768 | </p> | 2768 | </p> |
2769 | </li> | 2769 | </li> |
2770 | <li><p·class="caption"·id="change-1.4.33-2"><span·class="target"·id="change-9e8374aab257ac3366e02a4907fc449a"><strong>[orm]·[performance]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-9e8374aab257ac3366e02a4907fc449a">¶</a></span><p>Improvements·in·memory·usage·by·the·ORM,·removing·a·significant·set·of | ||
2771 | intermediary·expression·objects·that·are·typically·stored·when·a·copy·of·an | ||
2772 | expression·object·is·created.·These·clones·have·been·greatly·reduced, | ||
2773 | reducing·the·number·of·total·expression·objects·stored·in·memory·by | ||
2774 | ORM·mappings·by·about·30%.</p> | ||
2775 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7823">#7823</a></p> | ||
2776 | </p> | ||
2777 | </li> | ||
2778 | <li><p·class="caption"·id="change-1.4.33- | 2770 | <li><p·class="caption"·id="change-1.4.33-2"><span·class="target"·id="change-6e997a9f24c37627b3bc1af26a5a2c9d"><strong>[orm]·[bug]·[regression]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-6e997a9f24c37627b3bc1af26a5a2c9d">¶</a></span><p>Fixed·regression·in·“dynamic”·loader·strategy·where·the |
2779 | <a·class="reference·internal"·href="../orm/queryguide/query.html#sqlalchemy.orm.Query.filter_by"·title="sqlalchemy.orm.Query.filter_by"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Query.filter_by()</span></code></a>·method·would·not·be·given·an·appropriate | 2771 | <a·class="reference·internal"·href="../orm/queryguide/query.html#sqlalchemy.orm.Query.filter_by"·title="sqlalchemy.orm.Query.filter_by"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Query.filter_by()</span></code></a>·method·would·not·be·given·an·appropriate |
2780 | entity·to·filter·from,·in·the·case·where·a·“secondary”·table·were·present | 2772 | entity·to·filter·from,·in·the·case·where·a·“secondary”·table·were·present |
2781 | in·the·relationship·being·queried·and·the·mapping·were·against·something | 2773 | in·the·relationship·being·queried·and·the·mapping·were·against·something |
2782 | complex·such·as·a·“with·polymorphic”.</p> | 2774 | complex·such·as·a·“with·polymorphic”.</p> |
2783 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7868">#7868</a></p> | 2775 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7868">#7868</a></p> |
2784 | </p> | 2776 | </p> |
2785 | </li> | 2777 | </li> |
2786 | <li><p·class="caption"·id="change-1.4.33- | 2778 | <li><p·class="caption"·id="change-1.4.33-3"><span·class="target"·id="change-4964a00cd636f3fbb10595151e1fb258"><strong>[orm]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-4964a00cd636f3fbb10595151e1fb258">¶</a></span><p>Fixed·bug·where·<a·class="reference·internal"·href="../orm/composites.html#sqlalchemy.orm.composite"·title="sqlalchemy.orm.composite"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">composite()</span></code></a>·attributes·would·not·work·in |
2787 | conjunction·with·the·<a·class="reference·internal"·href="../orm/queryguide/inheritance.html#sqlalchemy.orm.selectin_polymorphic"·title="sqlalchemy.orm.selectin_polymorphic"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">selectin_polymorphic()</span></code></a>·loader·strategy·for | 2779 | conjunction·with·the·<a·class="reference·internal"·href="../orm/queryguide/inheritance.html#sqlalchemy.orm.selectin_polymorphic"·title="sqlalchemy.orm.selectin_polymorphic"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">selectin_polymorphic()</span></code></a>·loader·strategy·for |
2788 | joined·table·inheritance.</p> | 2780 | joined·table·inheritance.</p> |
2789 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7801">#7801</a></p> | 2781 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7801">#7801</a></p> |
2790 | </p> | 2782 | </p> |
2791 | </li> | 2783 | </li> |
2784 | <li><p·class="caption"·id="change-1.4.33-4"><span·class="target"·id="change-9e8374aab257ac3366e02a4907fc449a"><strong>[orm]·[bug]·[performance]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-9e8374aab257ac3366e02a4907fc449a">¶</a></span><p>Improvements·in·memory·usage·by·the·ORM,·removing·a·significant·set·of | ||
2785 | intermediary·expression·objects·that·are·typically·stored·when·a·copy·of·an | ||
2786 | expression·object·is·created.·These·clones·have·been·greatly·reduced, | ||
2787 | reducing·the·number·of·total·expression·objects·stored·in·memory·by | ||
2788 | ORM·mappings·by·about·30%.</p> | ||
2789 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7823">#7823</a></p> | ||
2790 | </p> | ||
2791 | </li> | ||
2792 | <li><p·class="caption"·id="change-1.4.33-5"><span·class="target"·id="change-cd2db57c1e1cd1330ba16d255c704a3d"><strong>[orm]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-cd2db57c1e1cd1330ba16d255c704a3d">¶</a></span><p>Fixed·issue·where·the·<a·class="reference·internal"·href="../orm/queryguide/inheritance.html#sqlalchemy.orm.selectin_polymorphic"·title="sqlalchemy.orm.selectin_polymorphic"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">selectin_polymorphic()</span></code></a>·loader·option·would | 2792 | <li><p·class="caption"·id="change-1.4.33-5"><span·class="target"·id="change-cd2db57c1e1cd1330ba16d255c704a3d"><strong>[orm]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-cd2db57c1e1cd1330ba16d255c704a3d">¶</a></span><p>Fixed·issue·where·the·<a·class="reference·internal"·href="../orm/queryguide/inheritance.html#sqlalchemy.orm.selectin_polymorphic"·title="sqlalchemy.orm.selectin_polymorphic"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">selectin_polymorphic()</span></code></a>·loader·option·would |
2793 | not·work·with·joined·inheritance·mappers·that·don’t·have·a·fixed | 2793 | not·work·with·joined·inheritance·mappers·that·don’t·have·a·fixed |
2794 | “polymorphic_on”·column.···Additionally·added·test·support·for·a·wider | 2794 | “polymorphic_on”·column.···Additionally·added·test·support·for·a·wider |
2795 | variety·of·usage·patterns·with·this·construct.</p> | 2795 | variety·of·usage·patterns·with·this·construct.</p> |
2796 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7799">#7799</a></p> | 2796 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/7799">#7799</a></p> |
2797 | </p> | 2797 | </p> |
2798 | </li> | 2798 | </li> |
Offset 1844, 31 lines modified | Offset 1844, 31 lines modified | ||
1844 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[u\x8us\x8se\x8ec\x8ca\x8as\x8se\x8e]\x8]·_\x8¶ | 1844 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[u\x8us\x8se\x8ec\x8ca\x8as\x8se\x8e]\x8]·_\x8¶ |
1845 | Added·new·attributes·_\x8U_\x8p_\x8d_\x8a_\x8t_\x8e_\x8B_\x8a_\x8s_\x8e_\x8._\x8r_\x8e_\x8t_\x8u_\x8r_\x8n_\x8i_\x8n_\x8g_\x8__\x8c_\x8o_\x8l_\x8u_\x8m_\x8n_\x8__\x8d_\x8e_\x8s_\x8c_\x8r_\x8i_\x8p_\x8t_\x8i_\x8o_\x8n_\x8s·and | 1845 | Added·new·attributes·_\x8U_\x8p_\x8d_\x8a_\x8t_\x8e_\x8B_\x8a_\x8s_\x8e_\x8._\x8r_\x8e_\x8t_\x8u_\x8r_\x8n_\x8i_\x8n_\x8g_\x8__\x8c_\x8o_\x8l_\x8u_\x8m_\x8n_\x8__\x8d_\x8e_\x8s_\x8c_\x8r_\x8i_\x8p_\x8t_\x8i_\x8o_\x8n_\x8s·and |
1846 | _\x8U_\x8p_\x8d_\x8a_\x8t_\x8e_\x8B_\x8a_\x8s_\x8e_\x8._\x8e_\x8n_\x8t_\x8i_\x8t_\x8y_\x8__\x8d_\x8e_\x8s_\x8c_\x8r_\x8i_\x8p_\x8t_\x8i_\x8o_\x8n·to·allow·for·inspection·of·ORM·attributes·and | 1846 | _\x8U_\x8p_\x8d_\x8a_\x8t_\x8e_\x8B_\x8a_\x8s_\x8e_\x8._\x8e_\x8n_\x8t_\x8i_\x8t_\x8y_\x8__\x8d_\x8e_\x8s_\x8c_\x8r_\x8i_\x8p_\x8t_\x8i_\x8o_\x8n·to·allow·for·inspection·of·ORM·attributes·and |
1847 | entities·that·are·installed·as·part·of·an·_\x8I_\x8n_\x8s_\x8e_\x8r_\x8t,·_\x8U_\x8p_\x8d_\x8a_\x8t_\x8e,·or·_\x8D_\x8e_\x8l_\x8e_\x8t_\x8e·construct. | 1847 | entities·that·are·installed·as·part·of·an·_\x8I_\x8n_\x8s_\x8e_\x8r_\x8t,·_\x8U_\x8p_\x8d_\x8a_\x8t_\x8e,·or·_\x8D_\x8e_\x8l_\x8e_\x8t_\x8e·construct. |
1848 | The·_\x8S_\x8e_\x8l_\x8e_\x8c_\x8t_\x8._\x8c_\x8o_\x8l_\x8u_\x8m_\x8n_\x8__\x8d_\x8e_\x8s_\x8c_\x8r_\x8i_\x8p_\x8t_\x8i_\x8o_\x8n_\x8s·accessor·is·also·now·implemented·for·Core-only | 1848 | The·_\x8S_\x8e_\x8l_\x8e_\x8c_\x8t_\x8._\x8c_\x8o_\x8l_\x8u_\x8m_\x8n_\x8__\x8d_\x8e_\x8s_\x8c_\x8r_\x8i_\x8p_\x8t_\x8i_\x8o_\x8n_\x8s·accessor·is·also·now·implemented·for·Core-only |
1849 | selectables. | 1849 | selectables. |
1850 | References:·_\x8#_\x87_\x88_\x86_\x81 | 1850 | References:·_\x8#_\x87_\x88_\x86_\x81 |
1851 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[p\x8pe\x8er\x8rf\x8fo\x8or\x8rm\x8ma\x8an\x8nc\x8ce\x8e]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ | ||
1852 | Improvements·in·memory·usage·by·the·ORM,·removing·a·significant·set·of | ||
1853 | intermediary·expression·objects·that·are·typically·stored·when·a·copy·of·an | ||
1854 | expression·object·is·created.·These·clones·have·been·greatly·reduced,·reducing | ||
1855 | the·number·of·total·expression·objects·stored·in·memory·by·ORM·mappings·by | ||
1856 | about·30%. | ||
1857 | References:·_\x8#_\x87_\x88_\x82_\x83 | ||
1858 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·[\x8[r\x8re\x8eg\x8gr\x8re\x8es\x8ss\x8si\x8io\x8on\x8n]\x8]·_\x8¶ | 1851 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·[\x8[r\x8re\x8eg\x8gr\x8re\x8es\x8ss\x8si\x8io\x8on\x8n]\x8]·_\x8¶ |
1859 | Fixed·regression·in·“dynamic”·loader·strategy·where·the·_\x8Q_\x8u_\x8e_\x8r_\x8y_\x8._\x8f_\x8i_\x8l_\x8t_\x8e_\x8r_\x8__\x8b_\x8y_\x8(_\x8) | 1852 | Fixed·regression·in·“dynamic”·loader·strategy·where·the·_\x8Q_\x8u_\x8e_\x8r_\x8y_\x8._\x8f_\x8i_\x8l_\x8t_\x8e_\x8r_\x8__\x8b_\x8y_\x8(_\x8) |
1860 | method·would·not·be·given·an·appropriate·entity·to·filter·from,·in·the·case | 1853 | method·would·not·be·given·an·appropriate·entity·to·filter·from,·in·the·case |
1861 | where·a·“secondary”·table·were·present·in·the·relationship·being·queried·and | 1854 | where·a·“secondary”·table·were·present·in·the·relationship·being·queried·and |
1862 | the·mapping·were·against·something·complex·such·as·a·“with·polymorphic”. | 1855 | the·mapping·were·against·something·complex·such·as·a·“with·polymorphic”. |
1863 | References:·_\x8#_\x87_\x88_\x86_\x88 | 1856 | References:·_\x8#_\x87_\x88_\x86_\x88 |
1864 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ | 1857 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ |
1865 | Fixed·bug·where·_\x8c_\x8o_\x8m_\x8p_\x8o_\x8s_\x8i_\x8t_\x8e_\x8(_\x8)·attributes·would·not·work·in·conjunction·with·the | 1858 | Fixed·bug·where·_\x8c_\x8o_\x8m_\x8p_\x8o_\x8s_\x8i_\x8t_\x8e_\x8(_\x8)·attributes·would·not·work·in·conjunction·with·the |
1866 | _\x8s_\x8e_\x8l_\x8e_\x8c_\x8t_\x8i_\x8n_\x8__\x8p_\x8o_\x8l_\x8y_\x8m_\x8o_\x8r_\x8p_\x8h_\x8i_\x8c_\x8(_\x8)·loader·strategy·for·joined·table·inheritance. | 1859 | _\x8s_\x8e_\x8l_\x8e_\x8c_\x8t_\x8i_\x8n_\x8__\x8p_\x8o_\x8l_\x8y_\x8m_\x8o_\x8r_\x8p_\x8h_\x8i_\x8c_\x8(_\x8)·loader·strategy·for·joined·table·inheritance. |
1867 | References:·_\x8#_\x87_\x88_\x80_\x81 | 1860 | References:·_\x8#_\x87_\x88_\x80_\x81 |
1861 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·[\x8[p\x8pe\x8er\x8rf\x8fo\x8or\x8rm\x8ma\x8an\x8nc\x8ce\x8e]\x8]·_\x8¶ | ||
1862 | Improvements·in·memory·usage·by·the·ORM,·removing·a·significant·set·of | ||
1863 | intermediary·expression·objects·that·are·typically·stored·when·a·copy·of·an | ||
1864 | expression·object·is·created.·These·clones·have·been·greatly·reduced,·reducing | ||
1865 | the·number·of·total·expression·objects·stored·in·memory·by·ORM·mappings·by | ||
1866 | about·30%. | ||
1867 | References:·_\x8#_\x87_\x88_\x82_\x83 | ||
1868 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ | 1868 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ |
1869 | Fixed·issue·where·the·_\x8s_\x8e_\x8l_\x8e_\x8c_\x8t_\x8i_\x8n_\x8__\x8p_\x8o_\x8l_\x8y_\x8m_\x8o_\x8r_\x8p_\x8h_\x8i_\x8c_\x8(_\x8)·loader·option·would·not·work·with | 1869 | Fixed·issue·where·the·_\x8s_\x8e_\x8l_\x8e_\x8c_\x8t_\x8i_\x8n_\x8__\x8p_\x8o_\x8l_\x8y_\x8m_\x8o_\x8r_\x8p_\x8h_\x8i_\x8c_\x8(_\x8)·loader·option·would·not·work·with |
1870 | joined·inheritance·mappers·that·don’t·have·a·fixed·“polymorphic_on”·column. | 1870 | joined·inheritance·mappers·that·don’t·have·a·fixed·“polymorphic_on”·column. |
1871 | Additionally·added·test·support·for·a·wider·variety·of·usage·patterns·with·this | 1871 | Additionally·added·test·support·for·a·wider·variety·of·usage·patterns·with·this |
1872 | construct. | 1872 | construct. |
1873 | References:·_\x8#_\x87_\x87_\x89_\x89 | 1873 | References:·_\x8#_\x87_\x87_\x89_\x89 |
1874 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ | 1874 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ |
Offset 3863, 39 lines modified | Offset 3863, 39 lines modified | ||
3863 | <a·class="reference·internal"·href="../orm/relationship_api.html#sqlalchemy.orm.relationship"·title="sqlalchemy.orm.relationship"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">relationship()</span></code></a>·etc.·to·provide·for·the·Python·dataclasses | 3863 | <a·class="reference·internal"·href="../orm/relationship_api.html#sqlalchemy.orm.relationship"·title="sqlalchemy.orm.relationship"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">relationship()</span></code></a>·etc.·to·provide·for·the·Python·dataclasses |
3864 | <code·class="docutils·literal·notranslate"><span·class="pre">compare</span></code>·parameter·on·<code·class="docutils·literal·notranslate"><span·class="pre">field()</span></code>,·when·using·the | 3864 | <code·class="docutils·literal·notranslate"><span·class="pre">compare</span></code>·parameter·on·<code·class="docutils·literal·notranslate"><span·class="pre">field()</span></code>,·when·using·the |
3865 | <a·class="reference·internal"·href="../orm/dataclasses.html#orm-declarative-native-dataclasses"><span·class="std·std-ref">Declarative·Dataclass·Mapping</span></a>·feature.·Pull·request·courtesy | 3865 | <a·class="reference·internal"·href="../orm/dataclasses.html#orm-declarative-native-dataclasses"><span·class="std·std-ref">Declarative·Dataclass·Mapping</span></a>·feature.·Pull·request·courtesy |
3866 | Simon·Schiele.</p> | 3866 | Simon·Schiele.</p> |
3867 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/8905">#8905</a></p> | 3867 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/8905">#8905</a></p> |
3868 | </p> | 3868 | </p> |
3869 | </li> | 3869 | </li> |
3870 | <li><p·class="caption"·id="change-2.0.0b4-3"><span·class="target"·id="change-07f17a72e4306f956d2c45a0a711d34c"><strong>[orm]·[performance]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-07f17a72e4306f956d2c45a0a711d34c">¶</a></span><p>Additional·performance·enhancements·within·ORM-enabled·SQL·statements, | ||
3871 | specifically·targeting·callcounts·within·the·construction·of·ORM | ||
3872 | statements,·using·combinations·of·<a·class="reference·internal"·href="../orm/queryguide/api.html#sqlalchemy.orm.aliased"·title="sqlalchemy.orm.aliased"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">aliased()</span></code></a>·with | ||
3873 | <a·class="reference·internal"·href="../core/selectable.html#sqlalchemy.sql.expression.union"·title="sqlalchemy.sql.expression.union"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">union()</span></code></a>·and·similar·“compound”·constructs,·in·addition·to·direct | ||
3874 | performance·improvements·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">corresponding_column()</span></code>·internal·method | ||
3875 | that·is·used·heavily·by·the·ORM·by·constructs·like·<a·class="reference·internal"·href="../orm/queryguide/api.html#sqlalchemy.orm.aliased"·title="sqlalchemy.orm.aliased"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">aliased()</span></code></a>·and | ||
3876 | similar.</p> | ||
3877 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/8796">#8796</a></p> | ||
3878 | </p> | ||
3879 | </li> | ||
3880 | <li><p·class="caption"·id="change-2.0.0b4- | 3870 | <li><p·class="caption"·id="change-2.0.0b4-3"><span·class="target"·id="change-36bb3ef310ce109a6974abb1f01249b5"><strong>[orm]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-36bb3ef310ce109a6974abb1f01249b5">¶</a></span><p>Fixed·issue·where·use·of·an·unknown·datatype·within·a·<a·class="reference·internal"·href="../orm/internals.html#sqlalchemy.orm.Mapped"·title="sqlalchemy.orm.Mapped"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Mapped</span></code></a> |
3881 | annotation·for·a·column-based·attribute·would·silently·fail·to·map·the | 3871 | annotation·for·a·column-based·attribute·would·silently·fail·to·map·the |
3882 | attribute,·rather·than·reporting·an·exception;·an·informative·exception | 3872 | attribute,·rather·than·reporting·an·exception;·an·informative·exception |
3883 | message·is·now·raised.</p> | 3873 | message·is·now·raised.</p> |
3884 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/8888">#8888</a></p> | 3874 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/8888">#8888</a></p> |
3885 | </p> | 3875 | </p> |
3886 | </li> | 3876 | </li> |
3887 | <li><p·class="caption"·id="change-2.0.0b4- | 3877 | <li><p·class="caption"·id="change-2.0.0b4-4"><span·class="target"·id="change-8f97eef21ad80d54b13f789e3be204fc"><strong>[orm]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-8f97eef21ad80d54b13f789e3be204fc">¶</a></span><p>Fixed·a·suite·of·issues·involving·<a·class="reference·internal"·href="../orm/internals.html#sqlalchemy.orm.Mapped"·title="sqlalchemy.orm.Mapped"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Mapped</span></code></a>·use·with·dictionary |
3888 | types,·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">Mapped[Dict[str,</span>·<span·class="pre">str]</span>·<span·class="pre">|</span>·<span·class="pre">None]</span></code>,·would·not·be·correctly | 3878 | types,·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">Mapped[Dict[str,</span>·<span·class="pre">str]</span>·<span·class="pre">|</span>·<span·class="pre">None]</span></code>,·would·not·be·correctly |
3889 | interpreted·in·Declarative·ORM·mappings.·Support·to·correctly | 3879 | interpreted·in·Declarative·ORM·mappings.·Support·to·correctly |
3890 | “de-optionalize”·this·type·including·for·lookup·in·<code·class="docutils·literal·notranslate"><span·class="pre">type_annotation_map</span></code> | 3880 | “de-optionalize”·this·type·including·for·lookup·in·<code·class="docutils·literal·notranslate"><span·class="pre">type_annotation_map</span></code> |
3891 | has·been·fixed.</p> | 3881 | has·been·fixed.</p> |
3892 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/8777">#8777</a></p> | 3882 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/8777">#8777</a></p> |
3893 | </p> | 3883 | </p> |
3894 | </li> | 3884 | </li> |
3885 | <li><p·class="caption"·id="change-2.0.0b4-5"><span·class="target"·id="change-07f17a72e4306f956d2c45a0a711d34c"><strong>[orm]·[bug]·[performance]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-07f17a72e4306f956d2c45a0a711d34c">¶</a></span><p>Additional·performance·enhancements·within·ORM-enabled·SQL·statements, | ||
3886 | specifically·targeting·callcounts·within·the·construction·of·ORM | ||
3887 | statements,·using·combinations·of·<a·class="reference·internal"·href="../orm/queryguide/api.html#sqlalchemy.orm.aliased"·title="sqlalchemy.orm.aliased"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">aliased()</span></code></a>·with | ||
3888 | <a·class="reference·internal"·href="../core/selectable.html#sqlalchemy.sql.expression.union"·title="sqlalchemy.sql.expression.union"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">union()</span></code></a>·and·similar·“compound”·constructs,·in·addition·to·direct | ||
3889 | performance·improvements·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">corresponding_column()</span></code>·internal·method | ||
3890 | that·is·used·heavily·by·the·ORM·by·constructs·like·<a·class="reference·internal"·href="../orm/queryguide/api.html#sqlalchemy.orm.aliased"·title="sqlalchemy.orm.aliased"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">aliased()</span></code></a>·and | ||
3891 | similar.</p> | ||
3892 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/8796">#8796</a></p> | ||
3893 | </p> | ||
3894 | </li> | ||
3895 | <li><p·class="caption"·id="change-2.0.0b4-6"><span·class="target"·id="change-e02cade6952e8afe79edf480a3932a25"><strong>[orm]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-e02cade6952e8afe79edf480a3932a25">¶</a></span><p>Fixed·bug·in·<a·class="reference·internal"·href="../orm/dataclasses.html#orm-declarative-native-dataclasses"><span·class="std·std-ref">Declarative·Dataclass·Mapping</span></a>·feature·where·using | 3895 | <li><p·class="caption"·id="change-2.0.0b4-6"><span·class="target"·id="change-e02cade6952e8afe79edf480a3932a25"><strong>[orm]·[bug]</strong>·<a·class="changelog-reference·headerlink·reference·internal"·href="#change-e02cade6952e8afe79edf480a3932a25">¶</a></span><p>Fixed·bug·in·<a·class="reference·internal"·href="../orm/dataclasses.html#orm-declarative-native-dataclasses"><span·class="std·std-ref">Declarative·Dataclass·Mapping</span></a>·feature·where·using |
3896 | plain·dataclass·fields·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">__allow_unmapped__</span></code>·directive·in·a | 3896 | plain·dataclass·fields·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">__allow_unmapped__</span></code>·directive·in·a |
3897 | mapping·would·not·create·a·dataclass·with·the·correct·class-level·state·for | 3897 | mapping·would·not·create·a·dataclass·with·the·correct·class-level·state·for |
3898 | those·fields,·copying·the·raw·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·object·to·the·class·inappropriately | 3898 | those·fields,·copying·the·raw·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·object·to·the·class·inappropriately |
3899 | after·dataclasses·itself·had·replaced·the·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·object·with·the | 3899 | after·dataclasses·itself·had·replaced·the·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·object·with·the |
3900 | class-level·default·value.</p> | 3900 | class-level·default·value.</p> |
3901 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/8880">#8880</a></p> | 3901 | <p>References:·<a·class="reference·external"·href="https://www.sqlalchemy.org/trac/ticket/8880">#8880</a></p> |
Offset 2580, 33 lines modified | Offset 2580, 33 lines modified | ||
2580 | References:·_\x8#_\x88_\x88_\x85_\x89 | 2580 | References:·_\x8#_\x88_\x88_\x85_\x89 |
2581 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[u\x8us\x8se\x8ec\x8ca\x8as\x8se\x8e]\x8]·_\x8¶ | 2581 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[u\x8us\x8se\x8ec\x8ca\x8as\x8se\x8e]\x8]·_\x8¶ |
2582 | Added·_\x8m_\x8a_\x8p_\x8p_\x8e_\x8d_\x8__\x8c_\x8o_\x8l_\x8u_\x8m_\x8n_\x8._\x8c_\x8o_\x8m_\x8p_\x8a_\x8r_\x8e·parameter·to·relevant·ORM·attribute·constructs | 2582 | Added·_\x8m_\x8a_\x8p_\x8p_\x8e_\x8d_\x8__\x8c_\x8o_\x8l_\x8u_\x8m_\x8n_\x8._\x8c_\x8o_\x8m_\x8p_\x8a_\x8r_\x8e·parameter·to·relevant·ORM·attribute·constructs |
2583 | including·_\x8m_\x8a_\x8p_\x8p_\x8e_\x8d_\x8__\x8c_\x8o_\x8l_\x8u_\x8m_\x8n_\x8(_\x8),·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8(_\x8)·etc.·to·provide·for·the·Python | 2583 | including·_\x8m_\x8a_\x8p_\x8p_\x8e_\x8d_\x8__\x8c_\x8o_\x8l_\x8u_\x8m_\x8n_\x8(_\x8),·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8(_\x8)·etc.·to·provide·for·the·Python |
2584 | dataclasses·compare·parameter·on·field(),·when·using·the·_\x8D_\x8e_\x8c_\x8l_\x8a_\x8r_\x8a_\x8t_\x8i_\x8v_\x8e_\x8·_\x8D_\x8a_\x8t_\x8a_\x8c_\x8l_\x8a_\x8s_\x8s | 2584 | dataclasses·compare·parameter·on·field(),·when·using·the·_\x8D_\x8e_\x8c_\x8l_\x8a_\x8r_\x8a_\x8t_\x8i_\x8v_\x8e_\x8·_\x8D_\x8a_\x8t_\x8a_\x8c_\x8l_\x8a_\x8s_\x8s |
2585 | _\x8M_\x8a_\x8p_\x8p_\x8i_\x8n_\x8g·feature.·Pull·request·courtesy·Simon·Schiele. | 2585 | _\x8M_\x8a_\x8p_\x8p_\x8i_\x8n_\x8g·feature.·Pull·request·courtesy·Simon·Schiele. |
2586 | References:·_\x8#_\x88_\x89_\x80_\x85 | 2586 | References:·_\x8#_\x88_\x89_\x80_\x85 |
2587 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[p\x8pe\x8er\x8rf\x8fo\x8or\x8rm\x8ma\x8an\x8nc\x8ce\x8e]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ | ||
2588 | Additional·performance·enhancements·within·ORM-enabled·SQL·statements, | ||
2589 | specifically·targeting·callcounts·within·the·construction·of·ORM·statements, | ||
2590 | using·combinations·of·_\x8a_\x8l_\x8i_\x8a_\x8s_\x8e_\x8d_\x8(_\x8)·with·_\x8u_\x8n_\x8i_\x8o_\x8n_\x8(_\x8)·and·similar·“compound”·constructs, | ||
2591 | in·addition·to·direct·performance·improvements·to·the·corresponding_column() | ||
2592 | internal·method·that·is·used·heavily·by·the·ORM·by·constructs·like·_\x8a_\x8l_\x8i_\x8a_\x8s_\x8e_\x8d_\x8(_\x8) | ||
2593 | and·similar. | ||
2594 | References:·_\x8#_\x88_\x87_\x89_\x86 | ||
2595 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ | 2587 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ |
2596 | Fixed·issue·where·use·of·an·unknown·datatype·within·a·_\x8M_\x8a_\x8p_\x8p_\x8e_\x8d·annotation·for·a | 2588 | Fixed·issue·where·use·of·an·unknown·datatype·within·a·_\x8M_\x8a_\x8p_\x8p_\x8e_\x8d·annotation·for·a |
2597 | column-based·attribute·would·silently·fail·to·map·the·attribute,·rather·than | 2589 | column-based·attribute·would·silently·fail·to·map·the·attribute,·rather·than |
2598 | reporting·an·exception;·an·informative·exception·message·is·now·raised. | 2590 | reporting·an·exception;·an·informative·exception·message·is·now·raised. |
2599 | References:·_\x8#_\x88_\x88_\x88_\x88 | 2591 | References:·_\x8#_\x88_\x88_\x88_\x88 |
2600 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ | 2592 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ |
2601 | Fixed·a·suite·of·issues·involving·_\x8M_\x8a_\x8p_\x8p_\x8e_\x8d·use·with·dictionary·types,·such·as | 2593 | Fixed·a·suite·of·issues·involving·_\x8M_\x8a_\x8p_\x8p_\x8e_\x8d·use·with·dictionary·types,·such·as |
2602 | Mapped[Dict[str,·str]·|·None],·would·not·be·correctly·interpreted·in | 2594 | Mapped[Dict[str,·str]·|·None],·would·not·be·correctly·interpreted·in |
2603 | Declarative·ORM·mappings.·Support·to·correctly·“de-optionalize”·this·type | 2595 | Declarative·ORM·mappings.·Support·to·correctly·“de-optionalize”·this·type |
2604 | including·for·lookup·in·type_annotation_map·has·been·fixed. | 2596 | including·for·lookup·in·type_annotation_map·has·been·fixed. |
2605 | References:·_\x8#_\x88_\x87_\x87_\x87 | 2597 | References:·_\x8#_\x88_\x87_\x87_\x87 |
2598 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·[\x8[p\x8pe\x8er\x8rf\x8fo\x8or\x8rm\x8ma\x8an\x8nc\x8ce\x8e]\x8]·_\x8¶ | ||
2599 | Additional·performance·enhancements·within·ORM-enabled·SQL·statements, | ||
2600 | specifically·targeting·callcounts·within·the·construction·of·ORM·statements, | ||
2601 | using·combinations·of·_\x8a_\x8l_\x8i_\x8a_\x8s_\x8e_\x8d_\x8(_\x8)·with·_\x8u_\x8n_\x8i_\x8o_\x8n_\x8(_\x8)·and·similar·“compound”·constructs, | ||
2602 | in·addition·to·direct·performance·improvements·to·the·corresponding_column() | ||
2603 | internal·method·that·is·used·heavily·by·the·ORM·by·constructs·like·_\x8a_\x8l_\x8i_\x8a_\x8s_\x8e_\x8d_\x8(_\x8) | ||
2604 | and·similar. | ||
2605 | References:·_\x8#_\x88_\x87_\x89_\x86 | ||
2606 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ | 2606 | [\x8[o\x8or\x8rm\x8m]\x8]·[\x8[b\x8bu\x8ug\x8g]\x8]·_\x8¶ |
2607 | Fixed·bug·in·_\x8D_\x8e_\x8c_\x8l_\x8a_\x8r_\x8a_\x8t_\x8i_\x8v_\x8e_\x8·_\x8D_\x8a_\x8t_\x8a_\x8c_\x8l_\x8a_\x8s_\x8s_\x8·_\x8M_\x8a_\x8p_\x8p_\x8i_\x8n_\x8g·feature·where·using·plain·dataclass | 2607 | Fixed·bug·in·_\x8D_\x8e_\x8c_\x8l_\x8a_\x8r_\x8a_\x8t_\x8i_\x8v_\x8e_\x8·_\x8D_\x8a_\x8t_\x8a_\x8c_\x8l_\x8a_\x8s_\x8s_\x8·_\x8M_\x8a_\x8p_\x8p_\x8i_\x8n_\x8g·feature·where·using·plain·dataclass |
2608 | fields·with·the·__allow_unmapped__·directive·in·a·mapping·would·not·create·a | 2608 | fields·with·the·__allow_unmapped__·directive·in·a·mapping·would·not·create·a |
2609 | dataclass·with·the·correct·class-level·state·for·those·fields,·copying·the·raw | 2609 | dataclass·with·the·correct·class-level·state·for·those·fields,·copying·the·raw |
2610 | Field·object·to·the·class·inappropriately·after·dataclasses·itself·had·replaced | 2610 | Field·object·to·the·class·inappropriately·after·dataclasses·itself·had·replaced |
2611 | the·Field·object·with·the·class-level·default·value. | 2611 | the·Field·object·with·the·class-level·default·value. |
2612 | References:·_\x8#_\x88_\x88_\x88_\x80 | 2612 | References:·_\x8#_\x88_\x88_\x88_\x80 |
Offset 303, 40 lines modified | Offset 303, 40 lines modified | ||
303 | where·an·intermediary·class·mediates·the·relationship·between·two | 303 | where·an·intermediary·class·mediates·the·relationship·between·two |
304 | classes·that·are·associated·in·a·many-to-many·pattern.</p> | 304 | classes·that·are·associated·in·a·many-to-many·pattern.</p> |
305 | <p>Listing·of·files:<ul·class="simple"> | 305 | <p>Listing·of·files:<ul·class="simple"> |
306 | <li><p><p><a·class="reference·external"·href="../_modules/examples/association/basic_association.html">basic_association.py</a>·-·Illustrate·a·many-to-many·relationship·between·an | 306 | <li><p><p><a·class="reference·external"·href="../_modules/examples/association/basic_association.html">basic_association.py</a>·-·Illustrate·a·many-to-many·relationship·between·an |
307 | “Order”·and·a·collection·of·“Item”·objects,·associating·a·purchase·price | 307 | “Order”·and·a·collection·of·“Item”·objects,·associating·a·purchase·price |
308 | with·each·via·an·association·object·called·“OrderItem”</p> | 308 | with·each·via·an·association·object·called·“OrderItem”</p> |
309 | </p></li> | 309 | </p></li> |
310 | <li><p><p><a·class="reference·external"·href="../_modules/examples/association/proxied_association.html">proxied_association.py</a>·-·Same·example·as·basic_association,·adding·in | ||
311 | usage·of·<a·class="reference·internal"·href="extensions/associationproxy.html#module-sqlalchemy.ext.associationproxy"·title="sqlalchemy.ext.associationproxy"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">sqlalchemy.ext.associationproxy</span></code></a>·to·make·explicit·references | ||
312 | to·<code·class="docutils·literal·notranslate"><span·class="pre">OrderItem</span></code>·optional.</p> | ||
313 | </p></li> | ||
310 | <li><p><p><a·class="reference·external"·href="../_modules/examples/association/dict_of_sets_with_default.html">dict_of_sets_with_default.py</a>·-·An·advanced·association·proxy·example·which | 314 | <li><p><p><a·class="reference·external"·href="../_modules/examples/association/dict_of_sets_with_default.html">dict_of_sets_with_default.py</a>·-·An·advanced·association·proxy·example·which |
311 | illustrates·nesting·of·association·proxies·to·produce·multi-level·Python | 315 | illustrates·nesting·of·association·proxies·to·produce·multi-level·Python |
312 | collections,·in·this·case·a·dictionary·with·string·keys·and·sets·of·integers | 316 | collections,·in·this·case·a·dictionary·with·string·keys·and·sets·of·integers |
313 | as·values,·which·conceal·the·underlying·mapped·classes.</p> | 317 | as·values,·which·conceal·the·underlying·mapped·classes.</p> |
314 | </p></li> | 318 | </p></li> |
315 | <li><p><p><a·class="reference·external"·href="../_modules/examples/association/proxied_association.html">proxied_association.py</a>·-·Same·example·as·basic_association,·adding·in | ||
316 | usage·of·<a·class="reference·internal"·href="extensions/associationproxy.html#module-sqlalchemy.ext.associationproxy"·title="sqlalchemy.ext.associationproxy"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">sqlalchemy.ext.associationproxy</span></code></a>·to·make·explicit·references | ||
317 | to·<code·class="docutils·literal·notranslate"><span·class="pre">OrderItem</span></code>·optional.</p> | ||
318 | </p></li> | ||
319 | </ul> | 319 | </ul> |
320 | </p> | 320 | </p> |
321 | </section> | 321 | </section> |
322 | <section·id="module-examples.asyncio"> | 322 | <section·id="module-examples.asyncio"> |
323 | <span·id="asyncio-integration"></span><span·id="examples-asyncio"></span><h3>Asyncio·Integration<a·class="headerlink"·href="#module-examples.asyncio"·title="Link·to·this·heading">¶</a></h3> | 323 | <span·id="asyncio-integration"></span><span·id="examples-asyncio"></span><h3>Asyncio·Integration<a·class="headerlink"·href="#module-examples.asyncio"·title="Link·to·this·heading">¶</a></h3> |
324 | <p>Examples·illustrating·the·asyncio·engine·feature·of·SQLAlchemy.</p> | 324 | <p>Examples·illustrating·the·asyncio·engine·feature·of·SQLAlchemy.</p> |
325 | <p>Listing·of·files:<ul·class="simple"> | 325 | <p>Listing·of·files:<ul·class="simple"> |
326 | <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/async_orm.html">async_orm.py</a>·-·Illustrates·use·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">sqlalchemy.ext.asyncio.AsyncSession</span></code>·object | ||
327 | f | 326 | <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/async_orm_writeonly.html">async_orm_writeonly.py</a>·-·Illustrates·using·<strong>write·only·relationships</strong>·for·simpler·handling |
327 | of·ORM·collections·under·asyncio.</p> | ||
328 | </p></li> | 328 | </p></li> |
329 | <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/greenlet_orm.html">greenlet_orm.py</a>·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession·object | 329 | <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/greenlet_orm.html">greenlet_orm.py</a>·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession·object |
330 | for·asynchronous·ORM·use,·including·the·optional·run_sync()·method.</p> | 330 | for·asynchronous·ORM·use,·including·the·optional·run_sync()·method.</p> |
331 | </p></li> | 331 | </p></li> |
332 | <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/basic.html">basic.py</a>·-·Illustrates·the·asyncio·engine·/·connection·interface.</p> | 332 | <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/basic.html">basic.py</a>·-·Illustrates·the·asyncio·engine·/·connection·interface.</p> |
333 | </p></li> | 333 | </p></li> |
334 | <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/async_orm_writeonly.html">async_orm_writeonly.py</a>·-·Illustrates·using·<strong>write·only·relationships</strong>·for·simpler·handling | ||
335 | 334 | <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/async_orm.html">async_orm.py</a>·-·Illustrates·use·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">sqlalchemy.ext.asyncio.AsyncSession</span></code>·object | |
335 | for·asynchronous·ORM·use.</p> | ||
336 | </p></li> | 336 | </p></li> |
337 | <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/gather_orm_statements.html">gather_orm_statements.py</a>·-·Illustrates·how·to·run·many·statements·concurrently·using·<code·class="docutils·literal·notranslate"><span·class="pre">asyncio.gather()</span></code> | 337 | <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/gather_orm_statements.html">gather_orm_statements.py</a>·-·Illustrates·how·to·run·many·statements·concurrently·using·<code·class="docutils·literal·notranslate"><span·class="pre">asyncio.gather()</span></code> |
338 | along·many·asyncio·database·connections,·merging·ORM·results·into·a·single | 338 | along·many·asyncio·database·connections,·merging·ORM·results·into·a·single |
339 | <code·class="docutils·literal·notranslate"><span·class="pre">AsyncSession</span></code>.</p> | 339 | <code·class="docutils·literal·notranslate"><span·class="pre">AsyncSession</span></code>.</p> |
340 | </p></li> | 340 | </p></li> |
341 | </ul> | 341 | </ul> |
342 | </p> | 342 | </p> |
Offset 99, 31 lines modified | Offset 99, 31 lines modified | ||
99 | Examples·illustrating·the·usage·of·the·“association·object”·pattern,·where·an | 99 | Examples·illustrating·the·usage·of·the·“association·object”·pattern,·where·an |
100 | intermediary·class·mediates·the·relationship·between·two·classes·that·are | 100 | intermediary·class·mediates·the·relationship·between·two·classes·that·are |
101 | associated·in·a·many-to-many·pattern. | 101 | associated·in·a·many-to-many·pattern. |
102 | Listing·of·files: | 102 | Listing·of·files: |
103 | ····*·_\x8b_\x8a_\x8s_\x8i_\x8c_\x8__\x8a_\x8s_\x8s_\x8o_\x8c_\x8i_\x8a_\x8t_\x8i_\x8o_\x8n_\x8._\x8p_\x8y·-·Illustrate·a·many-to-many·relationship·between·an | 103 | ····*·_\x8b_\x8a_\x8s_\x8i_\x8c_\x8__\x8a_\x8s_\x8s_\x8o_\x8c_\x8i_\x8a_\x8t_\x8i_\x8o_\x8n_\x8._\x8p_\x8y·-·Illustrate·a·many-to-many·relationship·between·an |
104 | ······“Order”·and·a·collection·of·“Item”·objects,·associating·a·purchase·price | 104 | ······“Order”·and·a·collection·of·“Item”·objects,·associating·a·purchase·price |
105 | ······with·each·via·an·association·object·called·“OrderItem” | 105 | ······with·each·via·an·association·object·called·“OrderItem” |
106 | _\x8p_\x8r_\x8o_\x8x_\x8i_\x8e_\x8d_\x8__\x8a_\x8s_\x8s_\x8o_\x8c_\x8i_\x8a_\x8t_\x8i_\x8o_\x8n_\x8._\x8p_\x8y·-·Same·example·as·basic_association,·adding·in·usage·of | ||
107 | _\x8s_\x8q_\x8l_\x8a_\x8l_\x8c_\x8h_\x8e_\x8m_\x8y_\x8._\x8e_\x8x_\x8t_\x8._\x8a_\x8s_\x8s_\x8o_\x8c_\x8i_\x8a_\x8t_\x8i_\x8o_\x8n_\x8p_\x8r_\x8o_\x8x_\x8y·to·make·explicit·references·to·OrderItem | ||
108 | optional. | ||
106 | _\x8d_\x8i_\x8c_\x8t_\x8__\x8o_\x8f_\x8__\x8s_\x8e_\x8t_\x8s_\x8__\x8w_\x8i_\x8t_\x8h_\x8__\x8d_\x8e_\x8f_\x8a_\x8u_\x8l_\x8t_\x8._\x8p_\x8y·-·An·advanced·association·proxy·example·which | 109 | _\x8d_\x8i_\x8c_\x8t_\x8__\x8o_\x8f_\x8__\x8s_\x8e_\x8t_\x8s_\x8__\x8w_\x8i_\x8t_\x8h_\x8__\x8d_\x8e_\x8f_\x8a_\x8u_\x8l_\x8t_\x8._\x8p_\x8y·-·An·advanced·association·proxy·example·which |
107 | illustrates·nesting·of·association·proxies·to·produce·multi-level·Python | 110 | illustrates·nesting·of·association·proxies·to·produce·multi-level·Python |
108 | collections,·in·this·case·a·dictionary·with·string·keys·and·sets·of·integers·as | 111 | collections,·in·this·case·a·dictionary·with·string·keys·and·sets·of·integers·as |
109 | values,·which·conceal·the·underlying·mapped·classes. | 112 | values,·which·conceal·the·underlying·mapped·classes. |
110 | _\x8p_\x8r_\x8o_\x8x_\x8i_\x8e_\x8d_\x8__\x8a_\x8s_\x8s_\x8o_\x8c_\x8i_\x8a_\x8t_\x8i_\x8o_\x8n_\x8._\x8p_\x8y·-·Same·example·as·basic_association,·adding·in·usage·of | ||
111 | _\x8s_\x8q_\x8l_\x8a_\x8l_\x8c_\x8h_\x8e_\x8m_\x8y_\x8._\x8e_\x8x_\x8t_\x8._\x8a_\x8s_\x8s_\x8o_\x8c_\x8i_\x8a_\x8t_\x8i_\x8o_\x8n_\x8p_\x8r_\x8o_\x8x_\x8y·to·make·explicit·references·to·OrderItem | ||
112 | optional. | ||
113 | *\x8**\x8**\x8**\x8*·A\x8As\x8sy\x8yn\x8nc\x8ci\x8io\x8o·I\x8In\x8nt\x8te\x8eg\x8gr\x8ra\x8at\x8ti\x8io\x8on\x8n_\x8?\x8¶·*\x8**\x8**\x8**\x8* | 113 | *\x8**\x8**\x8**\x8*·A\x8As\x8sy\x8yn\x8nc\x8ci\x8io\x8o·I\x8In\x8nt\x8te\x8eg\x8gr\x8ra\x8at\x8ti\x8io\x8on\x8n_\x8?\x8¶·*\x8**\x8**\x8**\x8* |
114 | Examples·illustrating·the·asyncio·engine·feature·of·SQLAlchemy. | 114 | Examples·illustrating·the·asyncio·engine·feature·of·SQLAlchemy. |
115 | Listing·of·files: | 115 | Listing·of·files: |
116 | ····*·_\x8a_\x8s_\x8y_\x8n_\x8c_\x8__\x8o_\x8r_\x8m_\x8._\x8p_\x8y·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession | ||
117 | ····· | 116 | ····*·_.a_.s_.y_.n_.c_.__.o_.r_.m_.__.w_.r_.i_.t_.e_.o_.n_.l_.y_.._.p_.y·-·Illustrates·using·w.wr.ri.it.te.e·o.on.nl.ly.y·r.re.el.la.at.ti.io.on.ns.sh.hi.ip.ps.s·for |
117 | ······simpler·handling·of·ORM·collections·under·asyncio. | ||
118 | _\x8g_\x8r_\x8e_\x8e_\x8n_\x8l_\x8e_\x8t_\x8__\x8o_\x8r_\x8m_\x8._\x8p_\x8y·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession | 118 | _\x8g_\x8r_\x8e_\x8e_\x8n_\x8l_\x8e_\x8t_\x8__\x8o_\x8r_\x8m_\x8._\x8p_\x8y·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession |
119 | object·for·asynchronous·ORM·use,·including·the·optional·run_sync()·method. | 119 | object·for·asynchronous·ORM·use,·including·the·optional·run_sync()·method. |
120 | _\x8b_\x8a_\x8s_\x8i_\x8c_\x8._\x8p_\x8y·-·Illustrates·the·asyncio·engine·/·connection·interface. | 120 | _\x8b_\x8a_\x8s_\x8i_\x8c_\x8._\x8p_\x8y·-·Illustrates·the·asyncio·engine·/·connection·interface. |
121 | _\x8a_\x8s_\x8y_\x8n_\x8c_\x8__\x8o_\x8r_\x8m_\x8__\x8w_\x8r_\x8i_\x8t_\x8e_\x8o_\x8n_\x8l_\x8y_\x8._\x8p_\x8y·-·Illustrates·using·w\x8wr\x8ri\x8it\x8te\x8e·o\x8on\x8nl\x8ly\x8y·r\x8re\x8el\x8la\x8at\x8ti\x8io\x8on\x8ns\x8sh\x8hi\x8ip\x8ps\x8s·for·simpler | ||
122 | 121 | _.a_.s_.y_.n_.c_.__.o_.r_.m_.._.p_.y·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession | |
122 | object·for·asynchronous·ORM·use. | ||
123 | _\x8g_\x8a_\x8t_\x8h_\x8e_\x8r_\x8__\x8o_\x8r_\x8m_\x8__\x8s_\x8t_\x8a_\x8t_\x8e_\x8m_\x8e_\x8n_\x8t_\x8s_\x8._\x8p_\x8y·-·Illustrates·how·to·run·many·statements·concurrently | 123 | _\x8g_\x8a_\x8t_\x8h_\x8e_\x8r_\x8__\x8o_\x8r_\x8m_\x8__\x8s_\x8t_\x8a_\x8t_\x8e_\x8m_\x8e_\x8n_\x8t_\x8s_\x8._\x8p_\x8y·-·Illustrates·how·to·run·many·statements·concurrently |
124 | using·asyncio.gather()·along·many·asyncio·database·connections,·merging·ORM | 124 | using·asyncio.gather()·along·many·asyncio·database·connections,·merging·ORM |
125 | results·into·a·single·AsyncSession. | 125 | results·into·a·single·AsyncSession. |
126 | *\x8**\x8**\x8**\x8*·D\x8Di\x8ir\x8re\x8ec\x8ct\x8te\x8ed\x8d·G\x8Gr\x8ra\x8ap\x8ph\x8hs\x8s_\x8?\x8¶·*\x8**\x8**\x8**\x8* | 126 | *\x8**\x8**\x8**\x8*·D\x8Di\x8ir\x8re\x8ec\x8ct\x8te\x8ed\x8d·G\x8Gr\x8ra\x8ap\x8ph\x8hs\x8s_\x8?\x8¶·*\x8**\x8**\x8**\x8* |
127 | An·example·of·persistence·for·a·directed·graph·structure.·The·graph·is·stored | 127 | An·example·of·persistence·for·a·directed·graph·structure.·The·graph·is·stored |
128 | as·a·collection·of·edges,·each·referencing·both·a·“lower”·and·an·“upper”·node | 128 | as·a·collection·of·edges,·each·referencing·both·a·“lower”·and·an·“upper”·node |
129 | in·a·table·of·nodes.·Basic·persistence·and·querying·for·lower-·and·upper- | 129 | in·a·table·of·nodes.·Basic·persistence·and·querying·for·lower-·and·upper- |
Offset 7084, 17 lines modified | Offset 7084, 17 lines modified | ||
7084 | ········"4138":·12, | 7084 | ········"4138":·12, |
7085 | ········"5265":·12, | 7085 | ········"5265":·12, |
7086 | ········"5266":·12, | 7086 | ········"5266":·12, |
7087 | ········"td":·[12,·64], | 7087 | ········"td":·[12,·64], |
7088 | ········"protocol":·[12,·18,·50,·53,·57,·61,·66,·67,·80,·91,·103,·134,·136], | 7088 | ········"protocol":·[12,·18,·50,·53,·57,·61,·66,·67,·80,·91,·103,·134,·136], |
7089 | ········"5255":·12, | 7089 | ········"5255":·12, |
7090 | ········"5271":·12, | 7090 | ········"5271":·12, |
7091 | ········"5314":·12, | ||
7092 | ········"outputtyp":·12, | 7091 | ········"outputtyp":·12, |
7093 | ········"5246":·12, | 7092 | ········"5246":·12, |
7093 | ········"5314":·12, | ||
7094 | ········"5278":·12, | 7094 | ········"5278":·12, |
7095 | ········"planner":·[12,·24], | 7095 | ········"planner":·[12,·24], |
7096 | ········"5162":·12, | 7096 | ········"5162":·12, |
7097 | ········"slot":·[12,·53,·58,·87,·92], | 7097 | ········"slot":·[12,·53,·58,·87,·92], |
7098 | ········"5228":·12, | 7098 | ········"5228":·12, |
7099 | ········"5210":·12, | 7099 | ········"5210":·12, |
7100 | ········"eval":·[12,·75,·84,·125,·156], | 7100 | ········"eval":·[12,·75,·84,·125,·156], |