Closed as not planned
Description
Things are taking longer than we'd like on this so I'm putting up a tracking issue to share some insight on what remains to be done in the next
branch.
-
Type-safe macros (
query!
, etc. ) -
Transactions
-
Streams (
fetch
) -
Pool
PgConnectOptions::parse("postgres://....")? .tls( .... ) .pooled() // -> PgPoolOptions .max_connections(10) .connect().await? // Pool (either this or finish) .finish() // Pool (either this or connect)
-
Database Errors
-
Generalized Query Placeholders [Next] [Feature] Generalized query placeholders (including support for expanding arrays into multiple placeholders) #875
- Positional
{0}
becomes$n
or?n
or@pn
, etc. - Named
{name}
is resolved to a positional parameter so this works anywhere - not just sqlite - Zero or More Repetition
{name+}
=NULL
or$1, $2, ...
- Field Expressions in parens
{(x.y.z)}
- Implicit parameter scope
- Explicit parameter scope with
..some_struct
Struct update rest pattern syntax support for named bindings #591
- Positional
-
Runtime named parameters
-
TLS
-
Any (Driver)
-
Derives
-
FromRow
-
Type
-
-
Query logging
-
Statement caching
-
MySQL
- Type parity
- Support for MySQL 5.5
- Use
Error::Client
for client errors
-
PostgreSQL
- Support for SASL (authentication)
- Type parity
- Listener
- Database error
-
SQLite
The PostgreSQL and MySQL drivers are done enough to test and prod the basics if anyone has time to poke it.