Steven Fackler
4a5a277878
query_opt test
2019-12-10 16:34:04 -08:00
Steven Fackler
bf8b335d2b
Move binary copy stuff directly into main crate
2019-12-08 18:30:47 -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
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
dc9d07e246
Return a custom TlsStream rather than a ChannelBinding up front
2019-10-27 14:25:58 -07:00
mibac138
a943a0e666
Support uuid 0.8
2019-10-19 19:52:07 +02: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
4b5bcbb602
Split ToSql/FromSql out to a separate crate
...
Prep for a `derive` feature.
2019-10-07 17:14:18 -07:00
Steven Fackler
de20f0fcd6
Fix bit-vec-support
2019-09-26 18:31:51 -07:00
Steven Fackler
427340d748
Ensure connect future is Send
2019-09-25 18:30:00 -07: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
6c3a4ab192
Add channel_binding=disable/prefer/require to config
...
Closes #487
2019-09-24 17:03:37 -07:00
Steven Fackler
e2d305033e
Remove vec workaround in tests
2019-09-23 15:57:58 -07:00
Steven Fackler
b7fe6bece5
Update to newest nightly
2019-09-11 22:20:22 -04: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
2a97c20bf2
Clean up old test
2019-08-02 20:31:15 -07:00
Steven Fackler
26a17ac4ed
Support portals
2019-08-01 20:43:13 -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
beb509f3f3
rustfmt
2019-07-30 21:29:18 -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
00ef0bfd84
Use smoke_test for target_session_attrs_ok
2019-07-28 17:50:46 -07:00
Steven Fackler
dea6c3ebc5
Fix target_session_attrs handling
2019-07-28 17:48:32 -07:00
Steven Fackler
9938ffff1a
Test and fix simple_query
2019-07-28 16:34:07 -07:00
Steven Fackler
07e5930ddb
Handle target_session_attrs
2019-07-28 16:02:34 -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
4396f38fcc
Setup socket
2019-07-25 07:21:53 -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
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
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
956ba12b54
Conversions from INET to IpAddr
...
We ignore the netmask when deserializing and use /32 or /128 when
serializing.
Closes #430
2019-04-03 21:30:49 -07:00
Steven Fackler
e549f8d635
Fix features
2019-03-05 21:47:34 -08:00