45.0 KB
/srv/reproducible-results/rbuild-debian/r-b-build.gbetFRmM/b1/sqlalchemy_1.4.50+ds1-1_armhf.changes vs.
/srv/reproducible-results/rbuild-debian/r-b-build.gbetFRmM/b2/sqlalchemy_1.4.50+ds1-1_armhf.changes
537 B
Files
    
Offset 1, 5 lines modifiedOffset 1, 5 lines modified
  
1 ·e09e80a80d6b69da9ed0aeafe6bf1976·3717992·doc·optional·python-sqlalchemy-doc_1.4.50+ds1-1_all.deb1 ·be1a3789dfc58920cbfbe19d29b31a74·3718000·doc·optional·python-sqlalchemy-doc_1.4.50+ds1-1_all.deb
2 ·ab40dd0ea704e9c298d7947d4fcb503e·70868·debug·optional·python3-sqlalchemy-ext-dbgsym_1.4.50+ds1-1_armhf.deb2 ·ab40dd0ea704e9c298d7947d4fcb503e·70868·debug·optional·python3-sqlalchemy-ext-dbgsym_1.4.50+ds1-1_armhf.deb
3 ·704e2ac70aeced174d64b34c6a1696dd·18072·python·optional·python3-sqlalchemy-ext_1.4.50+ds1-1_armhf.deb3 ·704e2ac70aeced174d64b34c6a1696dd·18072·python·optional·python3-sqlalchemy-ext_1.4.50+ds1-1_armhf.deb
4 ·7b9b7746123a45060be2c12bd6e80ed4·1009400·python·optional·python3-sqlalchemy_1.4.50+ds1-1_all.deb4 ·7b9b7746123a45060be2c12bd6e80ed4·1009400·python·optional·python3-sqlalchemy_1.4.50+ds1-1_all.deb
44.3 KB
python-sqlalchemy-doc_1.4.50+ds1-1_all.deb
452 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2024-01-05·13:47:47.000000·debian-binary1 -rw-r--r--···0········0········0········4·2024-01-05·13:47:47.000000·debian-binary
2 -rw-r--r--···0········0········0····13372·2024-01-05·13:47:47.000000·control.tar.xz2 -rw-r--r--···0········0········0····13376·2024-01-05·13:47:47.000000·control.tar.xz
3 -rw-r--r--···0········0········0··3704428·2024-01-05·13:47:47.000000·data.tar.xz3 -rw-r--r--···0········0········0··3704432·2024-01-05·13:47:47.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
43.7 KB
data.tar.xz
43.6 KB
data.tar
43.6 KB
./usr/share/doc/python-sqlalchemy-doc/html/orm/examples.html
Ordering differences only
    
Offset 308, 45 lines modifiedOffset 308, 45 lines modified
308 </section>308 </section>
309 <section·id="module-examples.association">309 <section·id="module-examples.association">
310 <span·id="associations"></span><span·id="examples-associations"></span><h3>Associations<a·class="headerlink"·href="#module-examples.association"·title="Link·to·this·heading">¶</a></h3>310 <span·id="associations"></span><span·id="examples-associations"></span><h3>Associations<a·class="headerlink"·href="#module-examples.association"·title="Link·to·this·heading">¶</a></h3>
311 <p>Examples·illustrating·the·usage·of·the·“association·object”·pattern,311 <p>Examples·illustrating·the·usage·of·the·“association·object”·pattern,
312 where·an·intermediary·class·mediates·the·relationship·between·two312 where·an·intermediary·class·mediates·the·relationship·between·two
313 classes·that·are·associated·in·a·many-to-many·pattern.</p>313 classes·that·are·associated·in·a·many-to-many·pattern.</p>
314 <p>Listing·of·files:<ul·class="simple">314 <p>Listing·of·files:<ul·class="simple">
 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>
