Commit Graph

840 Commits

Author SHA1 Message Date
Steven Fackler
b5d9a38a59 Remove CopyInStatement
The API's awful to use.
2015-05-23 08:13:17 -07:00
Steven Fackler
e094ce66d6 Fix openssl impl 2015-05-22 21:45:51 -07:00
Steven Fackler
35197960b2 Restructure errors
WasNull and BadResponse are gone, and Conversion was added. IoError
covers the BadResponse case and Conversion is a more general version of
WasNull.
2015-05-22 21:21:30 -07:00
Steven Fackler
81fc578ca6 Move ugh_privacy stuff to normal places
Use private traits to expose constructors internally
2015-05-22 19:51:44 -07:00
Steven Fackler
0a4427e760 Fix chrono support 2015-05-21 22:55:44 -07:00
Steven Fackler
5b353aaed3 Add a SessionInfo field to ToSql and FromSql methods
Backend parameters such as timezone or server_version can be useful for
conversion methods to have access to.
2015-05-21 22:28:51 -07:00
Steven Fackler
99466da700 Update README for stable release 2015-05-17 21:04:44 -07:00
Steven Fackler
76db16eac8 Fix feature set for docs 2015-05-17 20:45:36 -07:00
Steven Fackler
d651927005 Capitalize Cargo 2015-05-17 20:34:49 -07:00
Steven Fackler
edb990d20f Document type support on ToSql and FromSql
This also lets us turn back on all of the features in doc builds
2015-05-17 20:27:39 -07:00
Steven Fackler
9d99ea300a Document NegotiateSsl impl for SslContext 2015-05-17 19:48:18 -07:00
Steven Fackler
ed26ff0042 Merge branch 'breaks' 2015-05-16 20:42:25 -07:00
Steven Fackler
1b5283a3b0 Deploy master docs to master folder 2015-05-16 15:01:24 -07:00
Steven Fackler
21f39b162e Upgrade chrono and get rid of workaround 2015-05-14 20:31:07 -07:00
Steven Fackler
1f251c4c73 Simplify NaiveDate and NaiveTime logic 2015-05-14 20:29:14 -07:00
Steven Fackler
c25f3fac94 Make capitalization consitent for options 2015-05-13 22:59:25 -07:00
Steven Fackler
0d63eeba50 Add optional chrono support 2015-05-13 22:25:43 -07:00
Steven Fackler
26e55ff2bc Change negotiate_ssl back to taking &self
It's not clear that &mut is necessary and it makes connection calls a
bit nicer looking.
2015-05-13 15:17:37 -07:00
Steven Fackler
f957f10b19 Use a Box<NegotiateSsl> instead of a default param
Default parameter's aren't used in type inference yet, so the old setup
would result in overly verbose things like &mut SslMode::None::<NoSsl>.
In the future we can add the parameter back with a default of
Box<NegotiateSsl> to avoid forcing people to box stuff.
2015-05-13 15:14:37 -07:00
Steven Fackler
2d8f6882f3 Add NegotiateSsl bound to SslMode param 2015-05-13 14:43:39 -07:00
Steven Fackler
f30dd2f1c0 AsRawSocket, not AsRawHandle 2015-05-13 14:43:39 -07:00
Steven Fackler
f8ccb821d1 Implement AsRawFd/AsRawHandle for Stream 2015-05-13 14:43:39 -07:00
Steven Fackler
bf4820375d Make openssl an optional dependency 2015-05-13 14:43:39 -07:00
Steven Fackler
3c83d46ee4 Move types around and add docs 2015-05-13 14:43:03 -07:00
Steven Fackler
2a6f075ce7 De-generify StreamWrapper and NegotiateSsl
This makes NegotiateSsl object safe which is convenient for things like
r2d2.
2015-05-13 14:42:22 -07:00
Steven Fackler
ce4da6bf48 Pass host to negotiate_ssl 2015-05-13 14:42:22 -07:00
Steven Fackler
be49982286 Make SSL infrastructure implementation agnostic 2015-05-13 14:42:22 -07:00
Steven Fackler
627f101c78 Remove deprecated get_transaction_isolation 2015-05-13 14:41:36 -07:00
Steven Fackler
569ff870c2 Properly escape table and column names in prepare_copy_in
We have to assemble queries by hand here which is a bit sketchy.
Manually escaping the individual identifiers to avoid introducing
injection vulernabilities is unfortunate but necessary.
2015-05-05 21:57:06 -07:00
Steven Fackler
a6c5d3014d Switch to out-of-std bufstream 2015-05-05 11:40:14 -07:00
Steven Fackler
9f7fa790b1 More cleanup 2015-05-03 13:51:49 -07:00
Steven Fackler
91615088f5 Retry on interruption 2015-05-02 16:12:23 -07:00
Steven Fackler
16424dd267 Random cleanup 2015-05-02 15:55:53 -07:00
Steven Fackler
7d3b2509a4 Remove separate into_iter method 2015-05-02 13:40:06 -07:00
Steven Fackler
cd5537f803 Rename get_transaction_isolation to transaction_isolation 2015-04-24 22:10:57 -07:00
Steven Fackler
2887930c53 Fix link 2015-04-22 22:20:21 -07:00
Steven Fackler
8b43f0e3cf Add methods to access the session transaction isolation level
Closes #115
2015-04-22 22:03:09 -07:00
Steven Fackler
411a8c495c Fix percent-encoded usernames and passwords
Closes #113
2015-04-15 20:31:38 -07:00
Steven Fackler
62459f6944 Support serde's JSON type 2015-04-12 21:48:38 -07:00
Steven Fackler
a3725a9522 Move type checking to the right place in Slice impl 2015-04-12 11:26:39 -07:00
Steven Fackler
2bf9b09af9 Hack around rust-lang/rust#24308
Closes #111
2015-04-12 11:10:02 -07:00
Steven Fackler
b7313cef71 Integer type cleanup in message 2015-04-10 23:25:58 -07:00
Steven Fackler
3597bc2310 More cleanup 2015-04-08 23:46:06 -07:00
Steven Fackler
4b877e0a33 Cleanup 2015-04-07 23:57:22 -07:00
Steven Fackler
c848a9a87d Fix typo 2015-04-07 00:00:23 -07:00
Steven Fackler
e24d793db8 Fix build 2015-04-03 08:46:02 -07:00
Steven Fackler
a8d67a1fe4 Fix for upstream changes 2015-04-02 11:34:42 -07:00
Steven Fackler
01862817c9 Add Debug bound on ToSql and log params during stmt execution 2015-03-30 23:24:45 -07:00
Steven Fackler
8c6f72d732 Drop str_char feature 2015-03-30 22:37:14 -07:00
Steven Fackler
d6bbca93f7 Drop core feature 2015-03-30 22:30:57 -07:00
Steven Fackler
f7ae75dfce Drop unsafe_destructor 2015-03-30 22:24:47 -07:00
Steven Fackler
6c24a03030 Drop debug_builders feature 2015-03-30 21:03:31 -07:00
Steven Fackler
97ed6f02b6 Log query preparation and execution. 2015-03-30 20:18:47 -07:00
Steven Fackler
26ec854f86 Remove some use of unstable apis 2015-03-29 15:23:38 -07:00
Steven Fackler
369cb1ba9f Fix doctest 2015-03-29 15:01:34 -07:00
Steven Fackler
9cd413d42c Fix massive performance issue
The new version is multiple orders of magnitue faster than the old
version.
2015-03-26 19:54:05 -07:00
Steven Fackler
7bcb8fb358 Fix most warnings
Blocked on rust-lang/rust#23734 on the last
2015-03-26 09:18:49 -07:00
Steven Fackler
f680c44d8f Fix for upstream changes 2015-03-25 19:11:40 -07:00
Steven Fackler
e4b0143de9 Restore implicit prelude use 2015-03-22 11:11:22 -07:00
Steven Fackler
5e75155b7e Make time an optional dependency 2015-03-21 15:32:49 -07:00
Steven Fackler
07f380fcfb More feature updates 2015-03-20 21:00:25 -07:00
Steven Fackler
3a0e10e5c7 Fix build issues
Also remove the impls for CIDR/INET. No ipv4/ipv6 agnostic type exists
anymore in the standard library, and the old one didn't cover netmasks
anyway.
2015-03-18 20:49:14 -07:00
Steven Fackler
6a97358f58 Remove unused feature 2015-03-17 23:45:50 -07:00
Steven Fackler
3f79a189f3 Use debug builders 2015-03-14 11:11:44 -07:00
Steven Fackler
f5b0378237 Document macros 2015-03-03 20:44:47 -08:00
Steven Fackler
af0b6d003d Little cleanup 2015-02-28 14:05:37 -08:00
Steven Fackler
3ec5517197 Extend lifetime of LazyRows::columns return 2015-02-28 13:56:20 -08:00
Steven Fackler
a42e8a8139 Fix to_sql_checked! 2015-02-27 20:46:43 -08:00
Steven Fackler
dac4c4f4f1 Port to new IO 2015-02-27 20:03:25 -08:00
Steven Fackler
df4d5d8417 Clarify docs a bit. 2015-02-24 21:39:29 -08:00
Steven Fackler
1767661618 Redesign ToSql and remove RawToSql 2015-02-24 21:39:29 -08:00
Steven Fackler
2380165c86 Rename NoticeHandler 2015-02-22 22:13:59 -08:00
Steven Fackler
63cd220572 Add a move iterator to Rows 2015-02-22 22:13:59 -08:00
Steven Fackler
e128096694 Fix lifetime on slice 2015-02-22 22:13:59 -08:00
Steven Fackler
f63bdcc86d Fix doc string 2015-02-22 22:13:59 -08:00
Steven Fackler
ab47ecb917 Rename ByteA for consistency 2015-02-22 22:13:59 -08:00
Steven Fackler
176f81020a Fix debug impl 2015-02-22 22:13:59 -08:00
Steven Fackler
f102c198f1 Fix docs 2015-02-22 22:13:59 -08:00
Steven Fackler
34de2a90c3 Implement more traits for RowsIter 2015-02-22 22:13:59 -08:00
Steven Fackler
28ea91f6e5 Turn Rows into an iterable instead of iterator 2015-02-22 22:13:59 -08:00
Steven Fackler
c30bfed857 Fill out remaining postgres types 2015-02-22 22:13:59 -08:00
Steven Fackler
89f00b38e4 Return references from Type::kind 2015-02-22 22:13:59 -08:00
Steven Fackler
fdc41dd72b Fix alignment 2015-02-22 22:13:59 -08:00
Steven Fackler
6b2f26e207 Fix feature'd impls 2015-02-22 22:13:59 -08:00
Steven Fackler
b34e5f31de Fix type checks 2015-02-22 22:13:59 -08:00
Steven Fackler
5f8a0b97aa Overhaul FromSql
We can now have a blanket impl for Option and remove RawFromSql
2015-02-22 22:13:59 -08:00
Steven Fackler
ef0e15b34d Change element_type to kind 2015-02-22 22:13:59 -08:00
Steven Fackler
6abcf0e7a7 Remove Error::BadData 2015-02-22 22:13:59 -08:00
Steven Fackler
5ec039bd5d Make time impls opt-in 2015-02-22 22:13:59 -08:00
Steven Fackler
b352b12c48 Make JSON support an optional feature
Even though we currently depend on rustc-serialize, this may not always
be the case. Forcing opt-in for all integration with external crates is
a safer course of action.
2015-02-22 22:13:59 -08:00
Steven Fackler
5ed898949e Improve panic message 2015-02-22 19:00:34 -08:00
Steven Fackler
f0cfaedb01 Remove canary
Destructors are sound now, so this is no longer necessary
2015-02-22 18:37:44 -08:00
Steven Fackler
4f5183898c Remove some unused stuff from url 2015-02-22 18:22:23 -08:00
Steven Fackler
164b4a36c3 Cleanup 2015-02-22 16:46:11 -08:00
Steven Fackler
86d8f8a7b3 Use codegen instead of syntax extensions for SqlState 2015-02-22 13:39:17 -08:00
Cody P Schafer
1648b3ea8b Suffix "us" is now "usize" 2015-02-20 16:56:13 -05:00
Cody P Schafer
e98d6825ab RingBuf is now VecDeque 2015-02-20 16:56:03 -05:00
Steven Fackler
ca7554092d Fix warnings 2015-02-19 09:17:48 -08:00
Steven Fackler
3a9beb791d Add Row::get_bytes
Useful for things like postgres_large_object to avoid some allocation
2015-02-15 23:24:09 -08:00
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
54701b81af Remove some usize 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
f702cc03c2 Fix for closure changes 2015-02-06 08:56:23 -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
2cca2b5eb5 Cleanup 2015-02-05 21:37:49 -08:00
Steven Fackler
d97df29968 Stop using BytesContainer in URL parser 2015-02-05 18:40:46 -08:00
Matthew Maurer
61ae13ad3f Switch to using old_path for new rustc 2015-02-05 16:11:40 -05: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
9a5f751b36 Merge pull request #97 from maurer/new-rustc
Update to new FromStr
2015-02-03 12:05:03 -05:00
Matthew Maurer
6ac0b19130 Update to new FromStr 2015-02-03 11:50:21 -05: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
309b7b09cd Doc fix 2015-01-25 17:31:25 -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
bca16fd4c5 Pass Type to raw traits and add jsonb support 2015-01-21 22:31:04 -08:00
Steven Fackler
cd8b5f7fc1 Remove String impl for Type 2015-01-21 22:16:22 -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
9523e22d1d Optimize Type's Show and String impls 2015-01-10 13:58:46 -08:00
Steven Fackler
838df94f41 Remove panic from member_type 2015-01-10 13:52:15 -08:00
Steven Fackler
857f8ebd70 Manuall impl Show for SqlState
The derive'd impl generates an incredibly bad implementation.

cc rust-lang/rust#20856
2015-01-10 11:40:22 -08:00
Steven Fackler
72a7544bee Expose code conversion methods on SqlState 2015-01-10 00:54:28 -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
fbb9df12b0 Fix for upstream changes 2015-01-06 09:03:32 -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
1cee01762a Remove Range support
It now lives in a separate project
2014-12-26 17:01:02 -05:00
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