In order to share the running transaction into a DAO style data management class, I have wrapped the transaction in an Arc<Mutex> and pass it into the DAO.

The issue is, once the transaction is in there I cannot call commit() on it because it cannot be moved out of the Arc<Mutex> anymore, as the commit requires a mut self.

Any ideas on how to work around this?

  • SorteKanin@feddit.dk
    link
    fedilink
    arrow-up
    1
    ·
    13 days ago

    This screams of XY problem. You’ve gotten a new problem from using this method and you’re asking for help for that, but probably there is an underlying better solution that solves your actual use case without running into this problem at all.

    • Cpo@lemm.eeOP
      link
      fedilink
      arrow-up
      0
      arrow-down
      2
      ·
      13 days ago

      So your answer is “you are doing it wrong”.

      Thank you, very helpful 😉

      • SorteKanin@feddit.dk
        link
        fedilink
        arrow-up
        1
        ·
        13 days ago

        That’s not what I said. Read about the XY problem and then come back and explain what you actually want to achieve, and give some more information like code examples.