> > > You're forgetting another "layer". DAL leverages on DBAPI > implementation of > > sql drivers. > > Well, that's not exactly good news for transparency and ease of > documentation. >
DB API is just a specification for Python database drivers to follow to ensure some degree of similarity and portability: http://www.python.org/dev/peps/pep-0249/. On net, this is probably good news for transparency and ease of documentation because you have some consistency across drivers. What alternative would you propose for greater transparency and ease of documentation? > But what I would prefer to do is actually reason about what should be > happening > I believe we have done this. If you remain unconvinced, some testing might increase your confidence in the conclusions. > Sure, there is documentation about the quirks of SQLite, but nothing > (unless I've missed it after repeated reading) about the > assumptions/defaults, etc of how the DAL uses the intermediate glue > layers (pysqlite, etc.). > Again, what specific assumptions about the "intermediate glue layers" would affect the code you would write in this case? If the issue is auto-committing, I believe the recommended code would work in either case. I'm not saying I would mind seeing a little more documentation regarding the differences across some of the databases and their drivers -- I'm just wondering how much it matters in this particular case. Anthony --