transaction for large db update, closes #87