copy() within txn() is not transactional
Opened this issue · 0 comments
mohit10verma commented
If we use copy() within txn(), the store will happen, but the old values will not be logged before the update.
Go compiler replaces copy with a runtime call very early during compilation. So during ssa creation, there is no easy way to identify a node which was originally "OCOPY" node.
Ideally go-pmem needs to support transactional copy() semantics within a txn() block OR
throw a syntax error if user uses copy() within txn() block.