fix DB.withTransaction