Try/except block in outer joins isn't atomic
Created by: JoeGermuska
I'm sketched out by the append-in-for-loops inside a try-catch block.
It doesn't look atomic to me. What if there were an exception midway-through adding a row? come columns which already had a value would have a None also appended, no?
I don't have time to write a test case tonight, so maybe I'm missing something or maybe there's a test for it already and you should just tell me to RTFC.
anyway, it might be nice to abstract an _outer_join method. I was starting down that path, passing in keys and some rules about when to allow for None values. I'm reading this code trying to decide how to handle the one-to-many case.