testing all inheritances/references between 3 klasses A,B,C

Issue #452 resolved
Former user created an issue

several kinds of errors: - wrong query: SQLError: (OperationalError) no such column: pu_b.linkB_id

  • wrong type of object being loaded via getby_id, or lazy from another obj; (gets C instead of B; C inhs B inhs A)

  • some circular dep is detected on concrete mappers, which i cannot see why. C inh B, B inh A (all concrete); C.linkA->B; B.linkB->C; B.linkA->B; A.linkA->B C.linkA/B/C, B.linkA are post-update.

FlushError: Circular dependency detected [ C( name=cc dataC=mc dataB=None linkA=>B/idNone/ben linkC=None linkB=None), B( linkB=>C/idNone/cc linkA=>B/idNone/ben name=ben dataB=gun ) ), ( B( linkB=>C/idNone/cc linkA=>B/idNone/ben name=ben dataB=gun ), C( name=cc dataC=mc dataB=None linkA=>B/idNone/ben linkC=None linkB=None) ), ( B( linkB=>C/idNone/cc linkA=>B/idNone/ben name=ben dataB=gun ), A( linkA=>B/idNone/ben name=anna ) )]( ()

Comments (7)

  1. Former user Account Deleted

    (original author: sdobrev) The actual test-combinator and the results (output/generated src) can be found at http://linuxteam.sistechnology.com/o2rm/sawrap0201.tar.bz2 http://linuxteam.sistechnology.com/o2rm/allABC-out-0201.tbz it is using the sawrap, and the .tbz contains lots of redundant stuff, sorry.

    run as ..../sawrap/tests/ > PYTHONPATH=$PYTHONPATH:.. py test_ABC_inh_ref_all.py doC eager generate=one,failed This will run everything - add 'dummy' to see how many cases (~13300); and will eventualy run out of memory i split them by running with Clinks=None then with Clinks=A; Clinks=A1, B B1 C C1 - these are more manageable sizes. Run with -h fore help

  2. Former user Account Deleted

    (original author: sdobrev) - wrong query is now gone - i've fixed the circ.dependency by propagating a post_update=True to any of the relation's incarnations (which are manualy copied for concrete inhereitances)

    so 2 kinds of errors remains. Both about B(A) C(B) inheritance

    • a lazy link is not loaded. See abc-inh-t.py - one case is ok, another one (with less links!) is not. This is table-inheritance.

    • a lazy-link of type B loads the C of same id. see abc-inh-2.py; all cases fail

    There's one more, a link is loaded as wrong class with right prop-values or vice-versa - but it seems my own problem, can't reproduce as plain SA.

  3. Mike Bayer repo owner

    abc-inh-t.py passes on latest trunk, abc-inh-2.py fails. by the way, using "me" for "self" is extremely unpythonic.

  4. Log in to comment