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
Steven Fackler
24d216cd7f
simplify test a bit
2018-06-20 21:08:08 -04:00
Steven Fackler
e86091a268
Working select/execute
2018-06-20 20:06:11 -04:00
Steven Fackler
cb805d6057
Add execute
2018-06-19 22:10:07 -04:00
Steven Fackler
aa0fca4929
tag futures as must use
2018-06-19 19:54:29 -04:00
Steven Fackler
e9db2bf284
Defer message sends until first poll
...
This matches up generally with the "futures do nothing until polled"
model.
2018-06-19 19:51:30 -04:00
Steven Fackler
9d5a36e173
Only flush if necessary
...
If poll_write was blocked trying to write a request out to the socket,
it's because the write triggered a flush and the socket wasn't ready. We
don't want to try to flush again, since it's at best a waste of time and
at worst can cause a deadlock if the socket becomes available after the
poll_write and before the poll_flush. If that happens, we should be in
poll_write again writing more data but that wouldn't happen.
2018-06-18 22:49:53 -04:00
Steven Fackler
13fcea7ae2
Working statement preparation
2018-06-18 22:34:25 -04:00
Steven Fackler
0d0435fc2e
Start on prepare
2018-06-18 08:18:04 -04:00
Steven Fackler
8c3770bd57
Start on tokio-postgres rewrite
2018-06-16 21:29:27 -07:00
Steven Fackler
11ffcac087
Support SCRAM channel binding for Postgres 11
2018-06-01 23:07:33 -07:00
Kyle Huey
e9c773c317
Derive Debug on Notifications.
2018-05-02 09:28:09 -07:00
Steven Fackler
15b6cd57f5
Upgrade type crate versions
...
Also add the version number to the feature name. This both makes it more
obvious when using them and opens the window for support of multiple
versions simultaneously in the future.
2018-04-29 13:12:58 -07:00
Steven Fackler
2777703ef3
Make constants associated
2018-04-22 15:01:55 -07:00
Steven Fackler
fcbed9175b
Allow FromSql to borrow from the buffer
...
This allows for in-place deserialization of text and bytea values in
particular.
Row::get_bytes is removed since it previously existed for this use case.
Closes #281
2018-04-22 13:16:34 -07:00
Steven Fackler
b210624800
Fix minimum tokio-core version
2018-04-15 14:38:58 -07:00
Steven Fackler
06bcde2da1
Keepalive support in tokio-postgres
2018-04-15 14:38:01 -07:00
Kyle Huey
b9b3f47151
Change Handshake trait to not consume itself on use.
2018-01-29 04:16:32 -08:00
Kyle Huey
b171da35f5
Add an is_desynchronized
on tokio_postgres::Connection.
2018-01-29 03:05:16 -08:00
Steven Fackler
bb3ebbf943
Fix some warnings
2018-01-09 21:15:35 -08:00
Quentin Laveau
3e4186a316
Correct build error on non-unix targets for tokio-postgres
2017-10-09 09:24:43 +02:00
Steven Fackler
762a7aef7f
Release v0.3.0
2017-09-30 16:14:46 -07:00
Steven Fackler
24abd2e319
Remove more deprecated use
2017-09-30 15:22:33 -07:00
Steven Fackler
a24704e998
Fix doctest
2017-09-30 15:16:45 -07:00
Steven Fackler
6780d41225
Stop using deprecated stuff
2017-09-30 15:14:02 -07:00
Steven Fackler
9373d2fa55
Update futures-state-stream
2017-09-30 14:56:15 -07:00
Steven Fackler
d0db938f82
Forward macros
2017-07-23 15:43:05 -07:00
Steven Fackler
178d119c21
Fix build
2017-07-23 13:08:12 -07:00
Steven Fackler
1373a57cf8
Switch badge to circle
2017-07-22 15:09:06 -07:00
Steven Fackler
89f2770eeb
Build docs with features enabled
2017-07-22 15:07:45 -07:00
Steven Fackler
7b22574aa6
Mangle hidden trait method
2017-07-22 10:27:31 -07:00
Steven Fackler
792d7bf374
Just reexport types module
2017-07-20 22:58:29 -07:00
Steven Fackler
4c6e36e03a
Fixes
2017-07-19 21:27:12 -07:00
Steven Fackler
fed246e9fd
Error reform for tokio-postgres
2017-07-19 21:22:27 -07:00
Steven Fackler
d684e5edd6
Remove internals traits
2017-07-09 10:25:20 -07:00
Steven Fackler
bec973c776
Make Type an opaque type
2017-07-09 00:02:45 -07:00
Steven Fackler
561b46a7bf
Rustfmt
2017-07-08 20:53:15 -07:00
Steven Fackler
01a1529624
Make SqlState into an opaque type rather than enum
2017-07-08 20:52:36 -07:00
Steven Fackler
c4367f1bbe
Disable unix socket test
2017-07-08 19:48:29 -07:00
Steven Fackler
47b0db257c
Switch CI to CircleCI 2.0
2017-07-08 19:41:24 -07:00
Steven Fackler
6a86f8dd85
Rustfmt
2017-06-30 17:35:17 -10:00
Steven Fackler
3809972907
Fix execute of statements which return rows
...
Closes #274
2017-06-30 17:33:49 -10:00
Steven Fackler
9628c5b89d
Release tokio-postgres v0.2.3
2017-06-11 13:11:19 -07:00
Steven Fackler
138f89993c
Release postgres-shared v0.3.0
2017-06-11 13:07:33 -07:00
Steven Fackler
9bb59ced69
More doc fixes
2017-05-07 19:19:48 -07:00
Steven Fackler
6b008766bf
Use the bytes crate for backend message parsing ( #253 )
2017-05-06 08:28:07 -07:00
Steven Fackler
413d1db5cd
Release tokio-postgres v0.2.2
2017-05-02 08:56:12 -07:00
Steven Fackler
1352f32421
Reexport openssl in tokio-postgres as well
2017-05-01 22:09:50 -07:00
gwenn
d406277ef9
Add categories and badges for Cargo ( #252 )
...
Category `database` is "Database interfaces"
Badge for Travis CI
2017-04-29 10:03:52 -07:00
Steven Fackler
23c232cbeb
Start using tokio_io
2017-04-23 15:39:07 -07:00
Steven Fackler
6df3842274
Move postgres-protocol in-tree
2017-03-12 13:46:01 -07:00
kestred
efbf30c4fe
Support geo types with georust/geo
2017-03-10 16:33:43 -07:00
Steven Fackler
9126ec4ef2
Support notifications on tokio-postgres
...
Closes #242
2017-03-08 10:38:20 +11:00
Steven Fackler
5685dded4e
Release tokio-postgres 0.2.1
2017-02-23 20:40:02 -08:00
Steven Fackler
6e2927bf7e
Rustfmt
2017-02-23 20:27:29 -08:00
Steven Fackler
68ba14d679
Fix build
2017-02-23 20:20:50 -08:00
Steven Fackler
682a45bb79
Don't depend on tokio-uds on Windows
...
Closes #236
2017-02-23 19:48:20 -08:00
Steven Fackler
8f1d076303
Release tokio-postgres v0.2.0
2017-02-20 21:30:14 -08:00
Steven Fackler
c59799e376
Refactor connectparams
2017-02-15 21:42:27 -08:00
Steven Fackler
4c91a68dcc
try! -> ?
2017-02-14 22:46:19 -08:00
Steven Fackler
28b7f05cb6
Fix warnings
2017-02-14 22:16:42 -08:00
Steven Fackler
a8ed34b66e
Remove SessionInfo
...
This was never actually used, and is incompatible with tokio-postgres's
API.
2017-02-14 22:10:58 -08:00
Steven Fackler
814c5797c5
Release tokio-postgres v0.1.1
2017-02-04 15:37:34 -08:00
Steven Fackler
f37b9cfaf7
Manually inline types module
...
Doc inlining doesn't work with globs.
2017-02-04 15:11:29 -08:00
Steven Fackler
b673d8a727
Make statement IDs globally unique
...
This avoids weird behavior when using a statement with the wrong
connection
2017-01-07 14:36:40 -08:00
Steven Fackler
6275056953
Set the doc root
2016-12-26 17:38:07 -05:00
Steven Fackler
eb53d51512
Add a doc example
2016-12-26 17:19:43 -05:00
Steven Fackler
def38b4772
Fix docs lik
2016-12-26 17:00:07 -05:00
Steven Fackler
9298c7921c
Fix doc link
2016-12-26 16:59:48 -05:00
Steven Fackler
90bc787b75
Release tokio-postgres v0.1.0
2016-12-26 16:48:10 -05:00
Steven Fackler
5004efb792
Rename crate
2016-12-26 16:41:09 -05:00