Adapter should throw exceptions
Add transaction API
Add test transaction API