Commit Graph

131 Commits

Author SHA1 Message Date
Steven Fackler
bf8b335d2b Move binary copy stuff directly into main crate 2019-12-08 18:30:47 -08: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
bccfa83aca Expose CopyOut 2019-11-18 18:39:36 -08:00
Steven Fackler
ba39e2f53b more example fixes 2019-11-05 11:55:59 -08:00
Steven Fackler
a9f371f70c Clean up tokio-postgres example a bit 2019-11-05 09:56:38 -08:00
Steven Fackler
9d2ec747ef Add some simple benchmarks 2019-10-15 18:17:10 -07:00
Steven Fackler
afa466fb25 Release tokio-postgres v0.5.0-alpha.1 2019-10-14 18:14:11 -07:00
Steven Fackler
7b73eee3fb Make streams !Unpin
Hedging against the future if we end up using an intrusive list
implementation
2019-10-14 16:42:54 -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
e0e8c45159 Remove unneeded feature gate 2019-10-08 16:20:30 -07:00
Steven Fackler
1fcf026af6 Remove workaround 2019-09-23 15:52:27 -07:00
Steven Fackler
5283ad4a08 Clean up workaround 2019-09-19 14:45:15 -07:00
Steven Fackler
b7fe6bece5 Update to newest nightly 2019-09-11 22:20:22 -04:00
Steven Fackler
08a163c546 Fix doc link 2019-09-08 16:54:57 -07:00
Steven Fackler
c026644820 async_await is stable on nightly now 2019-08-21 07:48:36 -04:00
Steven Fackler
26a17ac4ed Support portals 2019-08-01 20:43:13 -07:00
Steven Fackler
e4a1ec23a1 Fix impl ordering 2019-08-01 18:44:38 -07:00
Steven Fackler
760039627a Fix build without the runtime feature 2019-08-01 18:43:38 -07:00
Steven Fackler
5dccb9988a Test notifications 2019-07-31 21:19:56 -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
9d851f6727 Fix doc examples 2019-07-29 18:55:11 -07:00
Steven Fackler
e77b0fd009 Add simple_query and batch_execute 2019-07-28 15:52:46 -07:00
Steven Fackler
77caff91ef Add query/select 2019-07-24 21:28:52 -07:00
Steven Fackler
f9e46510ba Implement prepare 2019-07-23 19:54:22 -07:00
Steven Fackler
2480fefd2c Connection IO logic 2019-07-22 21:27:21 -07:00
Steven Fackler
32fe52490e Runtime connect 2019-07-22 20:17:29 -07:00
Steven Fackler
89501f66d9 Start on std::futures rewrite
connect_raw works!
2019-07-21 21:44:43 -07:00
Steven Fackler
d91f9d8407 gut tokio-postgres 2019-07-21 16:09:45 -07:00
Steven Fackler
8192c771c0 Add methods that take iterators of parameters
The existing methods which take slices of parameters work well when
directly passing a temporary slice (e.g. `c.query(s, &[&15, &"hi"])`,
but becomes limiting in other contexts like when programmatically
building up a query. We now offer methods which take iterators, which
are significantly more flexible for these kinds of use cases.

Because of the weird object safety of `ToSql`, we can't be generic over
`Iterator<Item = impl ToSql>`, but instead have to specifically work
with `Iterator<Item = &dyn ToSql>`. This may require a `.map()` or two
but should still work fine.

Closes #265
2019-07-09 19:00:10 -07:00
Steven Fackler
310f0ebfc6 Release tokio-postgres v0.4.0-rc.3 2019-06-29 21:18:28 -07:00
Steven Fackler
e760d82f64 Drop tokio- prefix from TLS crates
They're way too wordy and used with both tokio-postgres and postgres
anyway.
2019-06-29 16:07:56 -07:00
Steven Fackler
db462eb018 Avoid copies in copy_in
copy_in data was previously copied ~3 times - once into the copy_in
buffer, once more to frame it into a CopyData frame, and once to write
that into the stream.

Our Codec is now a bit more interesting. Rather than just writing out
pre-encoded data, we can also send along unencoded CopyData so they can
be framed directly into the stream output buffer. In the future we can
extend this to e.g. avoid allocating for simple commands like Sync.

This also allows us to directly pass large copy_in input directly
through without rebuffering it.
2019-06-25 18:54:17 -07:00
Steven Fackler
6c0ec6a6bf TLS docs for tokio-postgres 2019-04-01 21:56:25 -07:00
Steven Fackler
4174eeeecb Release tokio-postgres v0.4.0-rc.1 2019-03-05 21:35:46 -08:00
Steven Fackler
1f80b78f07 Adjust API layout 2019-03-04 21:51:44 -08:00
Steven Fackler
31534b5734 Fix serde docs 2019-03-04 21:51:44 -08:00
Steven Fackler
07c7ffdac6 Finish docs for tokio-postgres 2019-03-04 21:22:50 -08:00
Steven Fackler
756121ed62 cleanup 2019-01-31 20:59:33 -08:00
Steven Fackler
32e09dbb91 Change batch_execute into simple_query
Closes #413
2019-01-31 20:35:17 -08:00
Steven Fackler
725b7153b6 Move futures/streams to a submodule 2019-01-17 21:14:09 -08:00
Steven Fackler
0ca084d676 Add ordering note 2019-01-17 20:45:51 -08:00
Steven Fackler
b3fdf168e5 Add a warning about transaction semantics 2019-01-17 20:35:12 -08:00
Steven Fackler
41243ae04f Little doc cleanup 2019-01-14 22:08:13 -08:00