315 <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·which319 <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
316 illustrates·nesting·of·association·proxies·to·produce·multi-level·Python320 illustrates·nesting·of·association·proxies·to·produce·multi-level·Python
317 collections,·in·this·case·a·dictionary·with·string·keys·and·sets·of·integers321 collections,·in·this·case·a·dictionary·with·string·keys·and·sets·of·integers
318 as·values,·which·conceal·the·underlying·mapped·classes.</p>322 as·values,·which·conceal·the·underlying·mapped·classes.</p>
319 </p></li>323 </p></li>
320 <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·an324 <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
321 “Order”·and·a·collection·of·“Item”·objects,·associating·a·purchase·price325 “Order”·and·a·collection·of·“Item”·objects,·associating·a·purchase·price
322 with·each·via·an·association·object·called·“OrderItem”</p>326 with·each·via·an·association·object·called·“OrderItem”</p>
323 </p></li>327 </p></li>
324 <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 
325 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 
326 to·<code·class="docutils·literal·notranslate"><span·class="pre">OrderItem</span></code>·optional.</p> 
327 </p></li> 
328 </ul>328 </ul>
329 </p>329 </p>
330 </section>330 </section>
331 <section·id="module-examples.asyncio">331 <section·id="module-examples.asyncio">
332 <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>332 <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>
333 <p>Examples·illustrating·the·asyncio·engine·feature·of·SQLAlchemy.</p>333 <p>Examples·illustrating·the·asyncio·engine·feature·of·SQLAlchemy.</p>
334 <p>Listing·of·files:<ul·class="simple">334 <p>Listing·of·files:<ul·class="simple">
335 <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/basic.html">basic.py</a>·-·Illustrates·the·asyncio·engine·/·connection·interface.</p>335 <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/basic.html">basic.py</a>·-·Illustrates·the·asyncio·engine·/·connection·interface.</p>
336 </p></li>336 </p></li>
337 <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·object337 <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/async_orm.html">async_orm.py</a>·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession·object
338 for·asynchronous·ORM·use,·including·the·optional·run_sync()·method.</p>338 for·asynchronous·ORM·use.</p>
339 </p></li>339 </p></li>
340 <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>340 <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>
341 along·many·asyncio·database·connections,·merging·ORM·results·into·a·single341 along·many·asyncio·database·connections,·merging·ORM·results·into·a·single
342 <code·class="docutils·literal·notranslate"><span·class="pre">AsyncSession</span></code>.</p>342 <code·class="docutils·literal·notranslate"><span·class="pre">AsyncSession</span></code>.</p>
343 </p></li>343 </p></li>
344 <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/async_orm.html">async_orm.py</a>·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession·object344 <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
345 for·asynchronous·ORM·use.</p>345 for·asynchronous·ORM·use,·including·the·optional·run_sync()·method.</p>
346 </p></li>346 </p></li>
347 </ul>347 </ul>
348 </p>348 </p>
349 </section>349 </section>
350 <section·id="module-examples.graphs">350 <section·id="module-examples.graphs">
351 <span·id="directed-graphs"></span><h3>Directed·Graphs<a·class="headerlink"·href="#module-examples.graphs"·title="Link·to·this·heading">¶</a></h3>351 <span·id="directed-graphs"></span><h3>Directed·Graphs<a·class="headerlink"·href="#module-examples.graphs"·title="Link·to·this·heading">¶</a></h3>
352 <p>An·example·of·persistence·for·a·directed·graph·structure.···The352 <p>An·example·of·persistence·for·a·directed·graph·structure.···The
Offset 384, 14 lines modifiedOffset 384, 18 lines modified
384 subclassing·the·<code·class="docutils·literal·notranslate"><span·class="pre">HasAddresses</span></code>·mixin,·which·ensures·that·the384 subclassing·the·<code·class="docutils·literal·notranslate"><span·class="pre">HasAddresses</span></code>·mixin,·which·ensures·that·the
385 parent·class·is·provided·with·an·<code·class="docutils·literal·notranslate"><span·class="pre">addresses</span></code>·collection385 parent·class·is·provided·with·an·<code·class="docutils·literal·notranslate"><span·class="pre">addresses</span></code>·collection
386 which·contains·<code·class="docutils·literal·notranslate"><span·class="pre">Address</span></code>·objects.</p>386 which·contains·<code·class="docutils·literal·notranslate"><span·class="pre">Address</span></code>·objects.</p>
387 <p>The·<a·class="reference·external"·href="../_modules/examples/generic_associations/discriminator_on_association.html">discriminator_on_association.py</a>·and·<a·class="reference·external"·href="../_modules/examples/generic_associations/generic_fk.html">generic_fk.py</a>·scripts387 <p>The·<a·class="reference·external"·href="../_modules/examples/generic_associations/discriminator_on_association.html">discriminator_on_association.py</a>·and·<a·class="reference·external"·href="../_modules/examples/generic_associations/generic_fk.html">generic_fk.py</a>·scripts
388 are·modernized·versions·of·recipes·presented·in·the·2007·blog·post388 are·modernized·versions·of·recipes·presented·in·the·2007·blog·post
389 <a·class="reference·external"·href="https://techspot.zzzeek.org/2007/05/29/polymorphic-associations-with-sqlalchemy/">Polymorphic·Associations·with·SQLAlchemy</a>.</p>389 <a·class="reference·external"·href="https://techspot.zzzeek.org/2007/05/29/polymorphic-associations-with-sqlalchemy/">Polymorphic·Associations·with·SQLAlchemy</a>.</p>
390 <p>Listing·of·files:<ul·class="simple">390 <p>Listing·of·files:<ul·class="simple">
 391 <li><p><p><a·class="reference·external"·href="../_modules/examples/generic_associations/table_per_related.html">table_per_related.py</a>·-·Illustrates·a·generic·association·which·persists·association
 392 objects·within·individual·tables,·each·one·generated·to·persist
 393 those·objects·on·behalf·of·a·particular·parent·class.</p>
 394 </p></li>
