39.3 KB
/srv/reproducible-results/rbuild-debian/r-b-build.IssKqeED/b1/sqlalchemy_2.0.32+ds1-1_amd64.changes vs.
/srv/reproducible-results/rbuild-debian/r-b-build.IssKqeED/b2/sqlalchemy_2.0.32+ds1-1_amd64.changes
539 B
Files
    
Offset 1, 5 lines modifiedOffset 1, 5 lines modified
  
1 ·33d632197f65f408add77f1daca939eb·3956580·doc·optional·python-sqlalchemy-doc_2.0.32+ds1-1_all.deb1 ·b9a9cf44805fbea74f17d00b0cdead54·3956452·doc·optional·python-sqlalchemy-doc_2.0.32+ds1-1_all.deb
2 ·9974c8043409eb001747c9788ddbebe0·899664·debug·optional·python3-sqlalchemy-ext-dbgsym_2.0.32+ds1-1_amd64.deb2 ·9974c8043409eb001747c9788ddbebe0·899664·debug·optional·python3-sqlalchemy-ext-dbgsym_2.0.32+ds1-1_amd64.deb
3 ·c383f6b11edc452b7538c24f47ccf20d·140372·python·optional·python3-sqlalchemy-ext_2.0.32+ds1-1_amd64.deb3 ·c383f6b11edc452b7538c24f47ccf20d·140372·python·optional·python3-sqlalchemy-ext_2.0.32+ds1-1_amd64.deb
4 ·0955e7f12a0b73c1ab8406c88fbab7d2·1196068·python·optional·python3-sqlalchemy_2.0.32+ds1-1_all.deb4 ·0955e7f12a0b73c1ab8406c88fbab7d2·1196068·python·optional·python3-sqlalchemy_2.0.32+ds1-1_all.deb
38.6 KB
python-sqlalchemy-doc_2.0.32+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-08-23·07:52:58.000000·debian-binary1 -rw-r--r--···0········0········0········4·2024-08-23·07:52:58.000000·debian-binary
2 -rw-r--r--···0········0········0····13924·2024-08-23·07:52:58.000000·control.tar.xz2 -rw-r--r--···0········0········0····13928·2024-08-23·07:52:58.000000·control.tar.xz
3 -rw-r--r--···0········0········0··3942464·2024-08-23·07:52:58.000000·data.tar.xz3 -rw-r--r--···0········0········0··3942332·2024-08-23·07:52:58.000000·data.tar.xz
98.0 B
control.tar.xz
70.0 B
control.tar
48.0 B
./md5sums
30.0 B
./md5sums
Files differ
38.0 KB
data.tar.xz
38.0 KB
data.tar
38.0 KB
./usr/share/doc/python-sqlalchemy-doc/html/orm/examples.html
Ordering differences only
    
Offset 299, 49 lines modifiedOffset 299, 49 lines modified
299 </section>299 </section>
300 <section·id="module-examples.association">300 <section·id="module-examples.association">
301 <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>301 <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>
302 <p>Examples·illustrating·the·usage·of·the·“association·object”·pattern,302 <p>Examples·illustrating·the·usage·of·the·“association·object”·pattern,
303 where·an·intermediary·class·mediates·the·relationship·between·two303 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 
307 “Order”·and·a·collection·of·“Item”·objects,·associating·a·purchase·price 
308 with·each·via·an·association·object·called·“OrderItem”</p> 
309 </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·which306 <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·Python307 illustrates·nesting·of·association·proxies·to·produce·multi-level·Python
312 collections,·in·this·case·a·dictionary·with·string·keys·and·sets·of·integers308 collections,·in·this·case·a·dictionary·with·string·keys·and·sets·of·integers
313 as·values,·which·conceal·the·underlying·mapped·classes.</p>309 as·values,·which·conceal·the·underlying·mapped·classes.</p>
314 </p></li>310 </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·in311 <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·references312 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>313 to·<code·class="docutils·literal·notranslate"><span·class="pre">OrderItem</span></code>·optional.</p>
318 </p></li>314 </p></li>
 315 <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
 316 “Order”·and·a·collection·of·“Item”·objects,·associating·a·purchase·price
 317 with·each·via·an·association·object·called·“OrderItem”</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 for·asynchronous·ORM·use.</p> 
