Commit Graph

867 Commits

Author SHA1 Message Date
Steven Fackler
d0868ed4fd Pull array support out to a separate crate
It's pretty obscure and the API is kind of bad. Pulling it out should
allow it to evolve independently from the main library.
2014-12-24 23:58:27 -05:00
Steven Fackler
c5e7e46f0d Fix deprecation warnings 2014-12-23 12:10:16 -05:00
Steven Fackler
785c6741f5 Clean up FromSql API 2014-12-22 21:45:09 -05:00
Steven Fackler
2b1b9c1449 Add jsonb oids 2014-12-22 21:04:13 -05:00
Steven Fackler
98a980b5ec Fix breakage 2014-12-21 13:52:48 -05:00
Steven Fackler
d5c0cc0140 Fix for upstream changes 2014-12-19 10:43:42 -08:00
Steven Fackler
810a7442e0 Use out of tree serialize 2014-12-18 17:08:58 -08:00
Steven Fackler
5696a15cb6 Cleanup 2014-12-18 09:07:15 -08:00
Alex Crichton
dad6aab372 Fix lifetime parameter shadowing on rust master 2014-12-17 16:23:24 -08:00
Steven Fackler
1501f0ef93 Fix doc example 2014-12-15 12:50:55 -08:00
Steven Fackler
a35af16926 Schema qualify pg_type table reference
Just in case someone tosses their own pg_type table in the main schema
2014-12-14 17:18:55 -08:00
Steven Fackler
02fdb06762 Support citext and oid types
This ended up involving some pretty major refactors and fixed a bug
where passing extension types as parameters to `execute` broke.

Closes #56
2014-12-14 16:46:22 -08:00
Steven Fackler
0562063596 Generically derive RawFromSql for Range<T> 2014-12-14 15:07:48 -08:00
Steven Fackler
d349715061 Support CIDR as well 2014-12-14 12:27:02 -08:00
Steven Fackler
00d0f9e701 Add a bounds check in IpAddr RawFromSql impl 2014-12-14 11:50:14 -08:00
Steven Fackler
afc4b09557 Remove allocation in FromSql for IpAddr 2014-12-14 11:43:48 -08:00
Steven Fackler
3ac26d4961 Add inet support
It's lossy ATM, since IpAddr doesn't store the netmask.

Closes #88
2014-12-14 11:39:26 -08:00
Steven Fackler
39ad5ff651 Fix for opt in Copy 2014-12-11 20:36:24 -08:00
Steven Fackler
05c41854f4 Remove an unnecessary clone 2014-12-09 23:04:29 -08:00
Steven Fackler
e8ff196c8e Cleanup 2014-12-09 21:35:52 -08:00
Steven Fackler
42eb9fb01e Move Send bound for NoticeHandler to trait def
This is a breaking change
2014-12-08 23:43:01 -08:00
Steven Fackler
cdbbadd3cf Clean up some equality checks 2014-12-06 13:30:37 -08:00
Steven Fackler
39a89de5f0 Fix off by one in index impl 2014-12-06 10:41:49 -08:00
Steven Fackler
21f666774f Couple more []s 2014-12-06 10:10:44 -08:00
Steven Fackler
131fa11b5a Remove remaining [] usage 2014-12-06 10:08:28 -08:00
Steven Fackler
05af4073c4 Remove unneeded feature 2014-12-06 08:52:18 -08:00
Steven Fackler
ac59c84c82 Add next_block_for example 2014-12-03 19:55:05 -08:00
Steven Fackler
5065dbfa4d Use monotonic time for timeout logic 2014-12-03 18:57:04 -08:00
Steven Fackler
cb8380e294 Cut out some allocation in read_message 2014-12-02 23:02:20 -08:00
Steven Fackler
d7c63393db Cleanup 2014-12-02 22:56:56 -08:00
Steven Fackler
705f9f9d79 Remove a bunch of slice sugar usage 2014-12-02 21:44:34 -08:00
Steven Fackler
cfe37fa9bf Clean up race condition fix 2014-12-02 20:57:32 -08:00
Steven Fackler
9303e4dfdd Fix race condition in next_block_for
If we hit the timeout while not blocked on read, the timeout would
overflow.
2014-12-02 20:47:34 -08:00
Steven Fackler
d5998d8f2a Add Notifications::next_block_for method
The setup is a little hairy, but seems correct.

cc #19
2014-12-02 20:36:31 -08:00
Steven Fackler
75641e121f Allow statements to be prepared on any object
Statements aren't cleaned up at the end of a transaction, so this is
safe.
2014-12-01 22:45:22 -08:00
Steven Fackler
348195b718 Optimize execute
Avoiding the statment close by using the unnamed statment improves the
lower bound perf by ~1/3:

test bench_execute        ... bench:    425429 ns/iter (+/- 24970)
test bench_naiive_execute ... bench:    607967 ns/iter (+/- 53434)

cc #83
2014-12-01 22:24:31 -08:00
Steven Fackler
80b7fa823c Clean up copy preparation a bit 2014-12-01 21:28:58 -08:00
Steven Fackler
1908821e57 Clean up bad response logic a bit 2014-11-28 17:35:37 -08:00
Steven Fackler
e7f66f89ac Use rust-openssl's MaybeSslStream 2014-11-28 15:54:37 -08:00
Steven Fackler
6334f045cb Be more conservative when closing things 2014-11-28 15:01:01 -08:00
Steven Fackler
dd9c712ea9 Fix for upstream changes 2014-11-28 12:24:34 -08:00
Steven Fackler
7b8786c6a2 Upgrade to openssl 0.2 2014-11-27 21:39:16 -08:00
Steven Fackler
7ba9db9b6f Check for statement close errors in execute 2014-11-27 11:16:14 -08:00
Steven Fackler
81da54e04f Minor cleanup 2014-11-26 22:35:06 -08:00
Steven Fackler
4d3e102f7e Add result_descriptions to Rows and Row
This can be useful for functions that are just passed a `Rows` or `Row`
and want to introspect a bit into the columns.
2014-11-26 10:50:31 -08:00
Steven Fackler
e8f12a4a1e Add a desync check in next_block 2014-11-25 19:17:53 -08:00
Steven Fackler
9e8435141c More enum cleanup 2014-11-25 18:49:04 -08:00
Steven Fackler
546967f68c Add a blocking next method to Notifications
cc #19
2014-11-25 18:30:28 -08:00
Steven Fackler
7f89a83caf One more bit of cleanup 2014-11-25 16:27:35 -08:00
Steven Fackler
d84fa98b4b Variant cleanup 2014-11-25 12:59:31 -08:00
Steven Fackler
814c48863c More duplication reduction 2014-11-24 22:42:49 -08:00
Steven Fackler
a793bcc1d5 Reduce some duplication in range logic 2014-11-24 22:24:34 -08:00
Steven Fackler
d92eafce4b Remove some more failure 2014-11-24 10:12:35 -08:00
Steven Fackler
1882d878ad Remove unneccesary None qualification 2014-11-20 21:48:05 -08:00
Steven Fackler
a46c524200 Finish variant naming convention transition 2014-11-20 21:47:13 -08:00
Steven Fackler
b21300e344 Fix for nightly changes 2014-11-20 10:54:40 -08:00
Steven Fackler
1fa5941562 Use Vec instead of MemWriter 2014-11-19 20:54:32 -08:00
Steven Fackler
ec6e242dd4 Fix for phf changes 2014-11-19 20:20:50 -08:00
Kevin Butler
465bb9e006 docs: [T,.. N] no longer coerces to &[T] 2014-11-19 19:36:47 +00:00
Kevin Butler
85bde64ede slice_shift_char signature change 2014-11-19 18:11:23 +00:00
Kevin Butler
0b8dc31c2f [T,.. N] no longer coerces to &[T] 2014-11-19 17:58:30 +00:00
Kyle Dewey
57ce8f7167 Added imports for members of enums, as per https://github.com/rust-lang/rust/pull/18973 2014-11-18 00:45:55 -08:00
Steven Fackler
4811d0d719 Remove some uneccessary macro_escapes 2014-11-17 20:54:19 -08:00
Steven Fackler
66dcc87e0d Prepare for namespacing changes 2014-11-17 20:47:54 -08:00
Steven Fackler
5da8efe1fd Clean up uuid stuff 2014-11-17 20:27:03 -08:00
Steven Fackler
9a87c6e18a Make time support optional 2014-11-17 19:11:32 -08:00
Steven Fackler
22f4be2b8c Remove struct_variant feature gate 2014-11-17 18:20:48 -08:00
Steven Fackler
e5c2edaf97 More enum namespacing preparation 2014-11-17 13:46:33 -08:00
Steven Fackler
c1e4f6385f Make uuid default on and rename it 2014-11-17 09:43:10 -08:00
Steven Fackler
6ba926d016 Fix build errors 2014-11-17 08:56:25 -08:00
Steven Fackler
89f9960fe7 Use FromError 2014-11-16 22:54:57 -08:00
Steven Fackler
978228d2ae Implement Error for errors 2014-11-16 22:36:40 -08:00
Steven Fackler
b458e85040 Remove pub qualifiers on struct variant fields 2014-11-16 22:05:22 -08:00
Steven Fackler
a0888e481a Updates 2014-11-15 08:53:31 -08:00
Steven Fackler
9ae7b13f51 Fix deprecation warnings 2014-11-07 08:54:10 -08:00
Steven Fackler
b81acaab4c Add impl docs for optional impls 2014-11-06 08:32:05 -08:00
Steven Fackler
4f80c32967 Add optional UUID support
Closes #72
2014-11-06 07:56:00 -08:00
Steve Klabnik
761ff4e7a6 Fix the build
src/io.rs:79:13: 79:50 error: this function takes 1 parameter but 2 parameters were supplied [E0061]
src/io.rs:79             tcp::TcpStream::connect(host[], port).map(TcpStream),
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is now fixed.
2014-11-06 08:25:33 -05:00
Cody P Schafer
7cf9ccab99 Remove parse_bytes to work with latest rustc 2014-11-05 12:34:57 -05:00
Steven Fackler
a4fe4e2056 Flatten and rename error stuff 2014-11-03 22:24:11 -08:00
Steven Fackler
056f90a3a2 Glob import message variants 2014-11-03 21:47:53 -08:00
Steven Fackler
a442b2ed4c Unmangle ConnectTarget and MaybeSslStream 2014-11-03 21:41:35 -08:00
Steven Fackler
ad82d28d18 Demangle PostgresType 2014-11-03 21:31:08 -08:00
Steven Fackler
167b9d0209 Misc cleanup 2014-11-02 16:48:38 -08:00
Steven Fackler
761007487a Grab RingBuf from std 2014-11-02 10:40:03 -08:00
Steven Fackler
bd9b77a4cf Fix compilation errors 2014-11-02 10:38:45 -08:00
Steven Fackler
4fbd92e6de A bit of formating cleanup 2014-11-01 16:38:52 -07:00
Steven Fackler
f8339a6e18 PostgresLazyRows -> LazyRows 2014-11-01 16:28:38 -07:00
Steven Fackler
34aaeaab71 PostgresRow -> Row 2014-11-01 16:27:30 -07:00
Steven Fackler
4eda9cec95 PostgresCopyInStatement -> CopyInStatement 2014-11-01 16:26:03 -07:00
Steven Fackler
7248912cf9 PostgresTransaction -> Transaction 2014-11-01 16:25:11 -07:00
Steven Fackler
4b66c4ab68 PostgresStatement -> Statement 2014-11-01 16:24:24 -07:00
Steven Fackler
2da41be987 Remove the old connection pool
It's been deprecated for a long time
2014-11-01 16:22:41 -07:00
Steven Fackler
c11cbd6b7d PostgresConnection -> Connection 2014-11-01 16:21:47 -07:00
Steven Fackler
d88666586a PostgresCancelData -> CancelData 2014-11-01 16:19:02 -07:00
Steven Fackler
570512725f PostgresNotification -> Notification 2014-11-01 16:18:09 -07:00
Steven Fackler
c6c7d8f574 PostgresNoticeHandler -> NoticeHandler 2014-11-01 16:16:50 -07:00
Steven Fackler
975b6dc350 PostgresConnectParams -> ConnectParams 2014-11-01 16:15:30 -07:00
Steven Fackler
09cb2fd4fe PostgresUserInfo -> UserInfo 2014-11-01 16:14:08 -07:00
Steven Fackler
873a006508 PostgresConnectTarget -> ConnectTarget 2014-11-01 16:13:01 -07:00
Steven Fackler
cea15783a5 PostgresResult -> Result 2014-11-01 16:12:05 -07:00
Steven Fackler
b939526d7b static -> const 2014-11-01 16:02:50 -07:00
Steven Fackler
22efd1da4b Update for removal of collections traits 2014-11-01 15:50:25 -07:00
Steven Fackler
4f6afa127a Update for PHF changes 2014-11-01 14:43:31 -07:00
Steven Fackler
75a938a322 Update for DST changes 2014-11-01 13:52:14 -07:00
Steven Fackler
a151a5ba02 Update for rust changes 2014-10-31 08:51:27 -07:00
Steve Klabnik
675534c26f fail -> panic 2014-10-30 00:26:03 -04:00
Steven Fackler
4a9ca42b20 Reuse the same vec during copies 2014-10-28 09:16:11 -07:00
Steven Fackler
5dd09ce9c4 Update docs location 2014-10-26 13:11:14 -07:00
Steven Fackler
886f24ea9d Get rid of literal type specifiers
Yay trait reform!
2014-10-25 23:43:59 -07:00
Steven Fackler
4751787939 Clean up some warnings 2014-10-25 20:54:27 -07:00
Steven Fackler
7929d07f74 Fix a desynchronization issue 2014-10-25 20:26:45 -07:00
Steven Fackler
6484836b68 Revert "DSTify ToSql"
This causes ICEs