391 <li><p><p><a·class="reference·external"·href="../_modules/examples/generic_associations/discriminator_on_association.html">discriminator_on_association.py</a>·-·Illustrates·a·mixin·which·provides·a·generic·association395 <li><p><p><a·class="reference·external"·href="../_modules/examples/generic_associations/discriminator_on_association.html">discriminator_on_association.py</a>·-·Illustrates·a·mixin·which·provides·a·generic·association
392 using·a·single·target·table·and·a·single·association·table,396 using·a·single·target·table·and·a·single·association·table,
393 referred·to·by·all·parent·tables.··The·association·table397 referred·to·by·all·parent·tables.··The·association·table
394 contains·a·“discriminator”·column·which·determines·what·type·of398 contains·a·“discriminator”·column·which·determines·what·type·of
395 parent·object·associates·to·each·particular·row·in·the·association399 parent·object·associates·to·each·particular·row·in·the·association
396 table.</p>400 table.</p>
397 </p></li>401 </p></li>
Offset 403, 18 lines modifiedOffset 407, 14 lines modified
403 <li><p><p><a·class="reference·external"·href="../_modules/examples/generic_associations/generic_fk.html">generic_fk.py</a>·-·Illustrates·a·so-called·“generic·foreign·key”,·in·a·similar·fashion407 <li><p><p><a·class="reference·external"·href="../_modules/examples/generic_associations/generic_fk.html">generic_fk.py</a>·-·Illustrates·a·so-called·“generic·foreign·key”,·in·a·similar·fashion
404 to·that·of·popular·frameworks·such·as·Django,·ROR,·etc.··This408 to·that·of·popular·frameworks·such·as·Django,·ROR,·etc.··This
405 approach·bypasses·standard·referential·integrity409 approach·bypasses·standard·referential·integrity
406 practices,·in·that·the·“foreign·key”·column·is·not·actually410 practices,·in·that·the·“foreign·key”·column·is·not·actually
407 constrained·to·refer·to·any·particular·table;·instead,411 constrained·to·refer·to·any·particular·table;·instead,
408 in-application·logic·is·used·to·determine·which·table·is·referenced.</p>412 in-application·logic·is·used·to·determine·which·table·is·referenced.</p>
409 </p></li>413 </p></li>
410 <li><p><p><a·class="reference·external"·href="../_modules/examples/generic_associations/table_per_related.html">table_per_related.py</a>·-·Illustrates·a·generic·association·which·persists·association 
411 objects·within·individual·tables,·each·one·generated·to·persist 
412 those·objects·on·behalf·of·a·particular·parent·class.</p> 
413 </p></li> 
414 </ul>414 </ul>
415 </p>415 </p>
416 </section>416 </section>
417 <section·id="module-examples.large_collection">417 <section·id="module-examples.large_collection">
418 <span·id="large-collections"></span><h3>Large·Collections<a·class="headerlink"·href="#module-examples.large_collection"·title="Link·to·this·heading">¶</a></h3>418 <span·id="large-collections"></span><h3>Large·Collections<a·class="headerlink"·href="#module-examples.large_collection"·title="Link·to·this·heading">¶</a></h3>
419 <p>Large·collection·example.</p>419 <p>Large·collection·example.</p>
420 <p>Illustrates·the·options·to·use·with420 <p>Illustrates·the·options·to·use·with
Offset 500, 33 lines modifiedOffset 500, 33 lines modified
500 <div·class="admonition·seealso">500 <div·class="admonition·seealso">
501 <p·class="admonition-title">See·also</p>501 <p·class="admonition-title">See·also</p>
502 <p><a·class="reference·internal"·href="../faq/performance.html#faq-how-to-profile"><span·class="std·std-ref">How·can·I·profile·a·SQLAlchemy·powered·application?</span></a></p>502 <p><a·class="reference·internal"·href="../faq/performance.html#faq-how-to-profile"><span·class="std·std-ref">How·can·I·profile·a·SQLAlchemy·powered·application?</span></a></p>
503 </div>503 </div>
504 <section·id="file-listing">504 <section·id="file-listing">
505 <h4>File·Listing<a·class="headerlink"·href="#file-listing"·title="Link·to·this·heading">¶</a></h4>505 <h4>File·Listing<a·class="headerlink"·href="#file-listing"·title="Link·to·this·heading">¶</a></h4>
506 <p>Listing·of·files:<ul·class="simple">506 <p>Listing·of·files:<ul·class="simple">
507 <li><p><p><a·class="reference·external"·href="../_modules/examples/performance/large_resultsets.html">large_resultsets.py</a>·-·In·this·series·of·tests,·we·are·looking·at·time·to·load·a·large·number 
508 of·very·small·and·simple·rows.</p> 
509 </p></li> 
510 <li><p><p><a·class="reference·external"·href="../_modules/examples/performance/bulk_updates.html">bulk_updates.py</a>·-·This·series·of·tests·will·illustrate·different·ways·to·UPDATE·a·large·number 
511 of·rows·in·bulk·(under·construction!·there’s·just·one·test·at·the·moment)</p> 
512 </p></li> 
513 <li><p><p><a·class="reference·external"·href="../_modules/examples/performance/short_selects.html">short_selects.py</a>·-·This·series·of·tests·illustrates·different·ways·to·SELECT·a·single 
514 record·by·primary·key</p> 
515 </p></li> 
516 <li><p><p><a·class="reference·external"·href="../_modules/examples/performance/bulk_inserts.html">bulk_inserts.py</a>·-·This·series·of·tests·illustrates·different·ways·to·INSERT·a·large·number507 <li><p><p><a·class="reference·external"·href="../_modules/examples/performance/bulk_inserts.html">bulk_inserts.py</a>·-·This·series·of·tests·illustrates·different·ways·to·INSERT·a·large·number
517 of·rows·in·bulk.</p>508 of·rows·in·bulk.</p>
518 </p></li>509 </p></li>
519 <li><p><p><a·class="reference·external"·href="../_modules/examples/performance/__main__.html">__main__.py</a>·-·Allows·the·examples/performance·package·to·be·run·as·a·script.</p>510 <li><p><p><a·class="reference·external"·href="../_modules/examples/performance/short_selects.html">short_selects.py</a>·-·This·series·of·tests·illustrates·different·ways·to·SELECT·a·single
 511 record·by·primary·key</p>
