introduce TransactionAwareDataSourceProxy