This reverts commit c63a7f9a15.
2014-10-25 20:24:08 -07:00
Steven Fackler
a480ec1cfb Some more if let conversion 2014-10-25 17:58:46 -07:00
Steven Fackler
c63a7f9a15 DSTify ToSql 2014-10-25 10:19:49 -07:00
Steven Fackler
00164fad31 Fix read_message name
The issue that forced the rename has been resolved
2014-10-23 23:31:26 -07:00
Alex Crichton
c4e2e527d5 Update to rust master 2014-10-21 08:25:03 -07:00
Steven Fackler
511de7673f Remove unnecessary line breaks 2014-10-18 11:31:14 -07:00
Steven Fackler
33716f4901 Remove last unwrap call from PostgresDbError::new 2014-10-18 11:25:05 -07:00
Steven Fackler
86bf3b719b Switch some .to_string to .into_string 2014-10-18 11:17:12 -07:00
Steven Fackler
e73557cce0 Pull liburl in-crate
Cargo apparently can't deal with liburl and rust-url at the same time
and rust-url has some bugs that prevent using it for now.
2014-10-15 08:37:43 -07:00
Steven Fackler
774fd93d80 Start using if let 2014-10-13 21:12:25 -07:00
Steven Fackler
abd60ef1cf static -> const 2014-10-09 21:50:40 -07:00
Steven Fackler
f62aa26917 Fix for upstream changes 2014-10-09 20:43:14 -07:00
Steven Fackler
557a159a8a Add a trait abstracting over transactions and connections
This is implemented *in addition* to the intrinsic methods because
having to import a trait to call `prepare` sucks.

