arangodb / go-driver

The official ArangoDB go driver.
Apache License 2.0
342 stars 80 forks source link

Implement transactions #56

Closed phifty closed 7 years ago

phifty commented 7 years ago

It seems like they are missing.

Thanks in advance, Phifty

ewoutp commented 7 years ago

@phifty Currently the go driver does not support the transaction API of ArangoDB because that API requires the use of javascript. For the go driver that would means that you as a client programmer would have to write that actions that you want to transaction to wrap in javascript. Then wrap that in a string and pass that to the go driver. We want to avoid that.

Now we're working a more advanced transaction API to ArangoDB which will be supported with "normal" go code. The bad news is that this new transaction API will not be available for the upcoming version. An exact version or date is not yet known.

Regards Ewout

phifty commented 7 years ago

@ewoutp Thanks for the quick reply. I'm aware that Arango transaction are written in Javascript. But I don't think the Go client would need to interpret it. I would like to pass just a Javascript-String to the server. Just like the AQL queries are passed there. I see the transactions just written in a different query language. The implementation should be quite simple. If I find the time, I could start a pull request in the next days.

ewoutp commented 7 years ago

@phifty Yes, you can surely write it yourself using the Connection class that you can get from your Client. Honestly I doubt this will be merged into the main branch, but having a solution for it would certainly help multiple people.

phifty commented 7 years ago

I implemented a first draft at PR #57