Commit Graph

867 Commits

Author SHA1 Message Date
Steven Fackler
d381269773 Fix errors from variant type namespace thing 2014-09-22 00:21:16 -07:00
Jim Radford
b8e93ab65e UnixStream moved from std::io::next::unix to std::io::net::pipe 2014-09-18 20:21:37 -07:00
Steven Fackler
c8cc3799be Fix deprecation warnings 2014-09-17 22:57:23 -07:00
Steven Fackler
0c1dccfd52 Remove unneeded crate_name attribute 2014-09-14 19:27:15 -07:00
Steven Fackler
61992878f1 Cleanup in types::range 2014-09-13 22:54:40 -07:00
Steven Fackler
d9b7d3c4d2 Remove some failure
Avoid reborrowing a RefCell over and over since it'll bloat at least the
IR and maybe the resulting binary with failure cruft.
2014-09-12 22:07:10 -07:00
Steven Fackler
c40fc64197 Reenable types::array
We really shouldn't need the 'static bound on T, but that can be fixed
another day.
2014-09-11 21:40:52 -07:00
Steven Fackler
e362feb85b Suppress warnings 2014-09-11 21:35:10 -07:00
Steven Fackler
9a7e5b7c7d Misc cleanup 2014-09-06 16:33:43 -07:00
Steven Fackler
e930dd8105 Fix up for openssl changes 2014-09-05 21:57:08 -07:00
Steven Fackler
fa34efba8f Change docs to work around coercion issue 2014-08-30 10:57:46 +01:00
Steven Fackler
7a84a16b41 Get things building again
I'm temporarily diabling arrays until I have a chance to look over and
make sure the API is sound.

This also works around a trait object coercion regression:
rust-lang/rust#16861
2014-08-30 10:25:38 +01:00
Steven Fackler
364c213383 Add back crate_name for rustdoc 2014-08-23 09:17:58 -07:00
Steven Fackler
9d44bb8c7e Fix doc typo 2014-08-20 22:40:11 -07:00
Steven Fackler
b8539003c3 Improve examples a bit 2014-08-19 21:49:27 -07:00
Steven Fackler
30a3210be0 Revert "Strip prefixes from types"
This reverts commit ccdb02f661.

