Kent <jkentbo...@gmail.com> wrote:

> Mike,
> 
> When using use_ansi=False for Oracle (8) in conjunction with joinedload-ing 
> an inline view property, SQLAlchemy-0.8.7 renders an inner join instead of an 
> outer join.  This has been fixed in SQLAlchemy-0.9.0, but, as I'm not 
> prepared for the migration yet, I was hoping and failing to find the bug 
> ticket and hopefully a patch.  Do you know when/where this was fixed and 
> whether the fix would be patch'able in 0.7 or at least 0.8?
> 
> The attached script runs on 0.9.0+ but the assertion fails on 0.8.7.
> 
> The only difference in SQL output is the outer join "(+)":
> 
> SELECT products.productid AS products_productid, anon_1.productid AS 
> anon_1_productid, anon_1.siteid AS anon_1_siteid, anon_1.qty AS anon_1_qty
> FROM products, (SELECT inventory.productid AS productid, inventory.siteid AS 
> siteid, sum(inventory.qty) AS qty
> FROM inventory GROUP BY inventory.productid, inventory.siteid) anon_1
> WHERE anon_1.productid(+) = products.productid ORDER BY anon_1.siteid
> 
> Interestingly, use-ansi=True correctly renders "LEFT OUTER JOIN" in 0.8.7 but 
> it fails to render as an outer join with use-ansi=False.
> 
> Thanks for you time and exceptional software,
> Kent
> 


no specific fixes are logged, however 
http://docs.sqlalchemy.org/en/rel_0_9/changelog/migration_09.html#many-join-and-left-outer-join-expressions-will-no-longer-be-wrapped-in-select-from-as-anon-1
 refers to a very large change in how the ORM decides to join things.    That 
would cause some kinds of joinedloads to render differently , which would 
impact how (+) comes out as well, but i wouldn’t think it would have the effect 
that the missing (+) is the only change, it would be more than that.

So I have no better idea than you, so the method I’d do is just to git bisect 
(http://git-scm.com/docs/git-bisect) through revisions until you find the fix.  
If it’s a big merge revision, I can look into it to find something specific, 
but if you can get me a rev ID that would be a good start.


-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to