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
42cf855168
Include the Rust type name in WrongType
2019-09-06 04:37:26 -07:00
Jeb Rosen
98fb1173f5
Make prepare() return a Future that satisfies Send.
2019-09-03 18:44:30 -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
2311ceac41
Cleanup shutdown call
2019-08-03 18:11:22 -07:00
Steven Fackler
f5a8b1de68
Update postgres
2019-08-03 18:09:27 -07:00
Steven Fackler
2a97c20bf2
Clean up old test
2019-08-02 20:31:15 -07:00
Steven Fackler
048e91a57d
Use flush combinator
2019-08-02 20:30:36 -07: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
785205ffb2
Finish documenting everything
2019-08-01 18:40:14 -07:00
Steven Fackler
5dccb9988a
Test notifications
2019-07-31 21:19:56 -07:00
Steven Fackler
e521e3b0a5
Transaction::copy_out
2019-07-31 20:16:07 -07:00
Steven Fackler
9c178ad816
Support copy_out
2019-07-31 20:15:17 -07:00
Steven Fackler
81bc845bcf
Simplify logic a bit
2019-07-31 19:44:16 -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
9d851f6727
Fix doc examples
2019-07-29 18:55:11 -07:00
Steven Fackler
6fac2186ce
Fix Windows build?
2019-07-29 15:17:45 -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
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
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
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
904c951ad6
Release postgres v0.16.0-rc.2
2019-06-29 21:43:50 -07:00
Steven Fackler
310f0ebfc6
Release tokio-postgres v0.4.0-rc.3
2019-06-29 21:18:28 -07:00
Steven Fackler
47d83d57a0
Release postgres-protocol v0.4.1
2019-06-29 21:06:23 -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
3f264027c9
Fix some typos
2019-06-29 12:32:46 -07:00
Steven Fackler
2d2a5dea81
Send response messages in blocks
...
Our codec implementation originally just parsed single messages out of
the stream buffer. However, if a query returns a bunch of rows, we're
spending a ton of time shipping those individual messages from the
connection back to the Query stream. Instead, collect blocks of unparsed
messages that are as large as possible and send those back.
This cuts the processing time of the following query in half, from ~10
seconds to ~5:
`SELECT s.n, 'name' || s.n FROM generate_series(0, 9999999) AS s(n)`
At this point, almost all of the remainder of the time is spent parsing
the rows.
cc #450
2019-06-27 21:47:13 -07:00
Steven Fackler
9dbeb849f8
rustfmt
2019-06-25 19:20:59 -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
4a5d30b4c6
Buffer copy_in messages
...
Otherwise there's a ton of overhead passing tons of tiny messages over
channels.
2019-06-22 21:22:03 -07:00
Steven Fackler
d8842982b0
Include the parameter/column index in type conversion errors
...
Closes #442
2019-05-20 19:05:54 -07:00
Steven Fackler
1270524df2
Fix new clippy warnings
2019-04-11 19:51:42 -07:00
Steven Fackler
0c8ecc0240
Release postgres v0.16.0-rc.1
2019-04-06 20:59:01 -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
6c0ec6a6bf
TLS docs for tokio-postgres
2019-04-01 21:56:25 -07:00
Steven Fackler
1cbf9a1b8d
Fix build
2019-03-10 16:39:10 -07:00
Steven Fackler
3b31551f73
Upgrade fallible-iterator
2019-03-10 16:32:28 -07:00
Steven Fackler
374fadb816
Release tokio-postgres-openssl v0.1.0-rc.1
2019-03-06 21:05:04 -08:00
Steven Fackler
4f084e7b64
Release tokio-postgres v0.4.0-rc.2
2019-03-05 21:49:54 -08:00
Steven Fackler
e549f8d635
Fix features
2019-03-05 21:47:34 -08:00
Steven Fackler
4174eeeecb
Release tokio-postgres v0.4.0-rc.1
2019-03-05 21:35:46 -08:00
Steven Fackler
9385bebefc
Release postgres-protocol v0.4.0
2019-03-05 19:09:48 -08:00
Steven Fackler
9e4f4d3496
More clippy
2019-03-05 18:26:55 -08:00
Steven Fackler
23b83e5153
Upgrade state-machine-future
2019-03-04 22:24:51 -08:00
Steven Fackler
269197f743
Fix build
2019-03-04 22:22:51 -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
1d3c540dd9
Fix serde docs
2019-03-04 21:26:10 -08:00
Steven Fackler
07c7ffdac6
Finish docs for tokio-postgres
2019-03-04 21:22:50 -08:00
Steven Fackler
d35139dac9
Fix ToSql/FromSql docs
2019-03-04 20:30:57 -08:00
TheSandwichMakr
5dd9bb5eab
move Debug from Inner to Config, use Formatter::debug_struct
2019-02-20 03:03:25 +00:00
TheSandwichMakr
4bde7d2e3c
Omit passwords from debug output
2019-02-19 23:23:42 +00:00
Steven Fackler
fb6e19ae60
Use geo-types rather than geo
...
Closes #418
2019-02-17 12:34:17 -08:00
Steven Fackler
7e0f10de0b
Cleanups
2019-02-01 20:45:25 -08:00
Steven Fackler
fa3241e6b5
Fix geo feature
2019-01-31 21:28:04 -08:00
Steven Fackler
756121ed62
cleanup
2019-01-31 20:59:33 -08:00
Steven Fackler
48af741192
Add a simple_query test
2019-01-31 20:47:42 -08:00
Steven Fackler
32e09dbb91
Change batch_execute into simple_query
...
Closes #413
2019-01-31 20:35:17 -08:00
坚坚冰
5c7ddc9c85
Upgrade geo, rand and base64
2019-01-31 14:48:04 +08:00
坚坚冰
0f8943952d
fix missing '#[cfg(unix)]'
2019-01-31 12:30:45 +08:00
Steven Fackler
e3a25ad6c8
Skip DNS lookup for IP addrs
2019-01-19 13:38:51 -08:00
Steven Fackler
d2723f5382
Don't conditionally compile config bits
2019-01-18 21:29:13 -08:00
Steven Fackler
9e06d6b35e
Document impls module
2019-01-17 21:16:50 -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
Steven Fackler
07078871d9
Get rid of StringRow
...
It's not exposed by any methods, and the API isn't great.
2019-01-14 21:44:59 -08:00
Steven Fackler
2d3b9bb1c6
Move the TLS mode into config
2019-01-13 15:07:20 -08:00
Steven Fackler
dfc614bed1
Doc fixes
2019-01-08 13:45:54 -08:00
Steven Fackler
5b045940f4
Rename handshake to connect_raw
2019-01-07 21:45:09 -08:00
Steven Fackler
3a01c8c3a3
Finish config documentation
2019-01-07 21:27:52 -08:00
Steven Fackler
364a19b0b3
Fix test
2019-01-07 21:19:09 -08:00
Steven Fackler
03d1a5aed3
Fix build
2019-01-07 21:10:15 -08:00
Steven Fackler
e372cdc6f9
Docs
2019-01-07 20:44:26 -08:00
Steven Fackler
1f6d9ddc06
Overhaul query cancellation
...
Multi-host support means we can't simply take the old approach - we need
to know which of the hosts we actually connected to. It's also nice to
move this from the connection to the client since that's what you'd
normally have access to.
2019-01-06 18:03:51 -08:00
Steven Fackler
a6535b4310
Internal connect refactoring
2019-01-06 15:20:28 -08:00