Commit Graph

470 Commits

Author SHA1 Message Date
Steven Fackler
7db4cb70b8 Store parameters and add accessor 2015-02-15 20:22:56 -08:00
Steven Fackler
a0cca5fa77 Add a Slice adapter type
Until impl specialization exists, we can't define this implementaion
directly on &[T] because of the existing implementation for &[u8].

Closes #92
2015-02-12 22:52:55 -08:00
Steven Fackler
35f4fea595 Fix for upstream changes 2015-02-11 11:36:28 -08:00
Steven Fackler
561d7be79c Move docs to this repo and auto build in travis 2015-02-07 20:33:44 -08:00
Steven Fackler
599a84ac91 Shuffle unknown type boxing a bit 2015-02-06 09:03:49 -08:00
Steven Fackler
94d0411d68 Make DbError constructors actually private 2015-02-06 09:03:49 -08:00
Steven Fackler
cae12218ab Encapsulate information about unknown types 2015-02-06 09:03:49 -08:00
Steven Fackler
f96664e63e Rename ResultDescription to Column and encapsulate 2015-02-06 09:03:49 -08:00
Steven Fackler
7cfde75dce Encapsulate DbError 2015-02-06 09:03:49 -08:00
Steven Fackler
7fc495738d Fix docs 2015-02-06 09:03:49 -08:00
Steven Fackler
173075bae1 Remove Error::WrongParamCount 2015-02-06 09:03:49 -08:00
Steven Fackler
cd1d9b9e3f Remove deprecated methods 2015-02-06 09:03:49 -08:00
Steven Fackler
e8d372d555 Make execute return a u64 instead of usize 2015-02-06 09:03:48 -08:00
Steven Fackler
dec549b9ca Clean up panic checks a bit 2015-02-06 09:03:48 -08:00
Steven Fackler
7101cab178 Remove WrongConnection and WrongTransaction Errors
These only occur during contract violations, so panicing is recommended
by the erorr handling RFC.
2015-02-06 09:03:48 -08:00
Steven Fackler
d35124e214 Make next_block_for return an option 2015-02-06 09:03:48 -08:00
Steven Fackler
4a93618293 Make Debug impls less recursive 2015-02-05 23:01:42 -08:00
Steven Fackler
e41870ade3 Display the statement cache size in Conn Debug impl 2015-02-05 22:57:26 -08:00
Steven Fackler
9d5cd8f3d1 Sort extern crates 2015-02-04 20:39:30 -08:00
Steven Fackler
91e6e784e6 Stop using endian conversion Writer/Reader methods
They're going away in new IO.
2015-02-04 19:40:33 -08:00
Steven Fackler
9df10b9c3b Fix for upstream changes 2015-02-03 09:06:52 -08:00
Steven Fackler
5fd3d70d29 Make use of deref coercions 2015-02-02 23:41:03 -08:00
Steven Fackler
90f5567c2d Cleanup 2015-02-01 11:12:11 -08:00
Steven Fackler
b8595c7564 Failure -> Panics 2015-01-30 21:59:59 -08:00
Steven Fackler
9ac4baebd8 Add a bit to Notifications Debug impl 2015-01-29 20:30:06 -08:00
Steven Fackler
cb1ae4d115 Fix for stability changes 2015-01-29 08:59:43 -08:00
Steven Fackler
118f0ba9b2 Small struct reorder 2015-01-28 21:08:20 -08:00
Steven Fackler
a616db0381 Drop some use of usize internally 2015-01-28 20:35:17 -08:00
Steven Fackler
8d704f71ce Fix for IO changes 2015-01-28 08:52:33 -08:00
Steven Fackler
af6084871f Add an is_active method
Will be needed when Error::WrongTransaction is removed
2015-01-26 21:09:50 -08:00
Steven Fackler
b1305cc45d Bump rust-phf 2015-01-25 11:12:07 -08:00
Steven Fackler
e2f1a7cb11 Docs fixes 2015-01-24 10:46:01 -08:00
Steven Fackler
4c90977cb0 Little cleanup 2015-01-24 10:04:43 -08:00
Steven Fackler
d3c75d5787 Use the unnamed portal for normal queries
There's no need to add extra round trips to close portals that don't
need to exist.
2015-01-24 09:55:46 -08:00
Steven Fackler
dde0f64582 Show -> Debug 2015-01-23 23:31:17 -08:00
Steven Fackler
f38636b21a Use SteadyTime for next_block_for 2015-01-23 23:29:29 -08:00
Steven Fackler
6381267267 Fix for upstream changes 2015-01-23 10:44:15 -08:00
Steven Fackler
d709692e0e Clarify docs a bit 2015-01-22 22:55:18 -08:00
Steven Fackler
5cce51723a Move lazy_query to Statement
Symmetry is good
2015-01-22 22:52:29 -08:00
Steven Fackler
ee7f9ee806 Avoid accidentally closing finished statements 2015-01-22 22:33:35 -08:00
Steven Fackler
247e320275 Add explicit statement caching
Also remove transaction depth checks to preparation methods on
Connection since lifetimes of statements are tied to the connection, not
any transaction that may be active.