328 </p></li> 
329 <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>326 <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>
330 along·many·asyncio·database·connections,·merging·ORM·results·into·a·single327 along·many·asyncio·database·connections,·merging·ORM·results·into·a·single
331 <code·class="docutils·literal·notranslate"><span·class="pre">AsyncSession</span></code>.</p>328 <code·class="docutils·literal·notranslate"><span·class="pre">AsyncSession</span></code>.</p>
332 </p></li>329 </p></li>
333 <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·object330 <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
 331 for·asynchronous·ORM·use.</p>
334 for·asynchronous·ORM·use,·including·the·optional·run_sync()·method.</p> 
335 </p></li> 
336 <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/basic.html">basic.py</a>·-·Illustrates·the·asyncio·engine·/·connection·interface.</p> 
337 </p></li>332 </p></li>
338 <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·handling333 <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
339 of·ORM·collections·under·asyncio.</p>334 of·ORM·collections·under·asyncio.</p>
340 </p></li>335 </p></li>
 336 <li><p><p><a·class="reference·external"·href="../_modules/examples/asyncio/basic.html">basic.py</a>·-·Illustrates·the·asyncio·engine·/·connection·interface.</p>
 337 </p></li>
 338 <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
 339 for·asynchronous·ORM·use,·including·the·optional·run_sync()·method.</p>
 340 </p></li>
341 </ul>341 </ul>
342 </p>342 </p>
343 </section>343 </section>
344 <section·id="module-examples.graphs">344 <section·id="module-examples.graphs">
345 <span·id="directed-graphs"></span><h3>Directed·Graphs<a·class="headerlink"·href="#module-examples.graphs"·title="Link·to·this·heading">¶</a></h3>345 <span·id="directed-graphs"></span><h3>Directed·Graphs<a·class="headerlink"·href="#module-examples.graphs"·title="Link·to·this·heading">¶</a></h3>
346 <p>An·example·of·persistence·for·a·directed·graph·structure.···The346 <p>An·example·of·persistence·for·a·directed·graph·structure.···The
347 graph·is·stored·as·a·collection·of·edges,·each·referencing·both·a347 graph·is·stored·as·a·collection·of·edges,·each·referencing·both·a
Offset 382, 32 lines modifiedOffset 382, 32 lines modified
382 are·modernized·versions·of·recipes·presented·in·the·2007·blog·post382 are·modernized·versions·of·recipes·presented·in·the·2007·blog·post
383 <a·class="reference·external"·href="https://techspot.zzzeek.org/2007/05/29/polymorphic-associations-with-sqlalchemy/">Polymorphic·Associations·with·SQLAlchemy</a>.</p>383 <a·class="reference·external"·href="https://techspot.zzzeek.org/2007/05/29/polymorphic-associations-with-sqlalchemy/">Polymorphic·Associations·with·SQLAlchemy</a>.</p>
384 <p>Listing·of·files:<ul·class="simple">384 <p>Listing·of·files:<ul·class="simple">
385 <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·association385 <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
386 objects·within·individual·tables,·each·one·generated·to·persist386 objects·within·individual·tables,·each·one·generated·to·persist
387 those·objects·on·behalf·of·a·particular·parent·class.</p>387 those·objects·on·behalf·of·a·particular·parent·class.</p>
388 </p></li>388 </p></li>
389 <li><p><p><a·class="reference·external"·href="../_modules/examples/generic_associations/table_per_association.html">table_per_association.py</a>·-·Illustrates·a·mixin·which·provides·a·generic·association 
390 via·a·individually·generated·association·tables·for·each·parent·class. 
391 The·associated·objects·themselves·are·persisted·in·a·single·table 
392 shared·among·all·parents.</p>389 <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
 390 to·that·of·popular·frameworks·such·as·Django,·ROR,·etc.··This
 391 approach·bypasses·standard·referential·integrity
 392 practices,·in·that·the·“foreign·key”·column·is·not·actually
 393 constrained·to·refer·to·any·particular·table;·instead,
 394 in-application·logic·is·used·to·determine·which·table·is·referenced.</p>