Closes #63
2014-10-08 20:29:26 -07:00
Steven Fackler
b581e3a0af Doc rephrase 2014-10-05 20:49:09 -07:00
Steven Fackler
749dc34529 Clean up example a bit 2014-10-05 20:47:48 -07:00
Steven Fackler
b69ae99a51 Handle COPY IN in batch_execute 2014-10-05 17:31:25 -07:00
Steven Fackler
58dd5fe12b Remove weird continue 2014-10-05 14:47:57 -07:00
Steven Fackler
e5ed2ba96e Use new slice syntax 2014-10-04 20:08:44 -07:00
Steven Fackler
dd4052210f Improve error handling in COPY 2014-10-01 14:40:43 -07:00
Steven Fackler
51ace9081a Don't fuse row iterator 2014-09-30 23:54:11 -07:00
Steven Fackler
a64ca5f955 Remove failure from PostgresDbError::new
Closes #43
2014-09-30 22:52:27 -07:00
Steven Fackler
5561e7baca Add column_types to copy in statement 2014-09-30 00:15:17 -07:00
Steven Fackler
0c3f3b1e83 More docs + return copy count from execute 2014-09-30 00:11:23 -07:00
Steven Fackler
91a90f0d1c Remove some unused methods 2014-09-30 00:02:54 -07:00
Steven Fackler
a85d50805d Add some prepare_copy_in docs 2014-09-30 00:01:15 -07:00
Steven Fackler
4863433ca7 Add prepare_copy_in to transaction 2014-09-29 23:49:58 -07:00
Steven Fackler
011d531b1d Remove Binary/Text choice from ToSql
Text format doesn't work with our COPY implementation, and FromSql is
already binary only.
2014-09-29 23:41:13 -07:00
Steven Fackler
249db6b55a Correctly handle bad column counts in copy 2014-09-29 23:32:57 -07:00
Steven Fackler
f88f908498 Don't flush more than needed when copying 2014-09-29 23:09:39 -07:00
Steven Fackler
2e61f1316f Initial COPY FROM support!
cc #51
2014-09-29 22:56:43 -07:00
Steven Fackler
a4a625a30c Detect direct queries to COPY FROM 2014-09-29 21:05:42 -07:00
Steven Fackler
945714b692 Merge pull request #61 from mikedilger/fix_double_borrow
Fix double borrow of conn RefCell<T>
2014-09-29 20:55:47 -04:00
Mike "Wizard" Dilger
ed3bcda729 Fix double borrow of conn RefCell<T> 2014-09-30 13:46:21 +13:00
Steven Fackler
58da48c9c2 Fix range! docs 2014-09-28 15:19:52 -07:00
Steven Fackler
18e1240601 Work around rust-lang/rust#17594 2014-09-27 13:55:47 -07:00
Steven Fackler
8ca22813c9 Clean up Show impl a bit 2014-09-24 23:32:46 -07:00
Steven Fackler
2fbbaacb31 Fix compilation 2014-09-24 23:23:05 -07:00
Steven Fackler
5410363f49 Fix deprecations 2014-09-24 00:18:27 -07:00
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