Commit Graph

205 Commits

Author SHA1 Message Date
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
b33fdcd0e5
Merge pull request #304 from jwilm/simple-query-api
Implement simple query API
2018-05-19 13:21:12 -07:00
Joe Wilm
39a4cdfa82 Deprecate batch_execute
It's being replaced by the more capable `simple_query` API.
2018-05-18 17:33:29 -07:00
Joe Wilm
aeaea5e38e simple_query generate error on unexpected message 2018-05-03 08:06:39 -07:00
Joe Wilm
d21090d929 Add docs for TextRow getters 2018-05-03 08:04:22 -07:00
Steven Fackler
6d61b05925 SystemTime impls 2018-04-29 14:58:41 -07:00
Steven Fackler
15b6cd57f5 Upgrade type crate versions
Also add the version number to the feature name. This both makes it more
obvious when using them and opens the window for support of multiple
versions simultaneously in the future.
2018-04-29 13:12:58 -07:00
Joe Wilm
a1d759a2f4 Add test for simple query 2018-04-27 17:34:24 -07:00
Joe Wilm
20d4d8a71a Fix docs for simple_query
Also fixes the return type to be consistent with regular "Rows" API.
2018-04-27 17:34:24 -07:00
Joe Wilm
3b1b9aeace Add docs for simple_query method on Connections 2018-04-27 17:34:24 -07:00
Joe Wilm
815175ffd8 Remove expect on utf8
Should always be utf8 in practice, but there's no point in panicking.
2018-04-27 17:34:24 -07:00
Joe Wilm
8a0eab0502 Handle option being None 2018-04-27 17:34:24 -07:00
Joe Wilm
99ebda2296 Implement simple query API
The simple query API is a more robust version of `batch_execute`. Like
that method, `simple_query` allows passing a `&str` of semicolon
delimited queries. Divergence from `batch_execute` is in the return
type; instead of nothing, a `Vec<TextRows>` is returned. Each entry in
this `Vec` is the result set of one query in the query string. Thus if
there are two semicolon delimited queries, there will be two entries in
this `Vec`.

The `TextRows` and `TextRow` types returned from `simple_query` closely
mirror existing `Rows` and `Row` types with one major difference: only
string values can be retrieved from them.

There are a few TODOs in the code:

* Are text values in this case guaranteed to be utf-8 encoded?
* unwrap call in simple_query which assumes RowDescription is always
  sent
