This introduces two new wrapper types `Json` and `Jsonb`, currently
exported by `sqlx::postgres::{Json, Jsonb}` and adds serde and
serde_json as optional dependencies, under the feature flag `json`.
Wrapping types in `Json[b]` that implement `serde::Deserialize` and
`serde::Serialize` allows them to be decoded and encoded respectivly.
implement nullability check for Postgres as a query on pg_attribute
implement type name fetching for Postgres as part of `describe()`
add nullability for describe() to MySQL
improve errors with unknown result column type IDs in `query!()`
run cargo fmt and fix warnings
improve error when feature gates for chrono/uuid types is not turned on
workflows/rust: add step to UI-test missing optional features
improve error for unsupported/feature-gated input parameter types
fix `PgConnection::get_type_names()` for empty type IDs list
fix `tests::mysql::test_describe()` on MariaDB 10.4
copy-edit unsupported/feature-gated type errors in `query!()`
Postgres: fix SQL type of string array
closes#107closes#17
Co-Authored-By: Anthony Dodd <Dodd.AnthonyJosiah@gmail.com>
* Intending to use in a new Row type to check types at runtime for
dynamic queries and to guard against schema changes
* Hoping the query! macro can utilize this to allow accepting N
rust types for 1 sql type and returning N rust types for 1 sql
type.
- Remove `hex` from root `Cargo.toml`
- Make `hmac` crate optional
- Clean up checking mechanisms for "SCRAM-SHA-256"
- Use `str::from_utf8` instead of `String::from_utf8_lossyf
- Update `Sasl*Response` structs be tuple structs
- Factor out `len` in `SaslInitialResponse.encode()`
- Use `protocol_err` instead of `expect` when constructing `Hmacf
instances
- Remove `it_connects_to_database_user` test as it was too fragile
- Move `sasl_auth` function into `postgres/connection` as it more
related to `Connection` rather than `protocl`
- Return an error when decoding base64 salt rather than panicing
in `Authentication::SaslContinue`