Would be good to abstract the ``execute`` call to automatically handle errors and rollback. Started putting this in place on the Greengenes [data access object](https://github.com/greengenes/Greengenes/blob/master/greengenes/db.py#L466) which cut down substantially on replicated code.