393 </p></li>395 </p></li>
394 <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·association396 <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
395 using·a·single·target·table·and·a·single·association·table,397 using·a·single·target·table·and·a·single·association·table,
396 referred·to·by·all·parent·tables.··The·association·table398 referred·to·by·all·parent·tables.··The·association·table
397 contains·a·“discriminator”·column·which·determines·what·type·of399 contains·a·“discriminator”·column·which·determines·what·type·of
398 parent·object·associates·to·each·particular·row·in·the·association400 parent·object·associates·to·each·particular·row·in·the·association
399 table.</p>401 table.</p>
400 </p></li>402 </p></li>
 403 <li><p><p><a·class="reference·external"·href="../_modules/examples/generic_associations/table_per_association.html">table_per_association.py</a>·-·Illustrates·a·mixin·which·provides·a·generic·association
 404 via·a·individually·generated·association·tables·for·each·parent·class.
 405 The·associated·objects·themselves·are·persisted·in·a·single·table
 406 shared·among·all·parents.</p>
401 <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 
402 to·that·of·popular·frameworks·such·as·Django,·ROR,·etc.··This 
403 approach·bypasses·standard·referential·integrity 
404 practices,·in·that·the·“foreign·key”·column·is·not·actually 
405 constrained·to·refer·to·any·particular·table;·instead, 
406 in-application·logic·is·used·to·determine·which·table·is·referenced.</p> 
407 </p></li>407 </p></li>
408 </ul>408 </ul>
409 </p>409 </p>
410 </section>410 </section>
411 <section·id="module-examples.materialized_paths">411 <section·id="module-examples.materialized_paths">
412 <span·id="materialized-paths"></span><h3>Materialized·Paths<a·class="headerlink"·href="#module-examples.materialized_paths"·title="Link·to·this·heading">¶</a></h3>412 <span·id="materialized-paths"></span><h3>Materialized·Paths<a·class="headerlink"·href="#module-examples.materialized_paths"·title="Link·to·this·heading">¶</a></h3>
413 <p>Illustrates·the·“materialized·paths”·pattern·for·hierarchical·data·using·the413 <p>Illustrates·the·“materialized·paths”·pattern·for·hierarchical·data·using·the
Offset 480, 30 lines modifiedOffset 480, 30 lines modified
480 </div>480 </div>
481 <section·id="file-listing">481 <section·id="file-listing">
482 <h4>File·Listing<a·class="headerlink"·href="#file-listing"·title="Link·to·this·heading">¶</a></h4>482 <h4>File·Listing<a·class="headerlink"·href="#file-listing"·title="Link·to·this·heading">¶</a></h4>
483 <p>Listing·of·files:<ul·class="simple">483 <p>Listing·of·files:<ul·class="simple">
484 <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·number484 <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
485 of·rows·in·bulk·(under·construction!·there’s·just·one·test·at·the·moment)</p>485 of·rows·in·bulk·(under·construction!·there’s·just·one·test·at·the·moment)</p>
486 </p></li>486 </p></li>
487 <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 
488 of·very·small·and·simple·rows.</p> 
489 </p></li> 
490 <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·row487 <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
491 within·a·distinct·transaction,·and·afterwards·returns·to·essentially·a488 within·a·distinct·transaction,·and·afterwards·returns·to·essentially·a
492 “closed”·state.···This·would·be·analogous·to·an·API·call·that·starts·up489 “closed”·state.···This·would·be·analogous·to·an·API·call·that·starts·up
493 a·database·connection,·inserts·the·row,·commits·and·closes.</p>490 a·database·connection,·inserts·the·row,·commits·and·closes.</p>
494 </p></li>491 </p></li>
 492 <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
 493 of·rows·in·bulk.</p>
 494 </p></li>
 495 <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
 496 of·very·small·and·simple·rows.</p>
 497 </p></li>
495 <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>498 <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>
496 </p></li>499 </p></li>
497 <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·single500 <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
498 record·by·primary·key</p>501 record·by·primary·key</p>
Max diff block lines reached; 11485/21828 bytes (52.62%) of diff not shown.
16.5 KB
html2text {}
    
