Commit Graph

48 Commits

Author SHA1 Message Date
Basti Ortiz
65c1d146a6
Chore(tokio-postgres): prefer sub-crates of futures 2022-08-14 23:31:17 +08:00
Steven Fackler
3e4be86531 more clippy 2021-08-10 21:17:50 -04:00
Steven Fackler
c7a8adf2df remove unneeded ref 2021-04-05 19:07:27 -04:00
Steven Fackler
50fa995cf9 Reorder a bit 2021-04-05 19:04:34 -04:00
Bernardo Uriarte Blanco
e2d327399b add client method to GenericClient 2020-12-26 23:17:04 +01:00
Bernardo Uriarte Blanco
0e494a08a9 change rest of *_raw methods to use BorrowToSql 2020-10-27 18:08:23 +01: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
Steven Fackler
27635a20ca Clean up GenericClient traits 2020-01-31 13:59:37 -08:00
dvic
5d08af01ec
Remove unnecessary impl GenericClient docs 2020-01-27 15:25:02 +01:00
dvic
1ea8b7b2d4
Fix self references in GenericClient 2020-01-27 11:14:27 +01:00
dvic
afc9b2835d
Add missing methods to GenericClient
This adds `execute_raw`,  `query_one`, `query_opt`, `query_raw`,
and `prepare_typed` to the generic trait introduced in #525.
2020-01-27 10:23:10 +01:00
Steven Fackler
24d4b92336 Whitelist clippy lint
async_trait requires this to be explicit
2020-01-02 21:05:38 -05: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
7bd21b492e
Merge pull request #531 from benesch/synchronous-cancel
Support cancellation in synchronous client
2019-12-30 21:09:19 -05:00
Christofer Nolander
8a3edc97de Put unused type parameter back into use 2019-12-29 23:05:45 +01:00
Nikhil Benesch
33dbbcbee7
Support cancellation in synchronous client 2019-12-29 14:08:17 -05:00
Steven Fackler
2615441c7d Doc cleanup and "real" extensible enums 2019-12-21 18:14:28 -08:00
Steven Fackler
0c84ed9f82 rustfmt 2019-12-04 18:59:22 -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
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
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
12c2ef79b6 Upgrade to tokio 0.2/futures 0.3 2019-11-26 16:32:36 -08:00
Steven Fackler
9e42c67b7b Use the client buffer for cleanup 2019-10-12 18:07:09 -07:00
Steven Fackler
0736382593 Fix tests 2019-10-12 17:47:55 -07:00
Steven Fackler
ffd7245e54 Use BytesMut for messages
Benchmarks indicate that malloc accounts for a significant amount of the
runtime of queries. The message buffer accounts for ~half of that (the
other being channels), and this change should eliminate it.
2019-10-12 16:30:27 -07:00
Steven Fackler
01cc7e4715 Clean up derived code 2019-10-10 16:03:48 -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
286ecdb5b9 Start on borrow overhaul 2019-10-08 19:34:48 -04:00
Steven Fackler
680f7b8ecb Start prepping for futures closing over parameters
Change the slice-consuming methods to requiring &(dyn ToSql + Sync),
which makes the overall value Send. If you have non-Sync values for
whatever reason, you can still use the iterator-based methods.
2019-09-25 18:22:59 -07:00
Steven Fackler
f07ebc7373 Support nested transactions 2019-08-03 18:25:28 -07:00
Steven Fackler
26a17ac4ed Support portals 2019-08-01 20:43:13 -07:00
Steven Fackler
e521e3b0a5 Transaction::copy_out 2019-07-31 20:16:07 -07:00
Steven Fackler
f45884711f Support copy_in 2019-07-30 21:25:30 -07:00
Steven Fackler
4afd5235db Transaction support 2019-07-30 19:54:30 -07:00
Steven Fackler
8c3770bd57 Start on tokio-postgres rewrite 2018-06-16 21:29:27 -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
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
6a86f8dd85 Rustfmt 2017-06-30 17:35:17 -10:00
Steven Fackler
6e2927bf7e Rustfmt 2017-02-23 20:27:29 -08:00
Steven Fackler
5004efb792 Rename crate 2016-12-26 16:41:09 -05:00