Commit Graph

131 Commits

Author SHA1 Message Date
Steven Fackler
2d3b9bb1c6 Move the TLS mode into config 2019-01-13 15:07:20 -08:00
Steven Fackler
5b045940f4 Rename handshake to connect_raw 2019-01-07 21:45:09 -08:00
Steven Fackler
e372cdc6f9 Docs 2019-01-07 20:44:26 -08:00
Steven Fackler
1f6d9ddc06 Overhaul query cancellation
Multi-host support means we can't simply take the old approach - we need
to know which of the hosts we actually connected to. It's also nice to
move this from the connection to the client since that's what you'd
normally have access to.
2019-01-06 18:03:51 -08:00
Steven Fackler
e0d113791c Rename raw cancel query 2019-01-06 11:33:22 -08:00
Steven Fackler
0ae7670e05 tokio-postgres crate root docs 2019-01-05 21:39:08 -08:00
Steven Fackler
9116147aee Rename Builder to Config 2018-12-29 21:00:58 -08:00
Steven Fackler
6ae93a0634 Add a convenience connect free function 2018-12-29 13:28:38 -08:00
Steven Fackler
aa1e587433 Make internal simple query future a stream 2018-12-27 13:51:39 -05:00
Steven Fackler
1fdfefbeda Add Client::poll_idle
Closes #403
2018-12-22 17:02:48 -08:00
Steven Fackler
b9e8b4868b Add Client::is_closed 2018-12-21 21:08:26 -08:00
Steven Fackler
26eb27e70d Support one-off queries in sync API
We can't do this in tokio-postgres while borrowing the parameters, but
it's fine in the sync API!
2018-12-21 20:13:15 -08:00
Steven Fackler
7e7ae968c1 Prep for multi-host support
cc #399
2018-12-18 21:39:05 -08:00
Steven Fackler
919012d0c9 Finish convenience API 2018-12-17 21:25:21 -08:00
Steven Fackler
7df7fc715b Start on runtime API 2018-12-16 22:00:46 -08:00
Steven Fackler
c23e3e0bda Merge row bits 2018-12-10 20:56:22 -08:00
Steven Fackler
04ce4bb7a1 Run clippy 2018-12-09 21:44:07 -08:00
Steven Fackler
b4ce9c38e5 Upgrade tokio-postgres to 2018 edition 2018-12-08 17:52:20 -08:00
Steven Fackler
4d16fbb906 Get rid of postgres-shared 2018-12-08 17:39:20 -08:00
Steven Fackler
db771e8bdf Switch copy_in to use Buf 2018-12-02 21:26:10 -08:00
Steven Fackler
d58b1815ad Fix up new transaction API 2018-12-01 20:01:46 -08:00
Steven Fackler
a9b01b4807
Merge pull request #384 from DarrenTsung/transaction-builder
Add a TransactionBuilder struct
2018-12-01 19:56:44 -08:00
Steven Fackler
a24b927bbb Fix CopyIn Future bound 2018-11-28 19:44:07 -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
0e60d80d4b Parameterize Connection over the stream 2018-11-25 08:49:28 -08:00
Darren Tsung
f3777bed76 Add a TransactionBuilder struct
The TransactionBuilder is useful when trying to create a Transaction
around a future which takes ownership of the client. See doc comment
for more details.
2018-11-06 10:14:32 -08:00
Steven Fackler
89f5198261 Add query_portal 2018-08-15 21:00:15 -07:00
Steven Fackler
dcde61c16d Add bind/portal 2018-08-15 19:53:20 -07:00
Steven Fackler
a4bdcb11e4 Overhaul error type 2018-08-15 10:27:34 -07:00
Steven Fackler
1d9ae82198 Move error in-crate
We'll operate under the assumption that postgres will end up being a
wrapper on top of tokio-postgres so postgres-shared goes away.
2018-08-13 13:25:29 -06:00
Steven Fackler
3d22aa323b Make copy_in stream more flexible 2018-08-12 21:23:21 -06:00
Steven Fackler
b74f5c80d0 copy in support 2018-08-12 20:19:27 -06:00
Steven Fackler
7056e3ec24 Copy out support 2018-07-15 19:40:15 -07:00
Steven Fackler
9e399aa93f Basic transaction support 2018-07-14 14:59:37 -07:00
Steven Fackler
bf0633681b Fix pipelined preparation
We can end up double-preparing the typeinfo queries if we're pipelining
preparation, so pick a unique name for them.
2018-07-08 16:06:53 -07:00
Steven Fackler
53657b828a Implement batch_execute 2018-07-07 22:42:04 -07:00
Steven Fackler
1788a03baa notification/notice support 2018-07-07 10:11:16 -07:00
Steven Fackler
a237a471c9 Support custom types 2018-07-05 20:48:08 -07:00
Steven Fackler
be2ca03fa9 tokio-postgres query cancellation 2018-06-27 22:37:43 -07:00
Steven Fackler
70758bcd93 tokio-postgres TLS setup 2018-06-25 21:16:18 -07:00
Steven Fackler
e86091a268 Working select/execute 2018-06-20 20:06:11 -04:00
Steven Fackler
cb805d6057 Add execute 2018-06-19 22:10:07 -04:00
Steven Fackler
aa0fca4929 tag futures as must use 2018-06-19 19:54:29 -04:00
Steven Fackler
e9db2bf284 Defer message sends until first poll
This matches up generally with the "futures do nothing until polled"
model.
2018-06-19 19:51:30 -04:00
Steven Fackler
13fcea7ae2 Working statement preparation 2018-06-18 22:34:25 -04:00
Steven Fackler
0d0435fc2e Start on prepare 2018-06-18 08:18:04 -04:00
Steven Fackler
8c3770bd57 Start on tokio-postgres rewrite 2018-06-16 21:29:27 -07:00
Kyle Huey
e9c773c317 Derive Debug on Notifications. 2018-05-02 09:28:09 -07:00
Steven Fackler
2777703ef3 Make constants associated 2018-04-22 15:01:55 -07:00
Steven Fackler
06bcde2da1 Keepalive support in tokio-postgres 2018-04-15 14:38:01 -07:00
Kyle Huey
b171da35f5 Add an is_desynchronized on tokio_postgres::Connection. 2018-01-29 03:05:16 -08:00
Steven Fackler
bb3ebbf943 Fix some warnings 2018-01-09 21:15:35 -08:00
Steven Fackler
762a7aef7f Release v0.3.0 2017-09-30 16:14:46 -07:00
Steven Fackler
a24704e998 Fix doctest 2017-09-30 15:16:45 -07:00
Steven Fackler
6780d41225 Stop using deprecated stuff 2017-09-30 15:14:02 -07:00
Steven Fackler
9373d2fa55 Update futures-state-stream 2017-09-30 14:56:15 -07:00
Steven Fackler
d0db938f82 Forward macros 2017-07-23 15:43:05 -07:00
Steven Fackler
792d7bf374 Just reexport types module 2017-07-20 22:58:29 -07:00
Steven Fackler
fed246e9fd Error reform for tokio-postgres 2017-07-19 21:22:27 -07:00
Steven Fackler
d684e5edd6 Remove internals traits 2017-07-09 10:25:20 -07:00
Steven Fackler
bec973c776 Make Type an opaque type 2017-07-09 00:02:45 -07:00
Steven Fackler
01a1529624 Make SqlState into an opaque type rather than enum 2017-07-08 20:52:36 -07:00
Steven Fackler
47b0db257c Switch CI to CircleCI 2.0 2017-07-08 19:41:24 -07:00
Steven Fackler
6a86f8dd85 Rustfmt 2017-06-30 17:35:17 -10:00
Steven Fackler
3809972907 Fix execute of statements which return rows
Closes #274
2017-06-30 17:33:49 -10:00
Steven Fackler
9628c5b89d Release tokio-postgres v0.2.3 2017-06-11 13:11:19 -07:00
Steven Fackler
6b008766bf Use the bytes crate for backend message parsing (#253) 2017-05-06 08:28:07 -07:00
Steven Fackler
413d1db5cd Release tokio-postgres v0.2.2 2017-05-02 08:56:12 -07:00
Steven Fackler
1352f32421 Reexport openssl in tokio-postgres as well 2017-05-01 22:09:50 -07:00
Steven Fackler
23c232cbeb Start using tokio_io 2017-04-23 15:39:07 -07:00
Steven Fackler
9126ec4ef2 Support notifications on tokio-postgres
Closes #242
2017-03-08 10:38:20 +11:00
Steven Fackler
5685dded4e Release tokio-postgres 0.2.1 2017-02-23 20:40:02 -08:00
Steven Fackler
6e2927bf7e Rustfmt 2017-02-23 20:27:29 -08:00
Steven Fackler
682a45bb79 Don't depend on tokio-uds on Windows
Closes #236
2017-02-23 19:48:20 -08:00
Steven Fackler
c59799e376 Refactor connectparams 2017-02-15 21:42:27 -08:00
Steven Fackler
a8ed34b66e Remove SessionInfo
This was never actually used, and is incompatible with tokio-postgres's
API.
2017-02-14 22:10:58 -08:00
Steven Fackler
814c5797c5 Release tokio-postgres v0.1.1 2017-02-04 15:37:34 -08:00
Steven Fackler
b673d8a727 Make statement IDs globally unique
This avoids weird behavior when using a statement with the wrong
connection
2017-01-07 14:36:40 -08:00
Steven Fackler
6275056953 Set the doc root 2016-12-26 17:38:07 -05:00
Steven Fackler
eb53d51512 Add a doc example 2016-12-26 17:19:43 -05:00
Steven Fackler
5004efb792 Rename crate 2016-12-26 16:41:09 -05:00