Commit Graph

208 Commits

Author SHA1 Message Date
Steven Fackler
ec7dd96a30 Disallow use of wrong transactions
We don't want to allow statements to outlive the active transaction in
which they were prepared.
2014-05-18 19:34:01 -07:00
Steven Fackler
04ba539ca6 Some cleanup 2014-05-18 11:37:52 -07:00
Steven Fackler
7cbbccf79a Update for upstream changes 2014-05-17 16:40:08 -07:00
Steven Fackler
0aac8225be Impl IntoConnectParams for Url 2014-05-16 20:47:03 -07:00
Steven Fackler
b9efef80fd Swap to better format macro
This'll make it easier to not forget to switch back to format! when it
gets updated.
2014-05-16 19:18:42 -07:00
Steven Fackler
7849a5843d Death to ~str! 2014-05-15 19:59:01 -07:00
Steven Fackler
dcd47041d0 More ~str -> StrBuf 2014-05-15 19:27:19 -07:00
Steven Fackler
1909bd46b4 Update for upstream StrBuf changes 2014-05-15 19:11:23 -07:00
Steven Fackler
d1c412b393 More ~str -> StrBuf 2014-05-12 22:05:37 -07:00
Steven Fackler
dc6bb579c2 Little cleanup 2014-05-11 23:28:54 -07:00
Steven Fackler
a00ad0d54e Start to move to StrBuf 2014-05-11 21:52:59 -07:00
Steven Fackler
6e0a860b9d Pull IO stuff out to a separate module. 2014-05-04 12:21:52 -07:00
Steven Fackler
ff587b3334 Use Box instead of ~ 2014-05-03 22:38:50 -07:00
Steven Fackler
c61c0c23cc Change doc root URL 2014-04-27 23:16:59 -07:00
Steven Fackler
180c13dee6 Clean up string creation 2014-04-26 14:46:38 -07:00
Steven Fackler
ecea5672a7 Minor cleanup 2014-04-25 23:14:55 -07:00
Steven Fackler
ec43eb86a6 Allocate with box instead of ~ 2014-04-25 21:59:44 -07:00
Steven Fackler
e1ebf3a953 Clarify SSL limitations
cc #36
2014-04-23 22:54:34 -07:00
Steven Fackler
9eb69c7149 Bump rust-phf version 2014-04-23 20:33:13 -07:00
Steven Fackler
8eca3aecb6 Remove frumious pool hack 2014-04-22 22:14:12 -07:00
Steven Fackler
47cb9b1c3e Eliminate a few more sources of failure + refactor 2014-04-21 22:53:14 -07:00
Steven Fackler
aca87688fe Don't decode a non-path host
We should let the DNS resolution system handle that part.
2014-04-21 21:43:00 -07:00
Steven Fackler
59e548623c De ~"" 2014-04-21 21:01:44 -07:00
Steven Fackler
ed1b75147e Minor docs cleanup 2014-04-20 22:53:54 -07:00
Steven Fackler
5c866ba20b Unify Unix and TCP connection creation
Not all Unix socket setups can be configured via a URL connection string
since paths need not be UTF8, so it's possible to directly pass a
`PostgresConnectParams` type into `connect`.

In addition, an SSL encrypted connection can be used via Unix sockets.
2014-04-20 22:27:55 -07:00
Steven Fackler
11193628e9 Re-pub ResultDescription fields 2014-04-20 14:38:11 -07:00
Steven Fackler
2085d01c01 Enable the connect_unix doc test 2014-04-19 11:10:27 -07:00
Steven Fackler
cc3db19974 Merge pull request #35 from zr40/add-unix-domain-socket
Add support for connecting through Unix sockets
2014-04-19 12:45:48 -04:00
Matthijs van der Vleuten
5e85d6b9bd test_unix_connection now detects the socket directory.
Change pg_hba.conf to allow connections through the socket.

Ignore connect_unix doc test. It requires `extern crate url;` which is not allowed with rustdoc.

