Commit Graph

130 Commits

Author SHA1 Message Date
Jonathan Reem
4b545ca466 Implement ToSql for &'a T where T: ToSql
This allows more flexible use of ToSql in generic contexts by allowing
references to be used for encoding.
2015-08-03 13:32:44 -07:00
Steven Fackler
64de6abb1e Look up column names case insensitively
It tries a case sensitive comparison first so all existing uses should
continue to be OK. It should really have some form of unicode awarenes
but it's unclear exactly what. The JDBC driver uses the US locale when
lowercasing and libpq uses tolower with the system locale.

Closes #136
2015-07-30 22:04:22 -07:00
Steven Fackler
913678e9bf Properly return ioerrors to the caller in copy_in 2015-06-12 00:39:12 -07:00
Steven Fackler
0883918f06 Allow direct indexing of Rows. 2015-06-07 09:15:52 -07:00
Mark Lee
bbebf83749 Fix typos in tests' panic messages 2015-06-03 22:04:15 -07:00
Steven Fackler
f72bc4303a Hide Type constructor 2015-05-26 21:47:42 -07:00
Steven Fackler
f800835456 Move error types to error module 2015-05-25 22:47:25 -07:00
Steven Fackler
417fb09b13 Un-reexport some type-related types 2015-05-25 22:09:00 -07:00
Steven Fackler
9b9b82a7db Add copy_in to Statement 2015-05-25 20:40:57 -07:00
Steven Fackler
b5d9a38a59 Remove CopyInStatement
The API's awful to use.
2015-05-23 08:13:17 -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
ed26ff0042 Merge branch 'breaks' 2015-05-16 20:42: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
bf4820375d Make openssl an optional dependency 2015-05-13 14:43:39 -07:00
Steven Fackler
be49982286 Make SSL infrastructure implementation agnostic 2015-05-13 14:42:22 -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
cd5537f803 Rename get_transaction_isolation to transaction_isolation 2015-04-24 22:10:57 -07:00
Steven Fackler
afb3bcf08b Fix url breakage 2015-04-22 22:09:07 -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
a8d67a1fe4 Fix for upstream changes 2015-04-02 11:34:42 -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
1bf40efceb Fix one last feature 2015-03-18 20:52:22 -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
26f26d1d9d should_fail -> should_panic 2015-03-10 09:16:46 -07:00
Steven Fackler
dac4c4f4f1 Port to new IO 2015-02-27 20:03:25 -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
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
b34e5f31de Fix type checks 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
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
9ce2b77f26 Fix deprecation warnings 2015-02-20 20:17:47 -08:00
Steven Fackler
ca7554092d Fix warnings 2015-02-19 09:17:48 -08:00
Steven Fackler
750065f111 Fix warning
Also disable debuginfo since it ICEs
2015-02-18 17:53:54 -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
23c49c0219 Fix tests 2015-02-12 13:29:50 -08:00
Steven Fackler
9214a6886d Use Postgres 9.4 on travis 2015-02-07 22:15:32 -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
173075bae1 Remove Error::WrongParamCount 2015-02-06 09:03:49 -08:00