* documentation (denoted with either STUB or TODO)
2018-04-27 17:34:24 -07:00
Steven Fackler
44222e591f Add Connection::prepare_typed
Closes #300
2018-04-22 21:16:11 -07:00
Steven Fackler
198bf0780b Little cleanup 2018-04-22 19:47:36 -07:00
Steven Fackler
2777703ef3 Make constants associated 2018-04-22 15:01:55 -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
d0c111dc4a Use released socket2 2018-04-16 20:22:56 -07:00
Steven Fackler
9139282344 Don't explicity disable keepalive
We want to use the OS default normally
2018-04-15 14:31:32 -07:00
Steven Fackler
fd53c56363 Clean up syntax 2018-04-15 14:30:15 -07:00
Steven Fackler
594606ad9f Support TCP keepalive
Closes #335
2018-04-15 14:30:15 -07:00
Steven Fackler
ec7db287e1 Upgrade dependencies 2018-04-15 13:59:48 -07:00
Steven Fackler
17fcbe3eb8 Remove old feature check module. 2018-02-11 21:13:23 -08:00
Steven Fackler
0516cb9d10 Release postgres 0.15.2 2018-02-11 17:19:52 -08:00
Steven Fackler
e1f31a4493 Release postgres-shared v0.4.1 2018-02-11 17:17:52 -08:00
Johannes Schriewer
5171cbeca0 Add test for DB disconnects while waiting for notifications 2018-01-30 15:32:43 +01:00
Johannes Schriewer
75527beacf Add handling of DB-Errors in Notification processing
Handle the error that is generated when the DB connection goes down instead of panicing with
an unreachable code error. This allows the notification client to retry establishing the
connection instead of crashing the complete program.
2018-01-29 17:36:27 +01:00
Steven Fackler
9d200ea387 Fix the last warning 2018-01-09 21:25:35 -08:00
Steven Fackler
630e11ad4c More warnings fixes 2018-01-09 21:18:34 -08:00
Steven Fackler
863a295aae Upgrade socket2 and log 2018-01-09 20:32:55 -08:00
Steven Fackler
89d39cc5ab Add an example to lazy_query 2017-10-15 18:31:59 -07:00
Steven Fackler
acb424afa4 Fix read timeout handling 2017-09-20 08:32:10 -04:00
Steven Fackler
795b8dfa07 Upgrade to official rust image 2017-08-10 19:27:25 -07:00
Steven Fackler
932a7b19d7 Add a connect timeout
cc #246
2017-08-09 21:05:25 -07:00
Steven Fackler
fdc4a01b1a Fix up dep constraint 2017-07-23 16:50:00 -07:00
Steven Fackler
1d9c7d4c79 Release postgres v0.15.1 2017-07-23 15:58:52 -07:00
Steven Fackler
d0db938f82 Forward macros 2017-07-23 15:43:05 -07:00
Steven Fackler
5524e21f9a Release postgres v0.15.0 2017-07-23 12:45:40 -07:00
Steven Fackler
6e4d960f8e Upgrade eui48 version 2017-07-21 21:58:04 -07:00
Steven Fackler
1373a57cf8 Switch badge to circle 2017-07-22 15:09:06 -07:00
Steven Fackler
89f2770eeb Build docs with features enabled 2017-07-22 15:07:45 -07:00
Steven Fackler
7b22574aa6 Mangle hidden trait method 2017-07-22 10:27:31 -07:00
Steven Fackler
2f0baf89f0 Fix test build 2017-07-22 10:23:22 -07:00
Steven Fackler
6394dc1c84 Cleanup 2017-07-21 21:08:39 -07:00
Steven Fackler
792d7bf374 Just reexport types module 2017-07-20 22:58:29 -07:00
Steven Fackler
4c6e36e03a Fixes 2017-07-19 21:27:12 -07:00
Steven Fackler
fed246e9fd Error reform for tokio-postgres 2017-07-19 21:22:27 -07:00
Steven Fackler
15a1b791c4 Unify error types for postgres 2017-07-16 18:14:47 -07:00
Steven Fackler
23ce49e57b Rustfmt 2017-07-09 16:18:32 -07:00
Steven Fackler
57af12d094 Remove lifetime from Rows 2017-07-09 16:05:12 -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
c4367f1bbe Disable unix socket test 2017-07-08 19:48:29 -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
Jacob Chang
ed17d5e45d Upgrade chrono to 0.4 (#272) 2017-06-30 08:13:10 -10:00
Steven Fackler
3be6bba7a4 Release postgres v0.14.2 2017-06-11 13:09:00 -07:00
Steven Fackler
138f89993c Release postgres-shared v0.3.0 2017-06-11 13:07:33 -07:00
Steven Fackler
e83473e5df Add a FIXME 2017-06-04 09:57:10 -07:00
Joe Wilm
d011bb257a Make Rows a fully owned type (#264)
* Make Rows a fully owned type

This allows Rows to outlive a statement and be sent to 'static threads.

Resolves #263.

* fixup! Make Rows a fully owned type

* Remove unneeded Debug impl

* Oops, we do actually need this :(
2017-06-06 20:10:56 -04:00
Steven Fackler
06a6273f74 Support conversion of the UNKNOWN type to String
Closes #256
2017-05-22 22:04:41 -07:00
Steven Fackler
f9b864f2da SASL auth support in postgres 2017-05-22 21:09:35 -07:00
Steven Fackler
f7f9e243ce Fix docs 2017-05-07 19:16:18 -07:00
Steven Fackler
6b008766bf Use the bytes crate for backend message parsing (#253) 2017-05-06 08:28:07 -07:00
Steven Fackler
ccc19ea28f Release postgres v0.14.1 2017-05-02 08:54:52 -07:00
Steven Fackler
c4a86ded08 Remove unused url module 2017-05-01 22:39:19 -07:00
Steven Fackler
dde9f6ced5 Support uuid 0.5
Closes #255
2017-05-01 22:12:55 -07:00
Steven Fackler
f990e9c112 Publicly reexport TLS crates
cc #254
2017-05-01 21:50:05 -07:00
gwenn
d406277ef9 Add categories and badges for Cargo (#252)
Category `database` is "Database interfaces"
Badge for Travis CI
2017-04-29 10:03:52 -07:00
Kim Rutherford
9876ed261b Update serde_json dependency to version 1.0 (#250)
* Update serde_json dependency to version 1.0

* Update serde_json version in top-level Cargo.toml

* Support serde_json 0.9 and 1.*
2017-04-24 00:10:27 +02:00
Steven Fackler
6df3842274 Move postgres-protocol in-tree 2017-03-12 13:46:01 -07:00
kestred
72d60ee0ba Add types tests for geographic types 2017-03-10 17:58:51 -07:00
kestred
efbf30c4fe Support geo types with georust/geo 2017-03-10 16:33:43 -07:00
Steven Fackler
9126ec4ef2 Support notifications on tokio-postgres
Closes #242
2017-03-08 10:38:20 +11:00
Steven Fackler
5a814210cd Release postgres v0.14.0 2017-02-20 21:29:25 -08:00
Steven Fackler
1f93f2a356 Shrink version constraints 2017-02-16 22:40:01 -08:00
Steven Fackler
126d80003c Fix warnings 2017-02-15 21:48:38 -08:00
Steven Fackler
c59799e376 Refactor connectparams 2017-02-15 21:42:27 -08:00
Steven Fackler
4c91a68dcc try! -> ? 2017-02-14 22:46:19 -08:00
Steven Fackler
28b7f05cb6 Fix warnings 2017-02-14 22:16:42 -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
79644f9279 Update to chrono 0.3
Closes #232
2017-02-07 20:18:26 -08:00
Steven Fackler
bd2710b9c9 Release postgres v0.13.6 2017-02-04 15:36:39 -08:00
Steven Fackler
62187580d1 Fix inference issue 2017-02-04 15:28:46 -08:00
Steven Fackler
cab05b1b5b Fix test constraint 2017-02-04 15:15:17 -08:00
Steven Fackler
f37b9cfaf7 Manually inline types module
Doc inlining doesn't work with globs.
2017-02-04 15:11:29 -08:00
Aleksander Vognild Burkow
5e171ca9a3 Upgrade serde_json to 0.9.x 2017-01-31 16:33:24 +01:00
Steven Fackler
298189029f Release postgres v0.13.5 2017-01-13 13:13:09 -08:00
Steven Fackler
99cab46f38 Allow verification to be disabled in OpenSsl 2017-01-13 13:02:03 -08:00
Alex Crichton
4edcb7d334 Enusre Box<T: TlsHandshake> implements TlsHandshake 2016-12-30 14:46:14 -08:00
Steven Fackler
47738e3774 Cargo.toml updates 2016-12-26 16:36:34 -05:00
Steven Fackler
2562d01796 Shift stuff around 2016-12-26 16:29:30 -05:00
Steven Fackler
2dc80bec2e Documentation 2016-12-26 16:21:20 -05:00
Steven Fackler
32dc8923d7 Merge params 2016-12-26 15:31:49 -05:00
Steven Fackler
a8717d26aa Fix features 2016-12-23 10:47:04 -05:00
Steven Fackler
7c6363292f Fix build 2016-12-23 00:39:12 -05:00
Steven Fackler
d27518ba76 Fix build 2016-12-21 15:56:59 -08:00
Steven Fackler
d08dc136bc Move types out to postgres-shared 2016-12-21 08:14:24 -08:00
Steven Fackler
a90154dfdb Fix notice handling 2016-12-20 20:13:25 -08:00
Steven Fackler
7edf66f7f0 Add batch_execute 2016-12-20 19:50:44 -08:00
Steven Fackler
3b8fc56296 Move errors to shared 2016-12-20 16:07:45 -08:00
Steven Fackler
1e8b375d67 Fix ssl tests 2016-12-20 15:48:18 -08:00
Steven Fackler
8dc4fbc1d5 Move to a nested configuration 2016-12-20 15:20:00 -08:00