Offset 96, 37 lines modifiedOffset 96, 37 lines modified
96 Listing·of·files:96 Listing·of·files:
97 ····*·_\x8a_\x8d_\x8j_\x8a_\x8c_\x8e_\x8n_\x8c_\x8y_\x8__\x8l_\x8i_\x8s_\x8t_\x8._\x8p_\x8y97 ····*·_\x8a_\x8d_\x8j_\x8a_\x8c_\x8e_\x8n_\x8c_\x8y_\x8__\x8l_\x8i_\x8s_\x8t_\x8._\x8p_\x8y
98 *\x8**\x8**\x8**\x8*·A\x8As\x8ss\x8so\x8oc\x8ci\x8ia\x8at\x8ti\x8io\x8on\x8ns\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*98 *\x8**\x8**\x8**\x8*·A\x8As\x8ss\x8so\x8oc\x8ci\x8ia\x8at\x8ti\x8io\x8on\x8ns\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*
99 Examples·illustrating·the·usage·of·the·“association·object”·pattern,·where·an99 Examples·illustrating·the·usage·of·the·“association·object”·pattern,·where·an
100 intermediary·class·mediates·the·relationship·between·two·classes·that·are100 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 
104 ······“Order”·and·a·collection·of·“Item”·objects,·associating·a·purchase·price 
105 ······with·each·via·an·association·object·called·“OrderItem” 
106 _.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·which103 ····*·_.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
107 illustrates·nesting·of·association·proxies·to·produce·multi-level·Python104 ······which·illustrates·nesting·of·association·proxies·to·produce·multi-level
108 collections,·in·this·case·a·dictionary·with·string·keys·and·sets·of·integers·as105 ······Python·collections,·in·this·case·a·dictionary·with·string·keys·and·sets
109 values,·which·conceal·the·underlying·mapped·classes.106 ······of·integers·as·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·of107 _\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·OrderItem108 _\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.109 optional.
 110 _\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
 111 “Order”·and·a·collection·of·“Item”·objects,·associating·a·purchase·price·with
 112 each·via·an·association·object·called·“OrderItem”
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 ····*·_\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
 117 ······concurrently·using·asyncio.gather()·along·many·asyncio·database
 118 ······connections,·merging·ORM·results·into·a·single·AsyncSession.