520 </p></li>512 </p></li>
521 <li><p><p><a·class="reference·external"·href="../_modules/examples/performance/single_inserts.html">single_inserts.py</a>·-·In·this·series·of·tests,·we’re·looking·at·a·method·that·inserts·a·row513 <li><p><p><a·class="reference·external"·href="../_modules/examples/performance/single_inserts.html">single_inserts.py</a>·-·In·this·series·of·tests,·we’re·looking·at·a·method·that·inserts·a·row
522 within·a·distinct·transaction,·and·afterwards·returns·to·essentially·a514 within·a·distinct·transaction,·and·afterwards·returns·to·essentially·a
523 “closed”·state.···This·would·be·analogous·to·an·API·call·that·starts·up515 “closed”·state.···This·would·be·analogous·to·an·API·call·that·starts·up
524 a·database·connection,·inserts·the·row,·commits·and·closes.</p>516 a·database·connection,·inserts·the·row,·commits·and·closes.</p>
525 </p></li>517 </p></li>
 518 <li><p><p><a·class="reference·external"·href="../_modules/examples/performance/bulk_updates.html">bulk_updates.py</a>·-·This·series·of·tests·will·illustrate·different·ways·to·UPDATE·a·large·number
 519 of·rows·in·bulk·(under·construction!·there’s·just·one·test·at·the·moment)</p>
 520 </p></li>
 521 <li><p><p><a·class="reference·external"·href="../_modules/examples/performance/large_resultsets.html">large_resultsets.py</a>·-·In·this·series·of·tests,·we·are·looking·at·time·to·load·a·large·number
 522 of·very·small·and·simple·rows.</p>
 523 </p></li>
 524 <li><p><p><a·class="reference·external"·href="../_modules/examples/performance/__main__.html">__main__.py</a>·-·Allows·the·examples/performance·package·to·be·run·as·a·script.</p>
 525 </p></li>
526 </ul>526 </ul>
527 </p>527 </p>
528 </section>528 </section>
529 <section·id="running-all-tests-with-time">529 <section·id="running-all-tests-with-time">
Max diff block lines reached; 13965/24819 bytes (56.27%) of diff not shown.
19.2 KB
html2text {}
    
Offset 105, 35 lines modifiedOffset 105, 35 lines modified
105 Listing·of·files:105 Listing·of·files:
106 ····*·_\x8a_\x8d_\x8j_\x8a_\x8c_\x8e_\x8n_\x8c_\x8y_\x8__\x8l_\x8i_\x8s_\x8t_\x8._\x8p_\x8y106 ····*·_\x8a_\x8d_\x8j_\x8a_\x8c_\x8e_\x8n_\x8c_\x8y_\x8__\x8l_\x8i_\x8s_\x8t_\x8._\x8p_\x8y
107 *\x8**\x8**\x8**\x8*·A\x8As\x8ss\x8so\x8oc\x8ci\x8ia\x8at\x8ti\x8io\x8on\x8ns\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*107 *\x8**\x8**\x8**\x8*·A\x8As\x8ss\x8so\x8oc\x8ci\x8ia\x8at\x8ti\x8io\x8on\x8ns\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*
108 Examples·illustrating·the·usage·of·the·“association·object”·pattern,·where·an108 Examples·illustrating·the·usage·of·the·“association·object”·pattern,·where·an
109 intermediary·class·mediates·the·relationship·between·two·classes·that·are109 intermediary·class·mediates·the·relationship·between·two·classes·that·are
110 associated·in·a·many-to-many·pattern.110 associated·in·a·many-to-many·pattern.
111 Listing·of·files:111 Listing·of·files:
 112 ····*·_\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
 113 ······usage·of·_\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
 114 ······OrderItem·optional.
