- Minimal features (very first release)
- [X] typed getters
- [X] Xexport
- [X] Xclose
- [X] license file
- [ ] execute with bound parameters
- [ ] start transaction / commit / rollback
- [ ] basic test suite
- [ ] api docs
- Basic features (first serious release)
- [ ] scroll
- [ ] Xexport cleanup?
- [ ] Xexportbin
- [ ] better type support, most of the following:
- [5/8] result set types that just need their name added
- [X] tinyint
- [X] smallint
- [X] int
- [X] bigint
- [X] varchar
- [ ] char
- [ ] url
- [ ] json
- [ ] result set types that need their own getters
- [ ] boolean (bool)
- [ ] oid (u64)
- [ ] hugeint
- [ ] real
- [ ] double
- [ ] blob
- [ ] inet
- [ ] result set types that need getter types from external crates
- [ ] decimal
- [ ] uuid
- [0/0] all non-temporal resultset types
- unsupported types
- [ ] geometry
- [ ] geometrya
- [ ] mbr
- [0/8] all temporal resultset types
- [ ] month_interval
- [ ] day_interval
- [ ] sec_interval
- [ ] time
- [ ] timetz
- [ ] date
- [ ] timestamp
- [ ] timestamptz
- [5/8] result set types that just need their name added
- [ ] Check all connection parameters: are they being used?
- [ ] Unix domain socket scanning
- [ ] error design: provoke all errors, what does the message look like?
- [ ] brief code overview, plus doc comments on the more important types and functions
- [ ] reasonable test coverage (no need to measure)
- [ ] CI
- [ ] make fewer things pub
- [ ] enable / disable logging with a feature
- [ ] test prehashed passwords
- [ ] framing tests: invalid headers, incomplete reads and writes
- Advanced features
- [ ] support std::path::Path in Parameters
- [ ] PREPARE statement
- [ ] TLS
- [ ] store login message somewhere?
- Optimizations
- [ ] do more parsing while reading, no need to be faster than the server
- [ ] have newtypes for all Xcommands to avoid duplication
i8 u8 i16 u16 i32 u32 i64 u64 i128 u128 isize usize f32 f64