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
Steven Fackler
e0d113791c
Rename raw cancel query
2019-01-06 11:33:22 -08:00
Steven Fackler
940cbb8d4b
Remove future from MakeTlsMode
...
It's unlikely to be useful in practice, and just introduces more
complexity.
2019-01-05 22:07:20 -08:00
Steven Fackler
0ae7670e05
tokio-postgres crate root docs
2019-01-05 21:39:08 -08:00
Steven Fackler
b55c2ea3c4
Regenerate phf map for new release
2019-01-04 16:57:15 -08:00
Steven Fackler
b2f1d51451
cleanup
2019-01-03 21:14:34 -08:00
Steven Fackler
9e25e47fe0
cleanup
2019-01-01 12:20:41 -08:00
Steven Fackler
8dcad81224
Support URL-style configuration strings
2019-01-01 12:11:30 -08:00
Steven Fackler
272f1a88b9
Fix warning
2018-12-30 20:15:42 -08:00
Steven Fackler
a675b0b50a
Accept a limited set of parameters in Config
...
This matches with libpq's behavior, which doesn't allow arbitrary
parameters. You can still set arbitrary parameters, just through the
`options` field.
2018-12-30 20:07:03 -08:00
Steven Fackler
45444d6c51
Support target_session_attrs
...
Closes #399
2018-12-30 11:50:15 -08:00
Steven Fackler
38db34eb6a
Support TCP keepalive
2018-12-30 09:38:12 -08:00
Steven Fackler
9116147aee
Rename Builder to Config
2018-12-29 21:00:58 -08:00
Steven Fackler
6ae93a0634
Add a convenience connect free function
2018-12-29 13:28:38 -08:00
Steven Fackler
23552b44a4
Simplify unix path handling a bit
2018-12-28 14:33:27 -05:00
Steven Fackler
634d24a951
Wrap Builder in an Arc
...
The builder ends up being cloned a couple of times per connection, so
use Arc::get_mut to make that faster.
2018-12-28 14:16:38 -05:00
Steven Fackler
540bcc5556
Remove unused type
2018-12-28 13:55:09 -05:00
Steven Fackler
635e6381b3
A less stringy builder
...
This allows us to support things like non-utf8 passwords and unix socket
directories.
2018-12-28 13:51:30 -05:00
Steven Fackler
e80e1fcaaf
Don't require passwords to be strings in protocol
2018-12-27 17:36:04 -05:00
Steven Fackler
aa1e587433
Make internal simple query future a stream
2018-12-27 13:51:39 -05:00
Steven Fackler
defe764520
Support connect_timeout
2018-12-25 16:11:33 -05:00
Steven Fackler
d5104bc473
Turn on TCP nodelay in socket
2018-12-25 15:35:33 -05:00
Steven Fackler
be022b537c
Fix poll_idle test race
2018-12-24 13:02:48 -05:00
Steven Fackler
760e4a4f3b
Guarantee some buffer for messages
2018-12-23 15:50:41 -08:00
Steven Fackler
7eaac1cb1a
Sync copy_in support
2018-12-22 21:42:03 -08:00
Steven Fackler
1fdfefbeda
Add Client::poll_idle
...
Closes #403
2018-12-22 17:02:48 -08:00
Steven Fackler
b9e8b4868b
Add Client::is_closed
2018-12-21 21:08:26 -08:00
Steven Fackler
26eb27e70d
Support one-off queries in sync API
...
We can't do this in tokio-postgres while borrowing the parameters, but
it's fine in the sync API!
2018-12-21 20:13:15 -08:00
Steven Fackler
7d20064bd0
Rename into_cause to into_source
2018-12-20 20:36:14 -08:00
Steven Fackler
23b0d6e6f3
Support multiple hosts when connecting
...
cc #399
2018-12-19 20:18:48 -08:00
Steven Fackler
7e7ae968c1
Prep for multi-host support
...
cc #399
2018-12-18 21:39:05 -08:00
Steven Fackler
56088a9a46
Fix warning
2018-12-17 21:59:14 -08:00
Steven Fackler
919012d0c9
Finish convenience API
2018-12-17 21:25:21 -08:00
Steven Fackler
7df7fc715b
Start on runtime API
2018-12-16 22:00:46 -08:00
Steven Fackler
707b87a18e
Fix parameter parsing and add test
...
Our behavior matches libpq's - in particular it allows any escape
sequence and trailing \'s...
2018-12-16 19:24:22 -08:00
Steven Fackler
7297661cef
Shift tests down
2018-12-16 16:08:55 -08:00
Steven Fackler
46f4a2911c
Deserialize libpq-style connection strings
...
Just the key/value pair version for now - URLs will come later
2018-12-13 21:03:47 -08:00
Steven Fackler
10a850a527
Hide trait method
2018-12-10 21:15:49 -08:00
Steven Fackler
c23e3e0bda
Merge row bits
2018-12-10 20:56:22 -08:00
Steven Fackler
fa8fa1a75b
rustfmt
2018-12-09 21:44:59 -08:00
Steven Fackler
04ce4bb7a1
Run clippy
2018-12-09 21:44:07 -08:00
Steven Fackler
8c3338e37d
Enforce rustfmt in CI
2018-12-09 18:01:36 -08:00
Steven Fackler
0db96ff62e
Add back type tests
2018-12-09 16:19:45 -08:00
Damir Vandic
9f7ccebd8b
Update features for meta data docs.rs
2018-12-09 17:13:14 +01:00
Steven Fackler
12345a73b0
Upgrade uuid and eui48
2018-12-08 18:09:19 -08:00
Steven Fackler
69a016fd85
Rename optional crate imports
2018-12-08 18:07:09 -08:00
Steven Fackler
6ff59acdd2
rustfmt
2018-12-08 17:53:30 -08:00
Steven Fackler
b4ce9c38e5
Upgrade tokio-postgres to 2018 edition
2018-12-08 17:52:20 -08:00
Steven Fackler
4d16fbb906
Get rid of postgres-shared
2018-12-08 17:39:20 -08:00
Kyle Huey
39efb1378a
Remove now-gone with-openssl from docs metadata.
2018-12-05 10:59:04 -08:00
Steven Fackler
db771e8bdf
Switch copy_in to use Buf
2018-12-02 21:26:10 -08:00
Steven Fackler
43e6598983
Modernize error a bit
2018-12-01 20:27:06 -08:00
Steven Fackler
d58b1815ad
Fix up new transaction API
2018-12-01 20:01:46 -08:00
Steven Fackler
a9b01b4807
Merge pull request #384 from DarrenTsung/transaction-builder
...
Add a TransactionBuilder struct
2018-12-01 19:56:44 -08:00
Steven Fackler
d9d81b53a3
Tweak ChannelBinding API
2018-11-30 08:13:10 -08:00
Steven Fackler
39e2723ccb
Remove tls-unique channel binding
...
This got axed in the stable PostgreSQL 11 stable release.
2018-11-28 20:09:04 -08:00
Steven Fackler
a24b927bbb
Fix CopyIn Future bound
2018-11-28 19:44:07 -08:00
Steven Fackler
52dd0b6780
rustfmt
2018-11-28 19:32:29 -08:00
Steven Fackler
08b4020534
Overhaul connection APIs
...
* `Connection` is now parameterized over the stream type, which can be
any `AsyncRead + AsyncWrite`.
* The `TlsMode` enum is now a trait, and `NoTls`, `PreferTls`, and
`RequireTls` are types implementing that trait.
* The `TlsConnect` trait no longer involves trait objects, and returns
channel binding info alongside the stream type rather than requiring
the stream to implement an additional trait.
* The `connect` free function and `ConnectParams` type is gone in favor
of a `Builder` type. It takes a pre-connected stream rather than
automatically opening a TCP or Unix socket connection.
Notably, we no longer have any dependency on the Tokio runtime. We do
use the `tokio-codec` and `tokio-io` crates, but those don't actually
depend on mio/tokio-reactor/etc. This means we can work with other
futures-based networking stacks.
We will almost certainly add back a convenience API that offers
something akin to the old logic to open a TCP/Unix connection
automatically but that will be worked out in a follow up PR.
2018-11-28 19:20:40 -08:00
Steven Fackler
0e60d80d4b
Parameterize Connection over the stream
2018-11-25 08:49:28 -08:00
Darren Tsung
f3777bed76
Add a TransactionBuilder struct
...
The TransactionBuilder is useful when trying to create a Transaction
around a future which takes ownership of the client. See doc comment
for more details.
2018-11-06 10:14:32 -08:00
Steven Fackler
04bd98e7ed
Make TlsConnect Sync and Send
...
Closes #382
2018-10-27 16:31:51 -07:00
Steven Fackler
16d1a050e7
Tweak docs
2018-10-14 17:50:21 -07:00
Michael Niens
d6fd28d02f
Allow to build on Windows
...
Someone forgot to handle the non unix case for this match which prevented a build on windows.
A similar line already existed here in line 51 to 56.
5ad7850009/tokio-postgres/src/stream.rs
2018-08-26 00:06:42 +02:00
Steven Fackler
4eecb59bf4
Used released tokio-uds
2018-08-19 22:07:01 -07:00
Steven Fackler
5bea375b37
Remove the flush step from connect future
...
The socket's not buffered, so there's no need to do this.
2018-08-18 13:02:52 -07:00
Steven Fackler
7de5ac85af
Merge pull request #368 from StoriqaTeam/geo-0.10
...
Support geo 0.10
2018-08-17 10:59:54 -07:00
Artem Vorotnikov
a33edae15b
Upgrade to geo-0.10
2018-08-17 18:18:28 +03:00
Steven Fackler
89f5198261
Add query_portal
2018-08-15 21:00:15 -07:00
Steven Fackler
349f3764a9
Don't bother waiting for a ReadyForQuery
...
We use it in the connection to track framing but don't need to wait
around for it in the individual futures/streams
2018-08-15 20:24:50 -07:00
Steven Fackler
dcde61c16d
Add bind/portal
2018-08-15 19:53:20 -07:00
Steven Fackler
a4bdcb11e4
Overhaul error type
2018-08-15 10:27:34 -07:00
Steven Fackler
a05adff20d
Make DbError's fields private
2018-08-14 16:58:10 -07:00
Steven Fackler
1d9ae82198
Move error in-crate
...
We'll operate under the assumption that postgres will end up being a
wrapper on top of tokio-postgres so postgres-shared goes away.
2018-08-13 13:25:29 -06:00
Steven Fackler
3d22aa323b
Make copy_in stream more flexible
2018-08-12 21:23:21 -06:00
Steven Fackler
bfd2c7f436
Fix assert
2018-08-12 20:49:59 -06:00
Steven Fackler
b74f5c80d0
copy in support
2018-08-12 20:19:27 -06:00
Steven Fackler
daeb5389ed
log typo
2018-08-10 11:35:14 -07:00
Steven Fackler
7056e3ec24
Copy out support
2018-07-15 19:40:15 -07:00
Steven Fackler
9e399aa93f
Basic transaction support
2018-07-14 14:59:37 -07:00
Steven Fackler
bf0633681b
Fix pipelined preparation
...
We can end up double-preparing the typeinfo queries if we're pipelining
preparation, so pick a unique name for them.
2018-07-08 16:06:53 -07:00
Steven Fackler
53657b828a
Implement batch_execute
2018-07-07 22:42:04 -07:00
Steven Fackler
3955d26c20
Don't hold strong references in statements
...
There's no need for the connection to stay open until statements drop -
they'll be cleaned up anyway once the connection dies.
2018-07-07 16:43:07 -07:00
Steven Fackler
1788a03baa
notification/notice support
2018-07-07 10:11:16 -07:00
Steven Fackler
997b5e01a4
Set TCP_NODELAY for tokio-postgres
2018-07-05 21:36:50 -07:00
Steven Fackler
a237a471c9
Support custom types
2018-07-05 20:48:08 -07:00
Steven Fackler
be2ca03fa9
tokio-postgres query cancellation
2018-06-27 22:37:43 -07:00
Steven Fackler
c2fb9c6de0
Move TLS logic to connect future
...
This way we can reuse it for query cancellation
2018-06-26 22:04:15 -07:00
Steven Fackler
6edab70b0e
Channel binding support in tokio-postgres
2018-06-26 21:17:04 -07:00
Steven Fackler
70758bcd93
tokio-postgres TLS setup
2018-06-25 21:16:18 -07:00
Steven Fackler
5fbe20fd25
Auth tests
2018-06-21 22:38:42 -04:00