fMeow / arangors

Easy to use rust driver for arangoDB
https://docs.rs/arangors
MIT License
128 stars 28 forks source link

Streaming Transactions API Support? #5

Closed thedodd closed 3 years ago

thedodd commented 5 years ago

Any plans on adding support for this: https://www.arangodb.com/2019/08/rc7-of-arangodb-3-5-streaming-transactions-api/

Also, definitely keep up the good work here! I am planning on cutting a system over to ArangoDB which has previously been based on MongoDB. It would be excellent to see support for this stuff as well as async support based on the new futures & async/await features landing in Rust.

Also, I built the Wither ODM a while back, which is great, but the MongoDB team has left the underlying driver in a pretty stagnant state. Do you think there is value in building a data modelling ODM-like system for Arango as well?

fMeow commented 5 years ago

Wow, what a wonderful feature arangoDB 3.5 bring to us. Currently, I am a bit busy working on another project to get myself familiar with the new async/await syntax which is likely to be stable in the forthcoming rust 1.38. Also, I am not familiar with this feature. If you like, we can work together to bring this feature to arangors. The first step is to prototype with curl or Connection::get_session(&self), which have handled authentication to arango server.

As for a ODM, I really think this is a good idea. Currently, I (and most arangors users I suppose) use AQL for all CURD staff for documents, and use arangodb web to manage users, databases, collections and other management staff. AQL script have really amazing work on avoiding something similar to SQL injury, so we don't need a ODM for safety. However, besides security concerns, arango is a not a strong typed database like SQL databases, and thus there are cases that documents type are not consistent in a collections, which can cause failure when deserializing. I think ODM abstraction is a good way to fill the gap and really a good high level abstraction to get rid of tiresome manually-written AQL.

Arangors will change a lot in the long run, but the AQL related APIs are relatively stable, as this is the most important features. So I think building ODM on top of AQL may be a good choice.

thedodd commented 5 years ago

Awesome! Thanks for the feedback.

ManevilleF commented 4 years ago

Hello @thedodd If you are looking for a Arango ODM I made the aragog crate for this.

I don't support streaming transactions since I'm based on arangors but I'm implementing it directly in aragog once I'm done with the query system

thedodd commented 4 years ago

Thanks for the heads-up. I had been evaluating a few different database systems a while back. I'm not currently looking, but I'll keep this in mind. Thanks!

ManevilleF commented 3 years ago

I think this can be closed @fMeow since you merged the MR for transancion support