112 ····*·_.d_.i_.c_.t_.__.o_.f_.__.s_.e_.t_.s_.__.w_.i_.t_.h_.__.d_.e_.f_.a_.u_.l_.t_.._.p_.y·-·An·advanced·association·proxy·example115 _.d_.i_.c_.t_.__.o_.f_.__.s_.e_.t_.s_.__.w_.i_.t_.h_.__.d_.e_.f_.a_.u_.l_.t_.._.p_.y·-·An·advanced·association·proxy·example·which
113 ······which·illustrates·nesting·of·association·proxies·to·produce·multi-level116 illustrates·nesting·of·association·proxies·to·produce·multi-level·Python
114 ······Python·collections,·in·this·case·a·dictionary·with·string·keys·and·sets117 collections,·in·this·case·a·dictionary·with·string·keys·and·sets·of·integers·as
115 ······of·integers·as·values,·which·conceal·the·underlying·mapped·classes.118 values,·which·conceal·the·underlying·mapped·classes.
116 _\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·an119 _\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
117 “Order”·and·a·collection·of·“Item”·objects,·associating·a·purchase·price·with120 “Order”·and·a·collection·of·“Item”·objects,·associating·a·purchase·price·with
118 each·via·an·association·object·called·“OrderItem”121 each·via·an·association·object·called·“OrderItem”
119 _\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 
120 _\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 
121 optional. 
122 *\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*122 *\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*
123 Examples·illustrating·the·asyncio·engine·feature·of·SQLAlchemy.123 Examples·illustrating·the·asyncio·engine·feature·of·SQLAlchemy.
124 Listing·of·files:124 Listing·of·files:
125 ····*·_\x8b_\x8a_\x8s_\x8i_\x8c_\x8._\x8p_\x8y·-·Illustrates·the·asyncio·engine·/·connection·interface.125 ····*·_\x8b_\x8a_\x8s_\x8i_\x8c_\x8._\x8p_\x8y·-·Illustrates·the·asyncio·engine·/·connection·interface.
126 _\x8g_.r_.e_.e_.n_.l_.e_.t_\x8__\x8o_\x8r_\x8m_\x8._\x8p_\x8y·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession126 _\x8a_.s_.y_.n_.c_\x8__\x8o_\x8r_\x8m_\x8._\x8p_\x8y·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession
127 object·for·asynchronous·ORM·use,·including·the·optional·run_sync()·method.127 object·for·asynchronous·ORM·use.
128 _\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·concurrently128 _\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
129 using·asyncio.gather()·along·many·asyncio·database·connections,·merging·ORM129 using·asyncio.gather()·along·many·asyncio·database·connections,·merging·ORM
130 results·into·a·single·AsyncSession.130 results·into·a·single·AsyncSession.
131 _\x8a_.s_.y_.n_.c_\x8__\x8o_\x8r_\x8m_\x8._\x8p_\x8y·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession131 _\x8g_.r_.e_.e_.n_.l_.e_.t_\x8__\x8o_\x8r_\x8m_\x8._\x8p_\x8y·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession
132 object·for·asynchronous·ORM·use.132 object·for·asynchronous·ORM·use,·including·the·optional·run_sync()·method.
133 *\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*133 *\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*
134 An·example·of·persistence·for·a·directed·graph·structure.·The·graph·is·stored134 An·example·of·persistence·for·a·directed·graph·structure.·The·graph·is·stored
135 as·a·collection·of·edges,·each·referencing·both·a·“lower”·and·an·“upper”·node135 as·a·collection·of·edges,·each·referencing·both·a·“lower”·and·an·“upper”·node
136 in·a·table·of·nodes.·Basic·persistence·and·querying·for·lower-·and·upper-136 in·a·table·of·nodes.·Basic·persistence·and·querying·for·lower-·and·upper-
137 neighbors·are·illustrated:137 neighbors·are·illustrated:
138 n2·=·Node(2)138 n2·=·Node(2)
139 n5·=·Node(5)139 n5·=·Node(5)
Offset 155, 31 lines modifiedOffset 155, 31 lines modified
155 Supplier,·both·subclassing·the·HasAddresses·mixin,·which·ensures·that·the155 Supplier,·both·subclassing·the·HasAddresses·mixin,·which·ensures·that·the
156 parent·class·is·provided·with·an·addresses·collection·which·contains·Address156 parent·class·is·provided·with·an·addresses·collection·which·contains·Address
157 objects.157 objects.
158 The·_\x8d_\x8i_\x8s_\x8c_\x8r_\x8i_\x8m_\x8i_\x8n_\x8a_\x8t_\x8o_\x8r_\x8__\x8o_\x8n_\x8__\x8a_\x8s_\x8s_\x8o_\x8c_\x8i_\x8a_\x8t_\x8i_\x8o_\x8n_\x8._\x8p_\x8y·and·_\x8g_\x8e_\x8n_\x8e_\x8r_\x8i_\x8c_\x8__\x8f_\x8k_\x8._\x8p_\x8y·scripts·are·modernized158 The·_\x8d_\x8i_\x8s_\x8c_\x8r_\x8i_\x8m_\x8i_\x8n_\x8a_\x8t_\x8o_\x8r_\x8__\x8o_\x8n_\x8__\x8a_\x8s_\x8s_\x8o_\x8c_\x8i_\x8a_\x8t_\x8i_\x8o_\x8n_\x8._\x8p_\x8y·and·_\x8g_\x8e_\x8n_\x8e_\x8r_\x8i_\x8c_\x8__\x8f_\x8k_\x8._\x8p_\x8y·scripts·are·modernized
159 versions·of·recipes·presented·in·the·2007·blog·post·_\x8P_\x8o_\x8l_\x8y_\x8m_\x8o_\x8r_\x8p_\x8h_\x8i_\x8c_\x8·_\x8A_\x8s_\x8s_\x8o_\x8c_\x8i_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s159 versions·of·recipes·presented·in·the·2007·blog·post·_\x8P_\x8o_\x8l_\x8y_\x8m_\x8o_\x8r_\x8p_\x8h_\x8i_\x8c_\x8·_\x8A_\x8s_\x8s_\x8o_\x8c_\x8i_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s
160 _\x8w_\x8i_\x8t_\x8h_\x8·_\x8S_\x8Q_\x8L_\x8A_\x8l_\x8c_\x8h_\x8e_\x8m_\x8y.160 _\x8w_\x8i_\x8t_\x8h_\x8·_\x8S_\x8Q_\x8L_\x8A_\x8l_\x8c_\x8h_\x8e_\x8m_\x8y.
161 Listing·of·files:161 Listing·of·files:
 162 ····*·_\x8t_\x8a_\x8b_\x8l_\x8e_\x8__\x8p_\x8e_\x8r_\x8__\x8r_\x8e_\x8l_\x8a_\x8t_\x8e_\x8d_\x8._\x8p_\x8y·-·Illustrates·a·generic·association·which·persists
 163 ······association·objects·within·individual·tables,·each·one·generated·to
 164 ······persist·those·objects·on·behalf·of·a·particular·parent·class.
