Pass connection context to transaction execution

My approach on/Targets #563.
You _do_ have this seven lines twice in your code. Maybe you should move them to the beginning of the function (e.g. always initialize `vcxt` and use it if needed).