I'm not sure this is the right way to go just yet
2014-08-18 22:02:16 -07:00
Steven Fackler
ccdb02f661 Strip prefixes from types
They can be prefixed with the crate name
2014-08-18 21:52:56 -07:00
Steven Fackler
44da9d9e1e Start using where clauses 2014-08-17 13:57:58 -07:00
Steven Fackler
d0c1d71529 Get out of the way of the where keyword
Closes #52
2014-08-17 00:42:02 -07:00
Steven Fackler
3b8ac2cdd7 cargo update 2014-08-16 14:26:04 -07:00
Steven Fackler
d9e4625f01 Switch stuff to unsigned types 2014-08-15 20:14:46 -07:00
Steven Fackler
f7c0038fa3 Formatting cleanup 2014-08-15 19:50:11 -07:00
Steven Fackler
dec56db1d6 Remove old crate attributes 2014-08-15 19:25:12 -07:00
Steven Fackler
97efc52a3b Formatting cleanup 2014-08-14 23:05:11 -07:00
Steven Fackler
455dea3bd0 Force all result formats to binary 2014-08-14 20:22:12 -07:00
Steven Fackler
53407e7ae0 Allow deprecation in a deprecated module
c.c
2014-08-13 21:58:06 -07:00
Steven Fackler
ab59eac6fc Derive things for errors 2014-08-10 13:08:44 -07:00
Steven Fackler
7d263ca5f8 Fix pool documentation 2014-08-06 00:11:00 -07:00
Steven Fackler
f04fc0d118 Deprecate connection pool 2014-08-05 23:28:08 -07:00
Steven Fackler
d374641ecb Remove some indirection from files 2014-08-02 19:10:45 -07:00
Steven Fackler
072198ed00 Remove remaining references to UUID 2014-08-02 19:09:49 -07:00
Steven Fackler
938c5ad2b3 Remove UUID support
The UUID crate is being split out from the standard Rust distribution,
and it doesn't make sense to force downstream code to pull that crate in
as well.
2014-08-02 13:40:54 -07:00
Steven Fackler
5d5b3820d5 Reorder transaction methods 2014-07-29 19:50:44 -07:00
Steven Fackler
c6333f09a4 Fix transaction batch_execute 2014-07-29 19:48:56 -07:00
Steven Fackler
d094aa615b Build docs with cargo 2014-07-28 20:04:09 -07:00
Steven Fackler
b76b5810cf range test cleanup 2014-07-26 15:49:51 -07:00
Steven Fackler
5aa7e561b5 Shift tests around 2014-07-26 15:38:57 -07:00
Steven Fackler
dfde45e7c7 Restructure range! internals a bit 2014-07-26 00:12:25 -07:00
Steven Fackler
cc75249620 Make transactions roll back by default 2014-07-25 22:41:10 -07:00
Steven Fackler
1c9d482c1d assert! -> debug_assert! 2014-07-25 20:15:24 -07:00
Steven Fackler
c71815c675 Clean up example 2014-07-25 17:56:43 -07:00
Steven Fackler
fcedda95ce Pull user info out into a separate struct 2014-07-25 17:24:10 -07:00
Steven Fackler
dc3b5d863b Remove deprecated method use 2014-07-25 16:09:34 -07:00
Marko Tiikkaja
b95299e47c Correctly handle ErrorResponse after one or more DataRows
Previously, if a query failed with an ErrorResponse after the server had
sent one or more DataRows, stmt.query() incorrectly returned
PgBadResponse.  Fix by handling the error correctly and returning it to
the caller.
2014-07-25 03:03:32 +02:00
Steven Fackler
e9f5f00d35 Remove Show impl from PostgresNotification 2014-07-22 20:40:36 -07:00
Steven Fackler
5bbf61a65e Elide some lifetimes 2014-07-21 22:46:40 -07:00
Steven Fackler
82517b172a Yay Index! 2014-07-17 19:18:37 -07:00
Steven Fackler
28744034bb Fix for upstream changes
RIP Index :(
2014-07-10 12:35:57 -07:00
Steven Fackler
b637ce640e Bump rust-phf version 2014-07-09 20:50:01 -07:00
Steven Fackler
cb096d91fc Purge failure from message layer
cc #43
2014-07-07 18:24:41 -07:00
Steven Fackler
57a31b7bf7 Refactor pool tests
Also actually build + compile types tests <_<
2014-07-07 16:08:50 -07:00
Alex Crichton
a0737d3232 Update to master 2014-07-07 06:41:43 -07:00
Steven Fackler
3590fe2788 More failure removal
CC #43
2014-07-06 21:34:27 -07:00
Steven Fackler
113466461e Purge unreachable!() use
CC #43
2014-07-06 19:02:36 -07:00
Steven Fackler
8d9d9fa08d Remove use of deprecated DuplexStream 2014-07-06 12:10:27 -07:00
Steven Fackler
7e59c4584b Down with casting! 2014-07-03 09:19:15 -07:00
Steven Fackler
29e97749bf Purge block-doc comments 2014-07-02 22:23:17 -07:00
Steven Fackler
a804769103 Remove range test 2014-06-30 21:34:22 -07:00
Steven Fackler
42123f7765 Extract tests to a separate crate
This ensures that we're only testing public API and speeds up the
development process.
2014-06-30 21:30:39 -07:00
Steven Fackler
93d5eaf399 Update for upstream changes 2014-06-30 19:58:11 -07:00
Steven Fackler
092453b3b2 Fix docs for indexing 2014-06-29 23:05:26 -07:00
Steven Fackler
8b74cb0ab4 Zero-index ResultRow
It seems like this is the decision made by every DB interface *except*
JDBC, and is more consistent with the rest of the language anyway.

Closes #42.
2014-06-29 22:53:03 -07:00
Steven Fackler
a54fdaf834 Switch docs back to rust-ci (again) 2014-06-29 14:11:38 -07:00
Steven Fackler
a9ec2a21e6 Update for * -> *const changes 2014-06-29 13:42:43 -07:00
Steven Fackler
a2fdd9b6e6 Fix stuff for int fallback removal 2014-06-27 19:36:23 -07:00
Steven Fackler
74e2fb0276 Make PooledPostgresConnection use Deref 2014-06-22 12:56:13 -07:00
Steven Fackler
f35ca8a23e Fix for unsafe_destructor feature gate 2014-06-21 15:55:12 -07:00
Mike Dilger
7622a1d395 Show trait for SQLSTATEs:
Useful for, if nothing else, debugging to determine which
 SQLSTATE occurred w/o comparing against a hundred or so possible
 states, nor loosely interpreting the message.
2014-06-21 10:13:48 +12:00
Steven Fackler
d1c477b97e Stop destructuring a trait object reference
This broke upstream but we don't even need to do it.
2014-06-18 23:56:57 -07:00
Steven Fackler
492d2370a2 Don't forward fmt config to subformats
The configs aren't supposed to apply recursively
2014-06-16 22:05:27 -07:00
Steven Fackler
dc603600d1 Makefile + syntax fixes 2014-06-16 09:20:50 -07:00
Steven Fackler
e1e44a53a4 Update for formatter changes 2014-06-14 11:18:11 -07:00
Steven Fackler
8e34fe3586 Update for upstream changes 2014-06-12 19:35:59 -07:00
Steven Fackler
ed81ceadf2 Update for unused field lint 2014-06-11 21:05:24 -07:00
Steven Fackler
2db1d477d2 Update for plugin changes 2014-06-10 23:27:07 -07:00
Steven Fackler
6537d160f6 Update for collections changes 2014-06-09 20:17:42 -07:00
Steven Fackler
32e6a70e8d Clean up batch_execute example a bit 2014-06-08 16:12:27 -07:00
Steven Fackler
60e16d3806 Add a batch_execute method 2014-06-08 16:07:15 -07:00
Steven Fackler
5e363204e1 Fix some types to match the postgres implementation 2014-06-07 16:01:50 -07:00
Steven Fackler
cb052398d6 Make lazy_query take a u32
That's what the backend accepts so larger values would just overflow.
2014-06-07 00:14:08 -07:00
Steven Fackler
aa457cb5be to_string -> to_str 2014-06-05 23:32:49 -07:00
Steven Fackler
216f15d33d Update for collections changes 2014-06-05 20:50:23 -07:00
Steven Fackler
21feed4bd8 Correctly implement {,Total}Ord for types::range 2014-06-03 21:54:47 -07:00
Steven Fackler
01d8352773 De-Total 2014-06-01 19:57:27 -07:00
Steven Fackler
2a0f92a411 Update for cmp changes 2014-05-31 10:11:18 -07:00
Steven Fackler
e6b45ed291 Update for upstream changes 2014-05-28 21:54:02 -07:00
Steven Fackler
adc81a9809 Some random cleanup 2014-05-27 21:07:58 -07:00
Steven Fackler
b926745f50 More StrBuf cleanup 2014-05-26 15:21:15 -07:00
Steven Fackler
fec7286284 use vec![] intead of Vec::new() 2014-05-26 11:41:18 -07:00
Steven Fackler
d2cd820f71 StrBuf -> String 2014-05-25 20:38:40 -07:00
Steven Fackler
584226bd23 Stop using to_strbuf 2014-05-24 20:42:07 -07:00
Steven Fackler
835da92987 Update for string changes 2014-05-23 20:08:14 -07:00
Steven Fackler
660b96d578 Cleanuuuup 2014-05-18 20:57:31 -07:00
Steven Fackler
06db735101 Add tests for transaction checks 2014-05-18 19:46:21 -07:00
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
3a01ffba83 Upgrade for upstream changes 2014-05-16 18:24:31 -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
306b9766c6 Update for upstream change 2014-05-14 19:02:38 -07:00
Steven Fackler
7f318f2865 Update for upstream changes 2014-05-13 19:27:26 -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
a720f39b08 Update for transmute move 2014-05-11 21:20:14 -07:00
Steven Fackler
d438521684 More Vec-ifying 2014-05-09 21:15:12 -07:00
Steven Fackler
8fcdf9674b Remove transmute_mut calls in types::array
There are transmute calls inside of match blocks that I don't think
should be necessary but I can't figure out how to get rid of them right
now.
2014-05-06 23:06:34 -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
James Sanders
de99157fc3 Add test for querying datname from pg_database
This is my use case for the "name" type.
2014-05-03 22:25:00 -06:00
James Sanders
b1e3e0e86e Add "name" type
This is the type of the datname column in pg_database, which I want so
that I can get a full list of databases. I'm mimicing the text types,
which seems to work, but I'm not sure if it's really the proper way to do it.
2014-05-02 17:38:06 -06:00
Steven Fackler
c61c0c23cc Change doc root URL 2014-04-27 23:16:59 -07:00
Steven Fackler
038639e433 Use PostgresResult in types 2014-04-26 15:07:48 -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
36f4266738 Clean up some internal macros 2014-04-22 23:02:56 -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
994c5fba7f Remove the last remaining {:?} 2014-04-16 20:07:06 -07: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
8bc646272f Merge pull request #33 from radford/get-connection-race
cond.signal() those in lock().cond.wait()
2014-04-05 13:39:15 -04:00
Jim Radford
5467983d08 cond.signal() those in lock().cond.wait() 2014-04-04 16:57:19 -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
b2c7e08627 Fix up timespec ToSql impl 2014-04-01 19:50:26 -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
99e759b5a9 Custom Show impls for errors 2014-03-29 20:04:37 -07:00
Steven Fackler
b930bc36f9 Remove yet more failure 2014-03-29 19:01:23 -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
793e5e9bbf Bump rust-phf and fix makefile
config.stamp isn't a thing anymore
2014-03-27 19:46:25 -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
98c92c1dca Update for sync changes
There's some scary transmuting here since PostgresConnection isn't Share
:(
2014-03-24 21:36:14 -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
537203d3cb Bump rust-phf version 2014-03-19 20:22:17 -07:00
Steven Fackler
0aec726b69 De-~[] array 2014-03-18 23:07:12 -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
c5abe8c0d7 Add ToSql impls for Vec 2014-03-14 23:01:46 -07:00
Steven Fackler
5b646c0ca1 Some ~[] -> Vec work 2014-03-14 22:33:24 -07:00
Steven Fackler
850982c0b0 Fix for upstream changes 2014-03-14 20:19:57 -07:00
Steven Fackler
9af890e7a1 Stop using private variants 2014-03-14 13:26:19 -07:00
Steven Fackler
7111d8a28b Fix for API update 2014-03-14 08:58:01 -07:00
Steven Fackler
b0751ae424 Add Range.union 2014-03-13 00:26:51 -07:00
Steven Fackler
dc65edf2d3 More ~str pattern removal 2014-03-12 23:50:10 -07:00
Steven Fackler
1a51593306 Remove ~str pattern 2014-03-12 23:34:57 -07:00
Steven Fackler
527d7376be Remove #[inline] from a generic impl 2014-03-10 10:10:27 -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
a8cf28d428 Stop using deriving for types with phantom params 2014-03-08 21:41:31 -08:00
Steven Fackler
2064ba86ad Update for Ord changes 2014-03-08 20:00:10 -08:00
Steven Fackler
5bfd0207e1 Update for upstream changes 2014-03-01 20:06:04 -08:00
Steven Fackler
42c6255412 Updates for upstream changes 2014-02-26 00:40:57 -08:00
Steven Fackler
fd9b104bd4 Remove an extra to_str 2014-02-24 21:34:07 -08:00
Steven Fackler
0d78856938 Update for ToStr removal 2014-02-24 21:08:40 -08:00
Steven Fackler
9b81b556a1 Update for hashmap move 2014-02-23 22:32:14 -08:00
Steven Fackler
6294db9500 Update for upstream changes 2014-02-22 23:02:26 -08:00
Steven Fackler
75de360e9f Update for API changes 2014-02-21 23:18:39 -08:00
Steven Fackler
721288a024 Move docs onto macro 2014-02-20 09:19:08 -08:00
Steven Fackler
8bb601304b Remove extra semicolon 2014-02-18 21:17:24 -08:00
Steven Fackler
20dc1046ee Update Arc usage 2014-02-18 21:16:26 -08:00
Steven Fackler
a42b096902 Add some sanity asserts 2014-02-16 20:35:40 -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
adec4dd5ed Make RawFromSql less sketchy 2014-02-15 13:44:48 -08:00
Steven Fackler
20c400afff Update for IO API chagnes 2014-02-15 12:25:04 -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
f8a5bd3009 Update for closure changes 2014-02-11 19:37:39 -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
481a4e1c4b Less reflection 2014-02-09 13:57:51 -08:00
Steven Fackler
b15716cf4e Up debugging and add doc string 2014-02-08 11:25:24 -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
d567ca8c7a Restructure directories for rustpkg
Turns out the src/postgres indirection isn't necessary.
2013-10-15 13:28:06 -07:00
Steven Fackler
d65d5bcbe2 Add notifications to transactions and pooled conns 2013-10-14 23:34:18 -07:00
Steven Fackler
fef8a35795 Implement asynchronous notification support
A decent first pass on #19, but there really needs to be better support
for polling for notifications than making a query and calling next()
every once in a while.
2013-10-14 22:42:28 -07:00
Steven Fackler
e2ebe60de4 Doc grammar fix 2013-10-14 19:36:01 -07:00
Steven Fackler
ca4356fd4b Change transaction API to RAII style 2013-10-13 18:58:31 -07:00
Steven Fackler
60a5dbf6a8 Some documentation cleanup 2013-10-12 23:19:57 -07:00
Steven Fackler
4299b1a5a2 Make find_col_named a default method 2013-10-12 23:12:53 -07:00
Steven Fackler
9253635fef Move pool out of its own directory
It's not going to get complicated enough at the moment to require
submodules.
2013-10-12 15:18:50 -07:00
Steven Fackler
c93b299aca Use temporary schema for PL/pgSQL function 2013-10-12 13:32:48 -07:00
Steven Fackler
4ef339f5b1 Update for PostgreSQL 9.3
Errors contain more information.

The notice handler test was rewritten to explicitly generate a notice.
2013-10-12 13:27:59 -07:00
Steven Fackler
53f342a53a Fixes for Rust changes 2013-10-10 20:50:39 -07:00
Steven Fackler
e50bbd5d5c Minor Travis config cleanup 2013-10-08 00:18:36 -07:00
Steven Fackler
039d02ed58 Fix tests on Travis 2013-10-08 00:00:58 -07:00
Steven Fackler
8a4cc66cbf Testing fixes 2013-10-07 23:00:11 -07:00
Steven Fackler
dfd414a603 Fix for latest master 2013-10-07 21:59:21 -07:00
Steven Fackler
942214b55e Hide message mod from docs 2013-10-05 12:38:33 -07:00
Steven Fackler
91f89976c8 Fix non default database usage 2013-10-04 20:26:52 -07:00
Steven Fackler
12c5ebc34b Handle errors on initial connect 2013-10-04 19:26:57 -07:00
Steven Fackler
8a738365c7 Add doc root url attribute 2013-10-04 00:01:58 -07:00
Steven Fackler
70028c4267 Add some more documentation after lint fixes 2013-10-03 22:13:58 -07:00
Steven Fackler
5a4ef27311 Fix for new printf 2013-10-01 19:55:17 -07:00
Steven Fackler
b06769bd86 Remove newtype usage
Newtype structs can't hide their internals, so it seems best to not use
them.
2013-10-01 00:40:46 -07:00
Steven Fackler
df9a348980 Fixed up example 2013-10-01 00:01:54 -07:00
Steven Fackler
e2260ca15b Minor cleanup 2013-09-30 08:35:03 -07:00
Steven Fackler
237ae8c16a Move convenience methods to default methods 2013-09-29 23:44:45 -07:00
Steven Fackler
bba1f87721 Documentation fixes 2013-09-29 22:22:10 -07:00
Steven Fackler
f484d8dceb Documentation updates 2013-09-29 22:03:11 -07:00
Steven Fackler
83c1349af9 Add back version to avoid warning 2013-09-29 20:00:27 -07:00
Steven Fackler
32f67c5abd Switch things to newtypes
The bug I thought was blocking this wasn't actually.
2013-09-29 19:55:14 -07:00
Steven Fackler
83ad914774 Documentation for everything else 2013-09-29 19:47:30 -07:00
Steven Fackler
7729cdae58 Documentation for the postgres module 2013-09-29 19:12:20 -07:00
Steven Fackler
418d1bee28 Inline result indexing stuff 2013-09-29 10:53:44 -07:00
Steven Fackler
8fa7858b07 Make TransactionalPostgresStatement a newtype 2013-09-29 10:40:11 -07:00
Steven Fackler
25cd85e736 Minor cleanup 2013-09-28 23:02:51 -07:00
Steven Fackler
236ad87a8e Make NaN test more comprehensive 2013-09-28 21:33:55 -07:00
Steven Fackler
380d03ffbe Kill off Makefile
Due to mozilla/rust#9602, the connection pool test had to be pulled into
the main test file.
2013-09-28 21:19:27 -07:00
Steven Fackler
324809f368 Rustpkg support!
Closes #12
2013-09-28 20:36:04 -07: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
67c6b3ffee Visibility fix 2013-09-27 23:00:15 -07:00
Steven Fackler
19c834c2e7 Fixes for new master 2013-09-25 17:03:41 -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
498d2e7b26 Simplify connection pool
It's going to just be fixed size for now
2013-09-17 23:08:42 -07:00
Steven Fackler
fa472cf312 Restructure conn pool to RAII style 2013-09-17 22:06:47 -07:00
Steven Fackler
3c7c5dce51 More robust pool test 2013-09-16 23:38:27 -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
980fa9b474 Simplify result_format logic 2013-09-15 19:43:46 -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
Steven Fackler
5654fa5f2a Fail on incorrect parameter count 2013-09-11 22:33:19 -07:00
Steven Fackler
4ec8130860 Don't fail on unsupported auth methods 2013-09-11 22:02:32 -07:00
Steven Fackler
970b5f657a Allow custom notice handling
It was a tossup between a ~fn and a ~Trait *shrug*
2013-09-11 19:57:26 -07:00
Steven Fackler
db634b5a3c Get rid of use * 2013-09-08 22:40:08 -07:00
Steven Fackler
9562711af3 TIMESTAMP WITH TIMEZONE support 2013-09-08 21:33:41 -07:00
Steven Fackler
5bb1ec2db7 Remove read_message macros
Workaround for mozilla/rust#9049 but probably the right thing to do in
any case.
2013-09-08 20:35:24 -07:00
Steven Fackler
7971e8678d DNS lookup 2013-09-08 14:26:34 -07:00
Steven Fackler
20b7b5426d Timestamp support
cc #6
2013-09-08 13:27:43 -07:00
Steven Fackler
ce034e3a70 Update to newest master 2013-09-07 15:45:11 -07:00
Steven Fackler
21ce229fe1 Update to work with latest master
This is segfaulting for me in places that should not segfault. Not sure
what's going on.
2013-09-07 11:28:26 -07:00
Steven Fackler
1b00801938 Handle asynchronous ParameterStatus
Closes #16
2013-09-06 21:56:31 -07:00
Steven Fackler
4eb99e096e Explicitly set client encoding
Postgres will translate data from non-utf8 databases for us
2013-09-05 20:49:19 -07:00
Steven Fackler
a17fe648de Rename PostgresResult methods to be more clear 2013-09-05 20:31:23 -07:00
Steven Fackler
0a361967ce Avoid infinite loop 2013-09-04 23:48:02 -07:00
Steven Fackler
8422072d37 Remove savepoint IDs entirely
Turns out that Postgres allows nested savepoints with the same name
2013-09-04 23:40:22 -07:00
Steven Fackler
6a696461b9 Simplify savepoint ID logic
A savepoint ID is now the "depth" of the savepoint.
2013-09-04 23:32:33 -07:00
Steven Fackler
cf5bd66218 Add nested transaction support 2013-09-04 23:28:44 -07:00
Steven Fackler
c81c207c90 Add methods to look at params and results 2013-09-04 21:51:48 -07:00
Steven Fackler
f8ce356a7a Types cleanup 2013-09-04 21:30:20 -07:00
Steven Fackler
749aa735f6 Make nice types for parameter and result descs 2013-09-04 21:26:43 -07:00
Steven Fackler
c0d70e90dc Implement transactional lazy queries
Closes #13
2013-09-03 22:42:24 -07:00
Steven Fackler
47d1458eb7 More infrastructure for lazy queries
cc #13
2013-09-03 22:20:21 -07:00
Steven Fackler
c2b3768a29 Infrastructure for lazy queries in transactions
cc #13
2013-09-03 22:05:28 -07:00
Steven Fackler
91d7c856ee Clean up tests
Removed most of the usage of transactions in the tests, replacing with
temporary tables or SELECT literal queries.
2013-09-03 20:50:02 -07:00
Steven Fackler
9891f597bc Switch over to new format + clean up matches 2013-09-03 20:07:10 -07:00
Steven Fackler
7990809251 Switch MemReader to BufReader 2013-09-03 19:35:28 -07:00
Steven Fackler
f404527b3a Add non-transactional test
Queries were completely broken outside of transactions for a while
without me realizing.
2013-09-03 00:00:43 -07:00
Steven Fackler
55c0674658 Fill out README 2013-09-02 23:19:03 -07:00
Steven Fackler
a677f62fe2 Remove lazy query support
It turns out this only works inside a transaction, so the API will need
to be rethought. Probably PostgresTransaction.prepare will return a
special TransactionalPreparedStatement that has support for it or
something.
2013-09-02 23:09:30 -07:00
Steven Fackler
03e0ab29e2 Add link attribute 2013-09-02 19:08:56 -07:00
Steven Fackler
3d8d35d840 Overload Index for PostgresRow
RowIndex has to be implemented for int unfortunately since that's what a
literal ends up resolving to.
2013-09-02 18:53:03 -07:00
Steven Fackler
8ab3c1d04b Add column name to index lookup 2013-09-02 20:07:08 -04:00
Steven Fackler
57146672ab Support for "char" type 2013-09-02 18:14:22 -04:00
Steven Fackler
dd6f8eb6b4 Support for CHAR(n) 2013-09-02 17:52:23 -04:00
Steven Fackler
64195b819e Cleanup types.rs 2013-09-02 17:06:22 -04:00
Steven Fackler
aa37fe31d4 Json and Uuid support
cc #6
2013-09-02 16:54:16 -04:00
Steven Fackler
2cc7f0ff84 Support for TEXT type 2013-09-02 16:07:57 -04:00
Steven Fackler
46b4228415 Binary return value support
The set of types the driver asks for in binary format is currently hard
coded.

cc #7, #14
2013-09-02 15:43:48 -04:00
Steven Fackler
1a6d681cbd Strict type checking in ToSql
cc #14
2013-09-02 13:27:25 -04:00
Steven Fackler
043d231476 Remove redundant format specifiers 2013-09-02 01:29:13 -04:00
Steven Fackler
e9245294f0 Store row description in statement
Will be useful for FromSql binary formats. CC #7
2013-09-01 14:09:08 -07:00
Steven Fackler
8b787cf8af Convenience update methods
cc #11
2013-09-01 11:06:33 -07:00
Steven Fackler
e93df44149 Switch PostgresResult storage to Deque 2013-09-01 00:18:09 -07:00
Steven Fackler
fa818566f3 Support for lazy query results
Closes #13.
2013-08-31 23:19:44 -07:00
Steven Fackler
6071706e7e More work towards row limits
cc #13
2013-08-31 22:48:49 -07:00
Steven Fackler
e82c887949 Restructure result API for row limits
Work towards #13.
2013-08-31 21:55:44 -07:00
Steven Fackler
0f1d31c4ab Batch command sequence writes
This allows command sequences like Prepare/Describe/Sync to be sent in
fewer TCP packets.
2013-08-31 17:17:15 -07:00
Steven Fackler
557c61d6db Binary transmission of numeric types
It looks like Postgres doesn't guarantee that its floats are IEEE754,
but I don't know if there are any reasonable platforms on which the
format is actually different.

Work towards #7.
2013-08-31 17:17:06 -07:00
Steven Fackler
f56c519097 Boolean parameters transmitted as binary
Work towards #7.
2013-08-31 17:16:59 -07:00
Steven Fackler
ace9ffcec4 Infrastructure for binary parameter formats
Work towards #7.
2013-08-31 17:16:49 -07:00
Steven Fackler
543af184ab Moving blocks around for consistency 2013-08-29 02:19:53 -04:00
Steven Fackler
440421e81a Minor cleanup 2013-08-29 01:44:34 -04:00
Steven Fackler
be080e783f Stop storing num_params in statement
Postgres will check the count for us.
2013-08-29 01:33:27 -04:00
Steven Fackler
30d1a43f4b Parsing of ErrorResponse and NoticeResponse
PostgresDbError::new plays a little fast and loose with the expected
format. Hopefully that's okay.

Closes #4
2013-08-29 00:24:43 -04:00
Steven Fackler
b93bbd7eed Switched Message enums to struct-like
They're now a lot more clear, especially ones like Bind that have tons
of fields.
2013-08-28 23:25:15 -04:00
Steven Fackler
0204d950c4 Log NoticeResponses
Progress towards #3. I think we probably want to have a user
configurable notice handler.
2013-08-28 02:23:36 -04:00
Steven Fackler
27bbf6f7fd Pull ToSql and FromSql out into their own module
Their implementations will become significantly more complicated once we
start handling binary data.
2013-08-28 00:37:06 -04:00
Steven Fackler
604b1ddb4d Fix for generic type syntax changes 2013-08-28 00:09:50 -04:00
Steven Fackler
44ea118d02 Call methods on transaction object, not conn 2013-08-27 01:45:27 -04:00
Steven Fackler
afd7d8800d Better transaction syntax
Closes #9
2013-08-27 01:40:23 -04:00
Steven Fackler
6afc2cac3f Fix error handling for prepare, result and query
Closes #2
2013-08-27 01:06:53 -04:00
Steven Fackler
594830b296 Closer-to-proper error handling for connect 2013-08-27 00:19:24 -04:00
Steven Fackler
c73e1e93f4 ifmt! -> format! 2013-08-26 22:38:02 -04:00
Steven Fackler
f60d3993b3 Handle conditions in Drop impls
Aborting the process is sadface
2013-08-26 03:36:09 -04:00
Steven Fackler
47ef8ea6b1 Add plaintext and MD5 password authentication 2013-08-26 01:08:37 -04:00
Steven Fackler
ceaac705d6 Parameter binding support! 2013-08-24 23:47:36 -04:00
Steven Fackler
9ff747724a Query support! 2013-08-23 03:13:42 -04:00
Steven Fackler
dd64882d32 Updates and transactions 2013-08-23 01:24:14 -04:00
Steven Fackler
e5c5b783f3 Clean up for extra::url fixes 2013-08-22 22:47:06 -04:00
Steven Fackler
2b617e61b1 Beginnings of Bind support 2013-08-22 03:12:35 -04:00
Steven Fackler
1f127289bb Fully construct prepared statements 2013-08-22 02:41:26 -04:00
Steven Fackler
11098f4d47 Beginnigs of native Postgres frontend 2013-08-22 01:58:37 -04:00
Steven Fackler
067f2c9f91 Removed sql and sqlite3
I'm going to focus on a postgres driver for now
2013-08-18 17:14:22 -04:00
Steven Fackler
5289e69fa7 Some random cleanup 2013-08-17 23:42:40 -04:00
Steven Fackler
4497035fe1 Remove configurable notice handler 2013-08-17 23:30:31 -04:00
Steven Fackler
5b416ce994 Added a quick test of different parameter types 2013-08-17 22:42:12 -04:00
Steven Fackler
2b6cdf3b9a Proper generic parameters with NULL handling 2013-08-17 22:09:56 -04:00
Steven Fackler
a5aab529c9 Updated for latest master 2013-08-17 18:09:26 -04:00
Steven Fackler
17199139c9 Null support and Makefile 2013-08-04 20:48:48 -04:00
Steven Fackler
d6073039df Minor cleanup 2013-08-04 02:52:14 -04:00
Steven Fackler
49bed84c81 Query parameters and transactions 2013-08-04 01:21:16 -04:00
Steven Fackler
2c268a9c36 Built out Postgres implementation 2013-08-03 22:17:32 -04:00
Steven Fackler
81190721d0 SqlType impls 2013-07-27 17:41:53 -04:00
Steven Fackler
af2db76953 Proper NULL support 2013-07-27 16:39:10 -04:00
Steven Fackler
762a55b38d Added parameter binding
I'm still not sure about how best to do the bind parameter trait.
2013-07-27 01:43:36 -04:00
Steven Fackler
2ac7379a58 A bit of transaction support 2013-07-26 01:34:02 -04:00
Steven Fackler
c6b7215e01 Added utility methods 2013-07-25 03:10:18 -04:00
Steven Fackler
bbf28171f1 SQLite3 basics 2013-07-25 02:30:39 -04:00