116 ····*·_\x8a_\x8s_\x8y_\x8n_\x8c_\x8__\x8o_\x8r_\x8m_\x8._\x8p_\x8y·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession119 _\x8a_\x8s_\x8y_\x8n_\x8c_\x8__\x8o_\x8r_\x8m_\x8._\x8p_\x8y·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession
117 ······object·for·asynchronous·ORM·use.120 object·for·asynchronous·ORM·use.
118 _\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 
119 using·asyncio.gather()·along·many·asyncio·database·connections,·merging·ORM 
120 results·into·a·single·AsyncSession. 
121 _\x8g_\x8r_\x8e_\x8e_\x8n_\x8l_\x8e_\x8t_\x8__\x8o_\x8r_\x8m_\x8._\x8p_\x8y·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession 
122 object·for·asynchronous·ORM·use,·including·the·optional·run_sync()·method. 
123 _\x8b_\x8a_\x8s_\x8i_\x8c_\x8._\x8p_\x8y·-·Illustrates·the·asyncio·engine·/·connection·interface. 
124 _\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·simpler121 _\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
125 handling·of·ORM·collections·under·asyncio.122 handling·of·ORM·collections·under·asyncio.
 123 _\x8b_\x8a_\x8s_\x8i_\x8c_\x8._\x8p_\x8y·-·Illustrates·the·asyncio·engine·/·connection·interface.
 124 _\x8g_\x8r_\x8e_\x8e_\x8n_\x8l_\x8e_\x8t_\x8__\x8o_\x8r_\x8m_\x8._\x8p_\x8y·-·Illustrates·use·of·the·sqlalchemy.ext.asyncio.AsyncSession
 125 object·for·asynchronous·ORM·use,·including·the·optional·run_sync()·method.
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·stored127 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”·node128 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-
130 neighbors·are·illustrated:130 neighbors·are·illustrated:
131 n2·=·Node(2)131 n2·=·Node(2)
132 n5·=·Node(5)132 n5·=·Node(5)
Offset 151, 28 lines modifiedOffset 151, 28 lines modified
151 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·modernized151 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
152 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_\x8s152 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
153 _\x8w_\x8i_\x8t_\x8h_\x8·_\x8S_\x8Q_\x8L_\x8A_\x8l_\x8c_\x8h_\x8e_\x8m_\x8y.153 _\x8w_\x8i_\x8t_\x8h_\x8·_\x8S_\x8Q_\x8L_\x8A_\x8l_\x8c_\x8h_\x8e_\x8m_\x8y.
154 Listing·of·files:154 Listing·of·files:
155 ····*·_\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·persists155 ····*·_\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
156 ······association·objects·within·individual·tables,·each·one·generated·to156 ······association·objects·within·individual·tables,·each·one·generated·to
157 ······persist·those·objects·on·behalf·of·a·particular·parent·class.157 ······persist·those·objects·on·behalf·of·a·particular·parent·class.
158 _\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 
159 association·via·a·individually·generated·association·tables·for·each·parent 
160 class.·The·associated·objects·themselves·are·persisted·in·a·single·table·shared 
161 among·all·parents. 
162 _\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·-·Illustrates·a·mixin·which·provides·a·generic 
163 association·using·a·single·target·table·and·a·single·association·table, 
164 referred·to·by·all·parent·tables.·The·association·table·contains·a 
165 “discriminator”·column·which·determines·what·type·of·parent·object·associates 
166 to·each·particular·row·in·the·association·table. 
167 _\x8g_\x8e_\x8n_\x8e_\x8r_\x8i_\x8c_\x8__\x8f_\x8k_\x8._\x8p_\x8y·-·Illustrates·a·so-called·“generic·foreign·key”,·in·a·similar158 _\x8g_\x8e_\x8n_\x8e_\x8r_\x8i_\x8c_\x8__\x8f_\x8k_\x8._\x8p_\x8y·-·Illustrates·a·so-called·“generic·foreign·key”,·in·a·similar
168 fashion·to·that·of·popular·frameworks·such·as·Django,·ROR,·etc.·This·approach159 fashion·to·that·of·popular·frameworks·such·as·Django,·ROR,·etc.·This·approach
169 bypasses·standard·referential·integrity·practices,·in·that·the·“foreign·key”160 bypasses·standard·referential·integrity·practices,·in·that·the·“foreign·key”
170 column·is·not·actually·constrained·to·refer·to·any·particular·table;·instead,161 column·is·not·actually·constrained·to·refer·to·any·particular·table;·instead,
171 in-application·logic·is·used·to·determine·which·table·is·referenced.162 in-application·logic·is·used·to·determine·which·table·is·referenced.
 163 _\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·-·Illustrates·a·mixin·which·provides·a·generic
 164 association·using·a·single·target·table·and·a·single·association·table,
 165 referred·to·by·all·parent·tables.·The·association·table·contains·a
 166 “discriminator”·column·which·determines·what·type·of·parent·object·associates
 167 to·each·particular·row·in·the·association·table.
 168 _\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
 169 association·via·a·individually·generated·association·tables·for·each·parent
 170 class.·The·associated·objects·themselves·are·persisted·in·a·single·table·shared
 171 among·all·parents.
