Commit Graph

27 Commits

Author SHA1 Message Date
Steven Fackler
2615441c7d Doc cleanup and "real" extensible enums 2019-12-21 18:14:28 -08:00
Steven Fackler
ac4c63f4af Upgrade test postgres to 12.1 2019-12-04 16:52:20 -08:00
Steven Fackler
d6163c088f Switch off nightly in CI 2019-12-03 15:26:52 -08:00
Steven Fackler
b425a28b2f Reenable clippy and rustfmt in CI 2019-12-03 15:26:24 -08:00
Steven Fackler
92e3d013eb Update to released tokio 2019-08-10 20:25:12 -07:00
Steven Fackler
4a5d30b4c6 Buffer copy_in messages
Otherwise there's a ton of overhead passing tons of tiny messages over
channels.
2019-06-22 21:22:03 -07:00
Steven Fackler
9e4f4d3496 More clippy 2019-03-05 18:26:55 -08:00
Steven Fackler
7df7fc715b Start on runtime API 2018-12-16 22:00:46 -08:00
Steven Fackler
f445f034cb Check after restoring caches 2018-12-09 21:46:46 -08:00
Steven Fackler
04ce4bb7a1 Run clippy 2018-12-09 21:44:07 -08:00
Steven Fackler
8c3338e37d Enforce rustfmt in CI 2018-12-09 18:01:36 -08:00
Steven Fackler
6300e0c0c9 Fix all-features tests 2018-12-08 18:09:46 -08:00
Steven Fackler
6a5f22cd5d Migrate postgres-protocol to 2018 edition 2018-12-08 17:24:38 -08:00
Steven Fackler
14571ab029 Remove synchronous crate
It will be coming back! It's just going to involve a full rewrite and
removing it for now makes some of that restructuring easier.
2018-12-08 16:11:03 -08:00
Steven Fackler
dead5feeba Bump docker image 2018-11-28 19:36:25 -08:00
Steven Fackler
08b4020534 Overhaul connection APIs
* `Connection` is now parameterized over the stream type, which can be
    any `AsyncRead + AsyncWrite`.
* The `TlsMode` enum is now a trait, and `NoTls`, `PreferTls`, and
    `RequireTls` are types implementing that trait.
* The `TlsConnect` trait no longer involves trait objects, and returns
    channel binding info alongside the stream type rather than requiring
    the stream to implement an additional trait.
* The `connect` free function and `ConnectParams` type is gone in favor
    of a `Builder` type. It takes a pre-connected stream rather than
    automatically opening a TCP or Unix socket connection.

Notably, we no longer have any dependency on the Tokio runtime. We do
use the `tokio-codec` and `tokio-io` crates, but those don't actually
depend on mio/tokio-reactor/etc. This means we can work with other
futures-based networking stacks.

We will almost certainly add back a convenience API that offers
something akin to the old logic to open a TCP/Unix connection
automatically but that will be worked out in a follow up PR.
2018-11-28 19:20:40 -08:00
Steven Fackler
7d9cb040c5 update build version 2018-06-20 21:11:44 -04:00
Steven Fackler
11ffcac087 Support SCRAM channel binding for Postgres 11 2018-06-01 23:07:33 -07:00
Steven Fackler
c70a03f9e6 Split out TLS implementations
This provides a lot more flexibility around version support, and unlike
the ToSql/FromSql implementations, these don't actually need to be in
postgres itself.
2018-05-28 10:42:21 -07:00
Steven Fackler
9ab7218edf More test downgrades 2018-05-19 15:29:12 -07:00
Steven Fackler
19f59ae9d7 Avoid build break 2018-05-19 15:25:42 -07:00
Steven Fackler
fcbed9175b Allow FromSql to borrow from the buffer
This allows for in-place deserialization of text and bytea values in
particular.

Row::get_bytes is removed since it previously existed for this use case.

Closes #281
2018-04-22 13:16:34 -07:00
Steven Fackler
1d4345543c bump rust version 2018-04-15 14:23:14 -07:00
Chris West (Faux)
50e17acae6 generic-array requires Rust 1.20; 1.23 is out so N-2 is fine 2018-01-14 15:31:48 +00:00
Steven Fackler
9d200ea387 Fix the last warning 2018-01-09 21:25:35 -08:00
Steven Fackler
b7791509d0 Use Postgres 10 for CI 2017-10-05 14:20:26 -07:00
Steven Fackler
767a8d4418 Move to new circle config location 2017-08-10 19:34:59 -07:00