Commit Graph

40 Commits

Author SHA1 Message Date
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
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
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
Nikhil Benesch
33dbbcbee7
Support cancellation in synchronous client 2019-12-29 14:08:17 -05: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
ef0b79fbcb docs fix 2019-11-30 11:45:33 -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
7a95f6a3e4 pin_mut is in futures now 2019-10-18 22:33:33 -04: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
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
f5a8b1de68 Update postgres 2019-08-03 18:09:27 -07:00
Steven Fackler
760039627a Fix build without the runtime feature 2019-08-01 18:43:38 -07:00
Steven Fackler
785205ffb2 Finish documenting everything 2019-08-01 18:40:14 -07:00
Steven Fackler
9c178ad816 Support copy_out 2019-07-31 20:15:17 -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
88399a790c Cancel query support 2019-07-29 21:36:07 -07:00
Steven Fackler
dea6c3ebc5 Fix target_session_attrs handling 2019-07-28 17:48:32 -07:00
Steven Fackler
e77b0fd009 Add simple_query and batch_execute 2019-07-28 15:52:46 -07:00
Steven Fackler
51f02c89ee Fully working prepare 2019-07-28 09:26:04 -07:00
Steven Fackler
77caff91ef Add query/select 2019-07-24 21:28:52 -07:00
Steven Fackler
90eb58dc8e Some prep for custom type lookup 2019-07-23 20:16:31 -07:00
Steven Fackler
f9e46510ba Implement prepare 2019-07-23 19:54:22 -07:00
Steven Fackler
89501f66d9 Start on std::futures rewrite
connect_raw works!
2019-07-21 21:44:43 -07:00