172 *\x8**\x8**\x8**\x8*·M\x8Ma\x8at\x8te\x8er\x8ri\x8ia\x8al\x8li\x8iz\x8ze\x8ed\x8d·P\x8Pa\x8at\x8th\x8hs\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*172 *\x8**\x8**\x8**\x8*·M\x8Ma\x8at\x8te\x8er\x8ri\x8ia\x8al\x8li\x8iz\x8ze\x8ed\x8d·P\x8Pa\x8at\x8th\x8hs\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*
173 Illustrates·the·“materialized·paths”·pattern·for·hierarchical·data·using·the173 Illustrates·the·“materialized·paths”·pattern·for·hierarchical·data·using·the
174 SQLAlchemy·ORM.174 SQLAlchemy·ORM.
175 Listing·of·files:175 Listing·of·files:
176 ····*·_\x8m_\x8a_\x8t_\x8e_\x8r_\x8i_\x8a_\x8l_\x8i_\x8z_\x8e_\x8d_\x8__\x8p_\x8a_\x8t_\x8h_\x8s_\x8._\x8p_\x8y·-·Illustrates·the·“materialized·paths”·pattern.176 ····*·_\x8m_\x8a_\x8t_\x8e_\x8r_\x8i_\x8a_\x8l_\x8i_\x8z_\x8e_\x8d_\x8__\x8p_\x8a_\x8t_\x8h_\x8s_\x8._\x8p_\x8y·-·Illustrates·the·“materialized·paths”·pattern.
177 *\x8**\x8**\x8**\x8*·N\x8Ne\x8es\x8st\x8te\x8ed\x8d·S\x8Se\x8et\x8ts\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*177 *\x8**\x8**\x8**\x8*·N\x8Ne\x8es\x8st\x8te\x8ed\x8d·S\x8Se\x8et\x8ts\x8s_\x8?\x8·*\x8**\x8**\x8**\x8*
178 Illustrates·a·rudimentary·way·to·implement·the·“nested·sets”·pattern·for178 Illustrates·a·rudimentary·way·to·implement·the·“nested·sets”·pattern·for
Offset 223, 25 lines modifiedOffset 223, 25 lines modified
223 See·also223 See·also
224 _\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?224 _\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?
225 *\x8**\x8**\x8*·F\x8Fi\x8il\x8le\x8e·L\x8Li\x8is\x8st\x8ti\x8in\x8ng\x8g_\x8?\x8·*\x8**\x8**\x8*225 *\x8**\x8**\x8*·F\x8Fi\x8il\x8le\x8e·L\x8Li\x8is\x8st\x8ti\x8in\x8ng\x8g_\x8?\x8·*\x8**\x8**\x8*
226 Listing·of·files:226 Listing·of·files:
227 ····*·_\x8b_\x8u_\x8l_\x8k_\x8__\x8u_\x8p_\x8d_\x8a_\x8t_\x8e_\x8s_\x8._\x8p_\x8y·-·This·series·of·tests·will·illustrate·different·ways·to227 ····*·_\x8b_\x8u_\x8l_\x8k_\x8__\x8u_\x8p_\x8d_\x8a_\x8t_\x8e_\x8s_\x8._\x8p_\x8y·-·This·series·of·tests·will·illustrate·different·ways·to
228 ······UPDATE·a·large·number·of·rows·in·bulk·(under·construction!·there’s·just228 ······UPDATE·a·large·number·of·rows·in·bulk·(under·construction!·there’s·just
229 ······one·test·at·the·moment)229 ······one·test·at·the·moment)
230 _\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 
231 large·number·of·very·small·and·simple·rows. 
232 _\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·that230 _\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
233 inserts·a·row·within·a·distinct·transaction,·and·afterwards·returns·to231 inserts·a·row·within·a·distinct·transaction,·and·afterwards·returns·to
234 essentially·a·“closed”·state.·This·would·be·analogous·to·an·API·call·that232 essentially·a·“closed”·state.·This·would·be·analogous·to·an·API·call·that
235 starts·up·a·database·connection,·inserts·the·row,·commits·and·closes.233 starts·up·a·database·connection,·inserts·the·row,·commits·and·closes.
 234 _\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
 235 large·number·of·rows·in·bulk.
 236 _\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
 237 large·number·of·very·small·and·simple·rows.
