Commit Graph

302 Commits

Author SHA1 Message Date
Jakub Wieczorek
5d9acb1eb1 Add support for the 0.6 version of geo_types.
This change drops the support for the 0.5 version by renaming the feature,
as no version of `postgres` with it included has ever been released.
2020-06-24 12:28:21 +02:00
Steven Fackler
3e67dbb773 Fix clippy 2020-06-10 16:54:07 -07:00
Jakub Wieczorek
887be86816 Add support for geo-types=0.5
Support for geo-types=0.4 (via the `with-geo-types_04` feature) has been preserved for convenience.
2020-05-25 13:45:17 +02:00
Naim A
a1efddd64a fix typo 2020-05-12 13:48:01 +03:00
Steven Fackler
f9ba58967b Release postgres v0.17.3 2020-05-01 16:15:31 -07:00
Nathan VanBenschoten
64d6e97eff Re-add savepoint method to Transaction
Revives #184.

The rewrite for async/await and Tokio accidentally lost functionality
that allowed users to assign specific names to savepoints when using
nested transactions. This functionality had originally been added
in #184 and had been updated in #374.

This commit revives this functionality using a similar scheme to the
one that existed before. This should allow CockroachDB users to update
to the next patch release of version `0.17`.
2020-05-01 12:55:48 -04:00
Nikhil Benesch
dd0c39e041
Don't accidentally return early from CopyOutReader
The COPY OUT protocol allows sending CopyData packets that have no data.
The (synchronous) CopyOutReader needs to be careful not to return an
empty slice in this case, but instead request more data, since an empty
slice is taken to mean EOF.
2020-04-01 14:17:02 -04:00
Steven Fackler
3c4a0af6ff Add a notification API to the blocking client
This mirrors the implementation in the old 0.15 release, but is quite a
bit simpler now that we're built on the nonblocking API!
2020-03-22 15:22:07 -07:00
Steven Fackler
fd3a99c225 Don't spawn off connection in blocking impl
We can now directly return fatal errors, and intercept notifications
2020-03-22 12:05:00 -07:00
Michael P. Jung
b10f964a1b Add documentation for crate features
This closes #544
2020-03-16 15:10:25 +01:00
Steven Fackler
ff36ce993d Release postgres v0.17.2 2020-03-05 17:13:32 -08:00
Aaron Loucks
2082d4f781 Add support for time-0.2 types 2020-02-28 18:05:51 -05:00
Andreas Runfalk
778f278059 Added information on how to use Vec<T> with Client::query_raw (fixes #567) 2020-02-06 07:49:59 +01:00
Steven Fackler
cc9b8232a8 Release postgres v0.17.1 2020-01-31 18:04:59 -08:00
Steven Fackler
4bf40cd1d3 Reorder methods 2020-01-31 14:01:16 -08:00
Steven Fackler
27635a20ca Clean up GenericClient traits 2020-01-31 13:59:37 -08:00
Steven Fackler
a54ee29704 Allow opt-out of transaction settings
If you changed the default transaction settings of the session, you may
need an explicit opt-out.
2020-01-10 17:49:18 -08:00
Steven Fackler
f1ac3bd9d7 Always include Client::configure 2020-01-08 17:29:45 -08:00
Steven Fackler
214413d9dc Add transaction builders
Closes #543
2020-01-08 17:23:28 -08:00
Steven Fackler
3ba416ded6 Add tokio_postgres::GenericClient
We have to make the trait methods differ from the normal methods a bit
by adding Sync + Send bounds to the ToStatement parameter which is a bit
unfortunate, but necessary until GATs async_trait unnecessary.

Closes #357
2020-01-02 21:01:47 -05:00
Steven Fackler
a865207ff6 Rename to GenericClient 2020-01-02 20:44:07 -05:00
Colin Maxfield
7ff4b3a2e9 Merge latest master into branch 2020-01-02 10:24:19 -05:00
Steven Fackler
7bd21b492e
Merge pull request #531 from benesch/synchronous-cancel
Support cancellation in synchronous client
2019-12-30 21:09:19 -05:00
Nikhil Benesch
b73ec018b7
Expose accessors on Config object
Fix #534.
2019-12-29 15:15:48 -05:00
Nikhil Benesch
33dbbcbee7
Support cancellation in synchronous client 2019-12-29 14:08:17 -05:00
Colin Maxfield
508b430753 Adding generic for execute function for genericconnection 2019-12-28 16:36:56 -05:00
Colin Maxfield
793e83a4ef Adding in generic for the query function of genericconnection 2019-12-28 16:32:01 -05:00
Steven Fackler
a8fa2a42c0 Use batch_execute in example 2019-12-24 12:43:23 -08:00
Steven Fackler
69412cf7e3 Released postgres v0.17.0 2019-12-23 15:52:16 -08:00
Steven Fackler
1f773f08e3 Release tokio-postgres v0.5.0 2019-12-23 15:40:49 -08:00
Steven Fackler
869f2d7e47 Remove stray dev dependency 2019-12-21 04:21:14 -08:00
Colin Maxfield
e8aef6579e Fixing fmt on the files I changed, forgot to check prior to previous commit 2019-12-20 23:28:32 -05:00
Colin Maxfield
3592e0553e Adding in generic connection trait back to the lib 2019-12-20 20:35:17 -05:00
Steven Fackler
37d0a83434 remove uuid 0.7 support 2019-12-19 16:41:26 -08:00
Steven Fackler
309b647bdb Publicly reexport fallible-iterator from postgres
Closes #520
2019-12-15 17:49:50 -08:00
Steven Fackler
3c85532a76 Fix docs 2019-12-15 17:34:11 -08:00
Steven Fackler
584aca4c17 rustfmt 2019-12-15 17:11:39 -08:00
Steven Fackler
a254e6e9e9 Blocking binary copy support 2019-12-15 17:01:53 -08:00
Steven Fackler
cc8d8fe734 Unify no-op drop impls 2019-12-15 15:58:50 -08:00
Steven Fackler
5c33bf8b30 Don't take parameters in copy_in and copy_out
Postgres doesn't support them, so we may as well not provide the option!

Closes #523
2019-12-04 18:51:59 -08:00
Steven Fackler
9950ff4213 rustfmt 2019-12-03 18:29:06 -08:00
Steven Fackler
09a63d6255 Move to local runtimes per connection
This avoids a bunch of context switches and cross-thread
synchronization, which ends up improving the performance of a simple
query by ~20%, from 252us to 216us.
2019-12-03 18:25:29 -08:00
Steven Fackler
b425a28b2f Reenable clippy and rustfmt in CI 2019-12-03 15:26:24 -08:00
Steven Fackler
b4694471ad Add query_opt
Closes #510
2019-11-30 18:18:50 -05:00
Steven Fackler
299ef6c8dd Rename CopyStream to CopyOutStream 2019-11-30 16:17:23 -05:00
Steven Fackler
ff3ea1c9df Expose RowIter 2019-11-30 12:13:38 -05:00
Steven Fackler
1390cc57d7 doc fix 2019-11-30 12:01:09 -05:00
Steven Fackler
e5e03b0064 Change the copy_in interface
Rather than taking in a Stream and advancing it internally, return a
Sink that can be advanced by the calling code. This significantly
simplifies encoding logic for things like tokio-postgres-binary-copy.

Similarly, the blocking interface returns a Writer.

Closes #489
2019-11-30 11:04:59 -05:00
Steven Fackler
a5428e6a03 wip sync copy-in 2019-11-29 10:15:46 -05:00
Steven Fackler
fa3b068da7 Release postgres v0.17.0-alpha.2 2019-11-27 21:01:24 -05:00
Steven Fackler
223514fcd5 Fix custom spawn interface in sync API 2019-11-27 20:58:02 -05:00
Steven Fackler
47d97f0d2e Relase tokio-postgres v0.5.0-alpha.2 2019-11-27 20:48:01 -05:00
Steven Fackler
12c2ef79b6 Upgrade to tokio 0.2/futures 0.3 2019-11-26 16:32:36 -08:00
Ivan Kozik
0b5ca1bd68 Add query_one to postgres::Transaction
I believe this was missed in 31855141d2
2019-10-27 13:06:16 +00:00
mibac138
a943a0e666 Support uuid 0.8 2019-10-19 19:52:07 +02:00
Steven Fackler
2a8f7bdd96 Release postgres v0.17.0-alpha.1 2019-10-14 18:25:29 -07:00
Steven Fackler
afa466fb25 Release tokio-postgres v0.5.0-alpha.1 2019-10-14 18:14:11 -07:00
Steven Fackler
31855141d2 Add query_one 2019-10-09 17:45:53 -07:00
Steven Fackler
8c28f8b363 Overhaul simple_query 2019-10-09 17:04:24 -07:00
Steven Fackler
a3f611d609 Overhaul copy_out 2019-10-08 19:01:34 -07:00
Steven Fackler
b8577b45b1 Overhaul query_portal 2019-10-08 17:22:56 -07:00
Steven Fackler
2517100132 Overhaul query
This is the template that we'll use for all other methods taking
parameters. The `foo_raw` variant is the most flexible (but annoying to
use), while `foo` covers the expected common case.
2019-10-08 17:15:41 -07:00
Steven Fackler
0d2d554122 Add a ToStatement trait in tokio-postgres 2019-10-08 19:36:24 -04:00
Steven Fackler
4b5bcbb602 Split ToSql/FromSql out to a separate crate
Prep for a `derive` feature.
2019-10-07 17:14:18 -07:00
Steven Fackler
d8b5412602 Upgrade errcodes to Postgres 12 2019-10-03 18:25:25 -07:00
Steven Fackler
30bd89c524 Upgrade tokio and futures-preview 2019-09-30 18:26:23 -07:00
Steven Fackler
1c1a939f8a
Merge branch 'master' into master 2019-09-26 21:23:55 -04:00
Steven Fackler
983a71c470 Fix postgres 2019-09-25 18:39:51 -07:00
Steven Fackler
6c3a4ab192 Add channel_binding=disable/prefer/require to config
Closes #487
2019-09-24 17:03:37 -07:00
Steven Fackler
1fa4838717 Upgrade to tokio alpha.5 2019-09-19 14:48:34 -07:00
Steven Fackler
ac8d7077d3 Remove uneeded Sync bounds 2019-09-03 18:05:19 -07:00
Steven Fackler
2a2b76d1b8 Upgrade to tokio alpha.4 2019-08-29 18:10:58 -07:00
Steven Fackler
c026644820 async_await is stable on nightly now 2019-08-21 07:48:36 -04:00
Steven Fackler
aa44090fad Update futures-preview/tokio 2019-08-18 09:02:21 -04:00
Steven Fackler
92e3d013eb Update to released tokio 2019-08-10 20:25:12 -07:00
Steven Fackler
3ed4543426 Don't block the reactor on DNS 2019-08-04 19:21:32 -07:00
Steven Fackler
f07ebc7373 Support nested transactions 2019-08-03 18:25:28 -07:00
Steven Fackler
f5a8b1de68 Update postgres 2019-08-03 18:09:27 -07:00
Kai Yao
2c43519093 Updated bitvec to 0.6.1, as it supports serde serialization/deserialization. 2019-07-27 21:07:03 -05:00
Steven Fackler
c0fcf34eb4 Reexport macros from tokio-postgres
Closes #463
2019-07-21 14:06:13 -07:00
Steven Fackler
904c951ad6 Release postgres v0.16.0-rc.2 2019-06-29 21:43:50 -07:00
Steven Fackler
3f264027c9 Fix some typos 2019-06-29 12:32:46 -07:00
Steven Fackler
eb18cbd475 Reexport Socket from postgres 2019-04-06 21:26:02 -07:00
Steven Fackler
0c8ecc0240 Release postgres v0.16.0-rc.1 2019-04-06 20:59:01 -07:00
Steven Fackler
6c0ec6a6bf TLS docs for tokio-postgres 2019-04-01 21:56:25 -07:00
Steven Fackler
aaaf8247ec Crate level docs 2019-03-31 21:48:32 -07:00
Steven Fackler
16021d2985 Fix docs 2019-03-30 20:58:01 -07:00
Steven Fackler
aa3aedda56 More docs 2019-03-30 20:57:12 -07:00
Steven Fackler
7c9717d764 Finish Client docs 2019-03-28 21:55:42 -07:00
Steven Fackler
2c786587bb Start on postgres docs 2019-03-27 20:20:15 -07:00
Steven Fackler
52aa260f85 Reexports and config docs 2019-03-25 21:03:22 -07:00
Steven Fackler
948274533f Config should be Sync + Send 2019-03-25 20:02:24 -07:00
Steven Fackler
d52650a55c Fixup warnings 2019-03-24 13:32:29 -07:00
Steven Fackler
60825d9bef Allow custom executors 2019-03-24 13:22:26 -07:00
Steven Fackler
2a80118e87 Don't require use of iterators
The common case is to simply want a vec of rows to work with, so make
that the main API, wrapping the old version returning an iterator.
2019-03-10 17:27:28 -07:00
Steven Fackler
3b31551f73 Upgrade fallible-iterator 2019-03-10 16:32:28 -07:00
Steven Fackler
4f084e7b64 Release tokio-postgres v0.4.0-rc.2 2019-03-05 21:49:54 -08:00
Steven Fackler
4174eeeecb Release tokio-postgres v0.4.0-rc.1 2019-03-05 21:35:46 -08:00
Steven Fackler
0de50abc29 Rustfmt 2019-03-04 21:55:37 -08:00
Steven Fackler
1f80b78f07 Adjust API layout 2019-03-04 21:51:44 -08:00