162 ····*·_.d_.i_.s_.c_.r_.i_.m_.i_.n_.a_.t_.o_.r_.__.o_.n_.__.a_.s_.s_.o_.c_.i_.a_.t_.i_.o_.n_.._.p_.y·-·Illustrates·a·mixin·which·provides·a165 _.d_.i_.s_.c_.r_.i_.m_.i_.n_.a_.t_.o_.r_.__.o_.n_.__.a_.s_.s_.o_.c_.i_.a_.t_.i_.o_.n_.._.p_.y·-·Illustrates·a·mixin·which·provides·a·generic
163 ······generic·association·using·a·single·target·table·and·a·single·association166 association·using·a·single·target·table·and·a·single·association·table,
164 ······table,·referred·to·by·all·parent·tables.·The·association·table·contains·a167 referred·to·by·all·parent·tables.·The·association·table·contains·a
165 ······“discriminator”·column·which·determines·what·type·of·parent·object168 “discriminator”·column·which·determines·what·type·of·parent·object·associates
166 ······associates·to·each·particular·row·in·the·association·table.169 to·each·particular·row·in·the·association·table.
167 _\x8t_\x8a_\x8b_\x8l_\x8e_\x8__\x8p_\x8e_\x8r_\x8__\x8a_\x8s_\x8s_\x8o_\x8c_\x8i_\x8a_\x8t_\x8i_\x8o_\x8n_\x8._\x8p_\x8y·-·Illustrates·a·mixin·which·provides·a·generic170 _\x8t_\x8a_\x8b_\x8l_\x8e_\x8__\x8p_\x8e_\x8r_\x8__\x8a_\x8s_\x8s_\x8o_\x8c_\x8i_\x8a_\x8t_\x8i_\x8o_\x8n_\x8._\x8p_\x8y·-·Illustrates·a·mixin·which·provides·a·generic
168 association·via·a·individually·generated·association·tables·for·each·parent171 association·via·a·individually·generated·association·tables·for·each·parent
169 class.·The·associated·objects·themselves·are·persisted·in·a·single·table·shared172 class.·The·associated·objects·themselves·are·persisted·in·a·single·table·shared
170 among·all·parents.173 among·all·parents.
171 _\x8g_\x8e_\x8n_\x8e_\x8r_\x8i_\x8c_\x8__\x8f_\x8k_\x8._\x8p_\x8y·-·Illustrates·a·so-called·“generic·foreign·key”,·in·a·similar174 _\x8g_\x8e_\x8n_\x8e_\x8r_\x8i_\x8c_\x8__\x8f_\x8k_\x8._\x8p_\x8y·-·Illustrates·a·so-called·“generic·foreign·key”,·in·a·similar
172 fashion·to·that·of·popular·frameworks·such·as·Django,·ROR,·etc.·This·approach175 fashion·to·that·of·popular·frameworks·such·as·Django,·ROR,·etc.·This·approach
173 bypasses·standard·referential·integrity·practices,·in·that·the·“foreign·key”176 bypasses·standard·referential·integrity·practices,·in·that·the·“foreign·key”
174 column·is·not·actually·constrained·to·refer·to·any·particular·table;·instead,177 column·is·not·actually·constrained·to·refer·to·any·particular·table;·instead,
175 in-application·logic·is·used·to·determine·which·table·is·referenced.178 in-application·logic·is·used·to·determine·which·table·is·referenced.
176 _\x8t_\x8a_\x8b_\x8l_\x8e_\x8__\x8p_\x8e_\x8r_\x8__\x8r_\x8e_\x8l_\x8a_\x8t_\x8e_\x8d_\x8._\x8p_\x8y·-·Illustrates·a·generic·association·which·persists 
177 association·objects·within·individual·tables,·each·one·generated·to·persist 
178 those·objects·on·behalf·of·a·particular·parent·class. 
179 *\x8**\x8**\x8**\x8*·L\x8La\x8ar\x8rg\x8ge\x8e·C\x8Co\x8ol\x8ll\x8le\x8ec\x8ct\x8ti\x8io\x8on\x8ns\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*179 *\x8**\x8**\x8**\x8*·L\x8La\x8ar\x8rg\x8ge\x8e·C\x8Co\x8ol\x8ll\x8le\x8ec\x8ct\x8ti\x8io\x8on\x8ns\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*
180 Large·collection·example.180 Large·collection·example.
181 Illustrates·the·options·to·use·with·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8(_\x8)·when·the·list·of·related181 Illustrates·the·options·to·use·with·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8(_\x8)·when·the·list·of·related
182 objects·is·very·large,·including:182 objects·is·very·large,·including:
183 ····*·“dynamic”·relationships·which·query·slices·of·data·as·accessed183 ····*·“dynamic”·relationships·which·query·slices·of·data·as·accessed
184 ····*·how·to·use·ON·DELETE·CASCADE·in·conjunction·with·passive_deletes=True·to184 ····*·how·to·use·ON·DELETE·CASCADE·in·conjunction·with·passive_deletes=True·to
185 ······greatly·improve·the·performance·of·related·collection·deletion.185 ······greatly·improve·the·performance·of·related·collection·deletion.
Offset 236, 28 lines modifiedOffset 236, 28 lines modified
236 $·python·-m·examples.performance·bulk_inserts·\236 $·python·-m·examples.performance·bulk_inserts·\
237 ····--dburl·mysql+mysqldb://scott:tiger@localhost/test·\237 ····--dburl·mysql+mysqldb://scott:tiger@localhost/test·\
238 ····--profile·--num·1000238 ····--profile·--num·1000
239 See·also239 See·also
240 _\x8H_\x8o_\x8w_\x8·_\x8c_\x8a_\x8n_\x8·_\x8I_\x8·_\x8p_\x8r_\x8o_\x8f_\x8i_\x8l_\x8e_\x8·_\x8a_\x8·_\x8S_\x8Q_\x8L_\x8A_\x8l_\x8c_\x8h_\x8e_\x8m_\x8y_\x8·_\x8p_\x8o_\x8w_\x8e_\x8r_\x8e_\x8d_\x8·_\x8a_\x8p_\x8p_\x8l_\x8i_\x8c_\x8a_\x8t_\x8i_\x8o_\x8n_\x8?240 _\x8H_\x8o_\x8w_\x8·_\x8c_\x8a_\x8n_\x8·_\x8I_\x8·_\x8p_\x8r_\x8o_\x8f_\x8i_\x8l_\x8e_\x8·_\x8a_\x8·_\x8S_\x8Q_\x8L_\x8A_\x8l_\x8c_\x8h_\x8e_\x8m_\x8y_\x8·_\x8p_\x8o_\x8w_\x8e_\x8r_\x8e_\x8d_\x8·_\x8a_\x8p_\x8p_\x8l_\x8i_\x8c_\x8a_\x8t_\x8i_\x8o_\x8n_\x8?
241 *\x8**\x8**\x8*·F\x8Fi\x8il\x8le\x8e·L\x8Li\x8is\x8st\x8ti\x8in\x8ng\x8g_\x8?\x8·*\x8**\x8**\x8*241 *\x8**\x8**\x8*·F\x8Fi\x8il\x8le\x8e·L\x8Li\x8is\x8st\x8ti\x8in\x8ng\x8g_\x8?\x8·*\x8**\x8**\x8*
242 Listing·of·files:242 Listing·of·files:
243 ····*·_\x8l_\x8a_\x8r_\x8g_\x8e_\x8__\x8r_\x8e_\x8s_\x8u_\x8l_\x8t_\x8s_\x8e_\x8t_\x8s_\x8._\x8p_\x8y·-·In·this·series·of·tests,·we·are·looking·at·time·to 
244 ······load·a·large·number·of·very·small·and·simple·rows. 
245 _.b_.u_.l_.k_.__.u_.p_.d_.a_.t_.e_.s_.._.p_.y·-·This·series·of·tests·will·illustrate·different·ways·to·UPDATE243 ····*·_.b_.u_.l_.k_.__.i_.n_.s_.e_.r_.t_.s_.._.p_.y·-·This·series·of·tests·illustrates·different·ways·to
 244 ······INSERT·a·large·number·of·rows·in·bulk.