236 _\x8__\x8__\x8m_\x8a_\x8i_\x8n_\x8__\x8__\x8._\x8p_\x8y·-·Allows·the·examples/performance·package·to·be·run·as·a·script.238 _\x8__\x8__\x8m_\x8a_\x8i_\x8n_\x8__\x8__\x8._\x8p_\x8y·-·Allows·the·examples/performance·package·to·be·run·as·a·script.
237 _\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·a239 _\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
238 single·record·by·primary·key240 single·record·by·primary·key
239 _\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 
240 large·number·of·rows·in·bulk. 
241 *\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*241 *\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*
242 This·is·the·default·form·of·run:242 This·is·the·default·form·of·run:
243 $·python·-m·examples.performance·single_inserts243 $·python·-m·examples.performance·single_inserts
244 Tests·to·run:·test_orm_commit,·test_bulk_save,244 Tests·to·run:·test_orm_commit,·test_bulk_save,
245 ··············test_bulk_insert_dictionaries,·test_core,245 ··············test_bulk_insert_dictionaries,·test_core,
246 ··············test_core_query_caching,·test_dbapi_raw_w_connect,246 ··············test_core_query_caching,·test_dbapi_raw_w_connect,
247 ··············test_dbapi_raw_w_pool247 ··············test_dbapi_raw_w_pool
Offset 473, 21 lines modifiedOffset 473, 21 lines modified
473 Listing·of·files:473 Listing·of·files:
474 ····*·_\x8v_\x8e_\x8r_\x8s_\x8i_\x8o_\x8n_\x8e_\x8d_\x8__\x8m_\x8a_\x8p_\x8._\x8p_\x8y·-·A·variant·of·the·versioned_rows·example·built·around474 ····*·_\x8v_\x8e_\x8r_\x8s_\x8i_\x8o_\x8n_\x8e_\x8d_\x8__\x8m_\x8a_\x8p_\x8._\x8p_\x8y·-·A·variant·of·the·versioned_rows·example·built·around
475 ······the·concept·of·a·“vertical·table”·structure,·like·those·illustrated·in475 ······the·concept·of·a·“vertical·table”·structure,·like·those·illustrated·in
476 ······_\x8V_\x8e_\x8r_\x8t_\x8i_\x8c_\x8a_\x8l_\x8·_\x8A_\x8t_\x8t_\x8r_\x8i_\x8b_\x8u_\x8t_\x8e_\x8·_\x8M_\x8a_\x8p_\x8p_\x8i_\x8n_\x8g·examples.476 ······_\x8V_\x8e_\x8r_\x8t_\x8i_\x8c_\x8a_\x8l_\x8·_\x8A_\x8t_\x8t_\x8r_\x8i_\x8b_\x8u_\x8t_\x8e_\x8·_\x8M_\x8a_\x8p_\x8p_\x8i_\x8n_\x8g·examples.
477 _\x8v_\x8e_\x8r_\x8s_\x8i_\x8o_\x8n_\x8e_\x8d_\x8__\x8r_\x8o_\x8w_\x8s_\x8._\x8p_\x8y·-·Illustrates·a·method·to·intercept·changes·on·objects,477 _\x8v_\x8e_\x8r_\x8s_\x8i_\x8o_\x8n_\x8e_\x8d_\x8__\x8r_\x8o_\x8w_\x8s_\x8._\x8p_\x8y·-·Illustrates·a·method·to·intercept·changes·on·objects,
478 turning·an·UPDATE·statement·on·a·single·row·into·an·INSERT·statement,·so·that·a478 turning·an·UPDATE·statement·on·a·single·row·into·an·INSERT·statement,·so·that·a
479 new·row·is·inserted·with·the·new·data,·keeping·the·old·row·intact.479 new·row·is·inserted·with·the·new·data,·keeping·the·old·row·intact.
 480 _\x8v_\x8e_\x8r_\x8s_\x8i_\x8o_\x8n_\x8e_\x8d_\x8__\x8r_\x8o_\x8w_\x8s_\x8__\x8w_\x8__\x8v_\x8e_\x8r_\x8s_\x8i_\x8o_\x8n_\x8i_\x8d_\x8._\x8p_\x8y·-·Illustrates·a·method·to·intercept·changes·on
 481 objects,·turning·an·UPDATE·statement·on·a·single·row·into·an·INSERT·statement,
 482 so·that·a·new·row·is·inserted·with·the·new·data,·keeping·the·old·row·intact.
480 _\x8v_\x8e_\x8r_\x8s_\x8i_\x8o_\x8n_\x8e_\x8d_\x8__\x8u_\x8p_\x8d_\x8a_\x8t_\x8e_\x8__\x8o_\x8l_\x8d_\x8__\x8r_\x8o_\x8w_\x8._\x8p_\x8y·-·Illustrates·the·same·UPDATE·into·INSERT·technique483 _\x8v_\x8e_\x8r_\x8s_\x8i_\x8o_\x8n_\x8e_\x8d_\x8__\x8u_\x8p_\x8d_\x8a_\x8t_\x8e_\x8__\x8o_\x8l_\x8d_\x8__\x8r_\x8o_\x8w_\x8._\x8p_\x8y·-·Illustrates·the·same·UPDATE·into·INSERT·technique
481 of·versioned_rows.py,·but·also·emits·an·UPDATE·on·the·o\x8ol\x8ld\x8d·row·to·affect·a484 of·versioned_rows.py,·but·also·emits·an·UPDATE·on·the·o\x8ol\x8ld\x8d·row·to·affect·a
Max diff block lines reached; 6740/16885 bytes (39.92%) of diff not shown.