Published client To Do
- Dominant language
- Rust
- Stars
- 231
- Forks
- 30
- PR merge metrics
- No merged PRs in 30d
Description
Before publishing client crate on crates.io we need:
1. [x] Ensure that error reporting is adequate and errors can be handled apropriately. Probably get rid of `anyhow::Error`. If even if we leave `anyhow`, we should ensure that it's easy to find out if error is recoverable, if it's network error, etc.
2. [ ] Figure out if it makes sense to move query methods into a trait (async traits are kinda complex, though)
3. [x] Review list of dependencies, currently there are too much of them
1. [x] Also async-std should not require `unstable` feature
2. [x] Some of them, like `whoami` should be moved under a feature gate
4. [ ] Review public exports, hide unneeded things and restructure modules if needed
1. [ ] Move `Sequence` under a feature gate (e.g. `unstable`)
5. [ ] Query arguments refactoring
1. [x] `QueryArgs` trait
2. [ ] `QueryArg` trait
3. [ ] `QueryArg` implementation for all basic types
4. [ ] `QueryArgs` implementation for tuple and container types
5. [ ] `derive(QueryArgs)`
6. [x] Create a Datetime struct to represent edgedb's native datetime type #42
7. [ ] Implement most of the RFC1004
1. [ ] Reconnecting connection
2. [ ] Connection pool
3. [ ] Transactions
4. [ ] Retriable transactions
5. [ ] Transaction configuration/Retry options
6. [ ] Capabilities
These tasks can be postponed:
1. [ ] Look into supporting multiple runtimes #49
2. [ ] Ensure that nothing is re-exported from `edgedb-protocol`, so that we can make breaking changes in latter without disturbing users
1. [ ] Figure out what to do with `Queryable` trait
3. [ ] Take a look if we want to get rid of `snafu` for errors (used only internally)
Previous discussion in edgedb/edgedb-cli#112, #30
In the meantime, anyone can use git version at their own risk (API will probably break every now and then)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.