246 a·large·number·of·rows·in·bulk·(under·construction!·there’s·just·one·test·at 
247 the·moment) 
248 _\x8s_\x8h_\x8o_\x8r_\x8t_\x8__\x8s_\x8e_\x8l_\x8e_\x8c_\x8t_\x8s_\x8._\x8p_\x8y·-·This·series·of·tests·illustrates·different·ways·to·SELECT·a245 _\x8s_\x8h_\x8o_\x8r_\x8t_\x8__\x8s_\x8e_\x8l_\x8e_\x8c_\x8t_\x8s_\x8._\x8p_\x8y·-·This·series·of·tests·illustrates·different·ways·to·SELECT·a
249 single·record·by·primary·key246 single·record·by·primary·key
250 _\x8b_\x8u_\x8l_\x8k_\x8__\x8i_\x8n_\x8s_\x8e_\x8r_\x8t_\x8s_\x8._\x8p_\x8y·-·This·series·of·tests·illustrates·different·ways·to·INSERT·a 
251 large·number·of·rows·in·bulk. 
252 _\x8__\x8__\x8m_\x8a_\x8i_\x8n_\x8__\x8__\x8._\x8p_\x8y·-·Allows·the·examples/performance·package·to·be·run·as·a·script. 
253 _\x8s_\x8i_\x8n_\x8g_\x8l_\x8e_\x8__\x8i_\x8n_\x8s_\x8e_\x8r_\x8t_\x8s_\x8._\x8p_\x8y·-·In·this·series·of·tests,·we’re·looking·at·a·method·that247 _\x8s_\x8i_\x8n_\x8g_\x8l_\x8e_\x8__\x8i_\x8n_\x8s_\x8e_\x8r_\x8t_\x8s_\x8._\x8p_\x8y·-·In·this·series·of·tests,·we’re·looking·at·a·method·that
254 inserts·a·row·within·a·distinct·transaction,·and·afterwards·returns·to248 inserts·a·row·within·a·distinct·transaction,·and·afterwards·returns·to
255 essentially·a·“closed”·state.·This·would·be·analogous·to·an·API·call·that249 essentially·a·“closed”·state.·This·would·be·analogous·to·an·API·call·that
256 starts·up·a·database·connection,·inserts·the·row,·commits·and·closes.250 starts·up·a·database·connection,·inserts·the·row,·commits·and·closes.
 251 _\x8b_\x8u_\x8l_\x8k_\x8__\x8u_\x8p_\x8d_\x8a_\x8t_\x8e_\x8s_\x8._\x8p_\x8y·-·This·series·of·tests·will·illustrate·different·ways·to·UPDATE
 252 a·large·number·of·rows·in·bulk·(under·construction!·there’s·just·one·test·at
 253 the·moment)
 254 _\x8l_\x8a_\x8r_\x8g_\x8e_\x8__\x8r_\x8e_\x8s_\x8u_\x8l_\x8t_\x8s_\x8e_\x8t_\x8s_\x8._\x8p_\x8y·-·In·this·series·of·tests,·we·are·looking·at·time·to·load·a
 255 large·number·of·very·small·and·simple·rows.
 256 _\x8__\x8__\x8m_\x8a_\x8i_\x8n_\x8__\x8__\x8._\x8p_\x8y·-·Allows·the·examples/performance·package·to·be·run·as·a·script.
