separate transaction from shared_buffer