Also, per comments on PR #35:
- Inline open_unix
- Centralize common code from connect and connect_unix in connect_finish.
2014-04-19 11:42:17 +02:00
Steven Fackler
3c2394fbeb Update for ~[T] changes 2014-04-19 00:01:20 -07:00
Matthijs van der Vleuten
707e7ccfa4 Add support for connecting through Unix sockets
Includes connection test (assumes socket is in /tmp, the default location).
2014-04-18 23:41:39 +02:00
Steven Fackler
e8f183d589 Workaround rustc bug
There's an assert getting tripped in the metadata encoder
2014-04-15 23:49:41 -07:00
Steven Fackler
650a03003d Less sketchy shift 2014-04-11 19:57:09 -07:00
Steven Fackler
8516d841f1 Tweak connection pool API 2014-04-11 19:45:06 -07:00
Steven Fackler
a1acc98f5b More cleanup 2014-04-09 21:28:50 -07:00
Steven Fackler
3c4dcf8768 Add a canary to PostgresConnection
This is a workaround for mozilla/rust#13246 to prevent total badness
until it gets fixed.

cc #34, #31
2014-04-07 20:52:41 -07:00
Steven Fackler
0d70c17151 Update for IO Vec changes 2014-04-07 20:02:05 -07:00
Steven Fackler
48501cfb73 Stop failing in destructors
I'm not sure what the right thing to do is here, but ignoring errors is
what the standard library does.
2014-04-06 23:37:17 -07:00
Steven Fackler
40d5125f2c Re-pub some fields 2014-04-02 22:56:16 -07:00
Steven Fackler
15f79973a4 Make a PostgresResult typedef 2014-04-02 21:26:41 -07:00
Steven Fackler
ec6fd52301 Fix error message 2014-04-02 09:19:38 -07:00
Steven Fackler
3181d39be8 Use more idiomatic names for row iterators 2014-04-02 00:16:21 -07:00
Steven Fackler
3e5a48dfb6 Update for privacy overhaul
The ToSql impl for Timespec is broken as some fields became accidentally
private
2014-04-01 00:32:10 -07:00
Jim Radford
28fd9e8bdb Better errors when a column has the wrong type 2014-03-31 21:35:09 -07:00
Steven Fackler
a9ec7256a7 More cleanup 2014-03-30 19:21:51 -07:00
Steven Fackler
5157a00587 Miscellaneous cleanup 2014-03-30 16:19:04 -07:00
Steven Fackler
9ff7b3d00a Remove mandatory failure from row lookup 2014-03-29 17:01:41 -07:00
Steven Fackler
4adf743aeb Update for upstream changes 2014-03-29 14:33:11 -07:00
Steven Fackler
61f9f43cf3 Stop failing on wrong types 2014-03-27 22:43:10 -07:00
Steven Fackler
76ff679f9a Don't fail on wrong param count 2014-03-27 21:39:03 -07:00
Steven Fackler
0916a53df3 Make lazy_query result return a Result 2014-03-27 21:20:04 -07:00
Steven Fackler
78c96f23a4 Remove failing wrappers
Embrace the error propogation!
2014-03-27 21:08:22 -07:00
Steven Fackler
2d59e5911a Fix PostgresLazyResult docs 2014-03-25 21:50:59 -07:00
Steven Fackler
587cbff836 Restructure lazy query API
It doesn't make any sense to limit lazy queries to statments *prepared*
inside a transaction. We really only care that we're in a transaction
when the statement is executed. This does introduce a new runtime error
if a statement prepared on connection A is executed on a transaction
prepared on connection B, but I don't think anyone will *ever* run into
that.
2014-03-25 21:07:42 -07:00
Steven Fackler
a773f19c20 Some cleanup 2014-03-23 17:34:50 -07:00
Steven Fackler
613ceec630 Updates for upstream changes 2014-03-22 21:20:22 -07:00
Steven Fackler
ec82c45cc9 Updates for API changes 2014-03-20 19:14:20 -07:00
Steven Fackler
2a822eb8c0 Use autoderef stuff for RefCell 2014-03-18 21:00:06 -07:00
Steven Fackler
01e77a06f2 Link in logging crate 2014-03-17 21:05:04 -07:00
Steven Fackler
15eb3891c5 Down with libextra! 2014-03-15 21:35:44 -07:00
Steven Fackler
5b646c0ca1 Some ~[] -> Vec work 2014-03-14 22:33:24 -07:00
Steven Fackler
3cf70fa533 Use no_run for doc tests 2014-03-10 10:06:40 -07:00
Steven Fackler
8034413247 De-globbing 2014-03-09 22:01:51 -07:00
Steven Fackler
58571cab26 Add examples! 2014-03-09 15:22:20 -07:00
Steven Fackler
3760a98528 Check doc code blocks 2014-03-08 22:01:24 -08:00
Steven Fackler
42c6255412 Updates for upstream changes 2014-02-26 00:40:57 -08:00
Steven Fackler
9b81b556a1 Update for hashmap move 2014-02-23 22:32:14 -08:00
Steven Fackler
75de360e9f Update for API changes 2014-02-21 23:18:39 -08:00
Steven Fackler
c78266b06d Lower visibility on thing 2014-02-15 19:16:12 -08:00
Steven Fackler
8831466caa Split statement and result logic out of lib.rs 2014-02-15 18:59:16 -08:00
Steven Fackler
e22a310aad Switch to extern crate syntax 2014-02-15 15:03:35 -08:00
Steven Fackler
7c9f552eb4 Update for hex move 2014-02-13 19:26:52 -08:00
Steven Fackler
0f4e4e9c08 Sort use statements 2014-02-11 23:44:07 -08:00
Steven Fackler
d72c607b6d Don't desync the stream on error in quick_query 2014-02-11 23:09:27 -08:00
Steven Fackler
8ae9636422 Forward errors from statement and portal cleanup 2014-02-11 23:07:34 -08:00
Steven Fackler
835f745be2 Updates for library changes 2014-02-10 19:20:53 -08:00
Steven Fackler
dfb61df672 Don't fail on drop with a desynched stream 2014-02-10 00:20:39 -08:00
Steven Fackler
6e37db330b Properly handle object cleanup errors
Destructors now fail and there's a finish method returning an error.
2014-02-09 23:55:16 -08:00
Steven Fackler
dec566e683 Track stream desynchronization
If we hit an IO error talking to the server, message framing has
probably been lost and we shouldn't try to keep talking.
2014-02-09 22:45:26 -08:00
Steven Fackler
d84acfda52 Rename tests module to test 2014-02-09 16:01:09 -08:00
Steven Fackler
0ea80b4c99 Build dynamic and static libs 2014-02-09 15:55:31 -08:00
Steven Fackler
e0ec05c9de Update for collections split 2014-02-08 10:24:21 -08:00
Steven Fackler
26a0cdaae7 Use a Cell for next_portal_id 2014-02-07 18:17:40 -08:00
Steven Fackler
774533e1df Add a size_hint to result iterator 2014-02-07 18:07:25 -08:00
Steven Fackler
c413633fa9 More error checking 2014-02-06 22:59:43 -08:00
Steven Fackler
e7a2ee8bd8 More updates for upstream changes 2014-02-06 21:37:05 -08:00
Steven Fackler
fdd1f4f88d Beginnings of fixes for IO API changes
It is still very much incorrect in the face of errors, but it's better
2014-02-06 20:58:47 -08:00
Steven Fackler
dbb698b9f3 Rename notification iterator 2014-02-03 00:09:48 -05:00
Steven Fackler
d6aa529474 Move source files to src directory
The root was getting too crowded.
2014-02-02 23:28:59 -05:00
Steven Fackler
88bb03119a Restructure to support rustpkg 2013-09-28 20:30:35 -07:00
Steven Fackler
81af9e9e98 Import Port 2013-09-28 11:14:06 -07:00
Steven Fackler
ce0031c5d0 Restructure Cell wrapping for PostgresConnection
It's silly to wrap each individual field in Cell when we can just wrap
everything together.
2013-09-19 21:06:45 -07:00
Steven Fackler
bad3a5e36c Stop storing query string in statement
The query string isn't as useful here since any error at this stage
won't be a syntax issue.
2013-09-18 20:54:47 -07:00
Steven Fackler
fa472cf312 Restructure conn pool to RAII style 2013-09-17 22:06:47 -07:00
Steven Fackler
65aabf5147 Sketches of a connection pool 2013-09-16 23:03:13 -07:00
Steven Fackler
2f282affe6 Move transaction cleanup to descructor
Support for connection pooling, since we'll recover the conn after a
task failure.
2013-09-15 22:35:30 -07:00
Steven Fackler
3a7f9ac50c Updated README with error code stuff 2013-09-15 19:26:56 -07:00
Steven Fackler
1858ed41dc Better error output 2013-09-14 22:56:52 -07:00
Steven Fackler
a00843751e Parse Notice/Error SQLSTATE codes
The enum is stuck inside of an extra module due to mozilla/rust#4375.
2013-09-14 21:37:20 -07:00
Steven Fackler
f392d6caf1 Use buffered IO
Closes #17
2013-09-14 13:08:09 -07:00