cc #84
2015-01-22 22:27:14 -08:00
Steven Fackler
b30bd46c2b Set element_type for range types
Closes #95
2015-01-22 00:04:58 -08:00
Steven Fackler
e0758ed5b8 Store element type for unknown types 2015-01-21 22:11:43 -08:00
Steven Fackler
08460b889e Remove an unused parameter 2015-01-21 20:29:22 -08:00
Steven Fackler
290d572166 Redesign COPY IN execution setup.
The old Iterator of Iterators setup basically required all of the rows
to sit in memory at the same time, which defeats the entire purpose of
that configuration. There's probably a library that defines
`StreamIterator`, so this may jump to that.
2015-01-21 20:25:01 -08:00
Steven Fackler
9e260fdfac Add another Show impl 2015-01-16 22:32:25 -08:00
Alex Crichton
05359f9e9c Remove an unneeded feature 2015-01-12 14:01:35 -08:00
Steven Fackler
41bcb71176 Remove newline from Show impl 2015-01-09 23:58:21 -08:00
Steven Fackler
f7d57ebe68 Implement Show for stuff 2015-01-09 20:48:47 -08:00
Steven Fackler
900ae55807 Fix doc tests 2015-01-09 11:20:43 -08:00
Steven Fackler
92a3593d7f Update for upstream changes
String vs Show still needs to be resolved, but it compiles now
2015-01-09 10:50:54 -08:00
Steven Fackler
4f157bb4a8 Partial update 2015-01-09 10:26:24 -08:00
Steven Fackler
347c79def9 Fix for upstream changes 2015-01-07 08:23:40 -08:00
Steven Fackler
0ddefe9d6b Remove unsafe Send impl 2015-01-04 17:33:34 -08:00
Steven Fackler
605460c789 Fix for upstream changes 2015-01-04 08:08:53 -08:00
Steven Fackler
94e70df6e2 Fix for upstream changes 2015-01-03 13:23:11 -08:00
Steven Fackler
a210cd605b Fix doc tests 2014-12-31 21:40:21 -08:00
Steven Fackler
bece000346 Add a missing Send impl 2014-12-29 09:38:30 -08: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
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
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
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
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
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
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
546967f68c Add a blocking next method to Notifications
cc #19
2014-11-25 18:30:28 -08:00
Steven Fackler
d84fa98b4b Variant cleanup 2014-11-25 12:59:31 -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
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
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
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
9ae7b13f51 Fix deprecation warnings 2014-11-07 08:54:10 -08: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
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
7929d07f74 Fix a desynchronization issue 2014-10-25 20:26:45 -07:00
Steven Fackler
a480ec1cfb Some more if let conversion 2014-10-25 17:58:46 -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
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
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