257 *\x8**\x8**\x8*·R\x8Ru\x8un\x8nn\x8ni\x8in\x8ng\x8g·a\x8al\x8ll\x8l·t\x8te\x8es\x8st\x8ts\x8s·w\x8wi\x8it\x8th\x8h·t\x8ti\x8im\x8me\x8e_\x8?\x8·*\x8**\x8**\x8*257 *\x8**\x8**\x8*·R\x8Ru\x8un\x8nn\x8ni\x8in\x8ng\x8g·a\x8al\x8ll\x8l·t\x8te\x8es\x8st\x8ts\x8s·w\x8wi\x8it\x8th\x8h·t\x8ti\x8im\x8me\x8e_\x8?\x8·*\x8**\x8**\x8*
258 This·is·the·default·form·of·run:258 This·is·the·default·form·of·run:
259 $·python·-m·examples.performance·single_inserts259 $·python·-m·examples.performance·single_inserts
260 Tests·to·run:·test_orm_commit,·test_bulk_save,260 Tests·to·run:·test_orm_commit,·test_bulk_save,
261 ··············test_bulk_insert_dictionaries,·test_core,261 ··············test_bulk_insert_dictionaries,·test_core,
262 ··············test_core_query_caching,·test_dbapi_raw_w_connect,262 ··············test_core_query_caching,·test_dbapi_raw_w_connect,
263 ··············test_dbapi_raw_w_pool263 ··············test_dbapi_raw_w_pool
Offset 394, 20 lines modifiedOffset 394, 20 lines modified
394 total·time·2.754592·sec394 total·time·2.754592·sec
395 test_subqueryload·:·load·everything,·subquery·eager·loading.·(1000·iterations);395 test_subqueryload·:·load·everything,·subquery·eager·loading.·(1000·iterations);
396 total·time·2.977696·sec396 total·time·2.977696·sec
397 *\x8**\x8**\x8**\x8*·R\x8Re\x8el\x8la\x8at\x8ti\x8io\x8on\x8ns\x8sh\x8hi\x8ip\x8p·J\x8Jo\x8oi\x8in\x8n·C\x8Co\x8on\x8nd\x8di\x8it\x8ti\x8io\x8on\x8ns\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*397 *\x8**\x8**\x8**\x8*·R\x8Re\x8el\x8la\x8at\x8ti\x8io\x8on\x8ns\x8sh\x8hi\x8ip\x8p·J\x8Jo\x8oi\x8in\x8n·C\x8Co\x8on\x8nd\x8di\x8it\x8ti\x8io\x8on\x8ns\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*
398 Examples·of·various·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8(_\x8)·configurations,·which·make·use·of·the398 Examples·of·various·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8(_\x8)·configurations,·which·make·use·of·the
399 primaryjoin·argument·to·compose·special·types·of·join·conditions.399 primaryjoin·argument·to·compose·special·types·of·join·conditions.
400 Listing·of·files:400 Listing·of·files:
 401 ····*·_\x8t_\x8h_\x8r_\x8e_\x8e_\x8w_\x8a_\x8y_\x8._\x8p_\x8y·-·Illustrate·a·“three·way·join”·-·where·a·primary·table·joins
 402 ······to·a·remote·table·via·an·association·table,·but·then·the·primary·table
 403 ······also·needs·to·refer·to·some·columns·in·the·remote·table·directly.
401 ····*·_\x8c_\x8a_\x8s_\x8t_\x8._\x8p_\x8y·-·Illustrate·a·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8(_\x8)·that·joins·two·columns·where·those404 _\x8c_\x8a_\x8s_\x8t_\x8._\x8p_\x8y·-·Illustrate·a·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8(_\x8)·that·joins·two·columns·where·those
402 ······columns·are·not·of·the·same·type,·and·a·CAST·must·be·used·on·the·SQL·side405 columns·are·not·of·the·same·type,·and·a·CAST·must·be·used·on·the·SQL·side·in
403 ······in·order·to·match·them.406 order·to·match·them.
404 _\x8t_\x8h_\x8r_\x8e_\x8e_\x8w_\x8a_\x8y_\x8._\x8p_\x8y·-·Illustrate·a·“three·way·join”·-·where·a·primary·table·joins·to·a 
405 remote·table·via·an·association·table,·but·then·the·primary·table·also·needs·to 
406 refer·to·some·columns·in·the·remote·table·directly. 
407 *\x8**\x8**\x8**\x8*·S\x8Sp\x8pa\x8ac\x8ce\x8e·I\x8In\x8nv\x8va\x8ad\x8de\x8er\x8rs\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*407 *\x8**\x8**\x8**\x8*·S\x8Sp\x8pa\x8ac\x8ce\x8e·I\x8In\x8nv\x8va\x8ad\x8de\x8er\x8rs\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*
Max diff block lines reached; 9175/19675 bytes (46.63%) of diff not shown.