194 Commits

Author SHA1 Message Date
Ryan Leckey
d360f682f8 fix(postgres): guarantee the type name on a PgTypeInfo to always be set
fixes #241
2020-04-10 13:37:08 -07:00
Kristy Brambila
0e61642165 Make postgres type name resolution case-insensitive 2020-04-08 01:22:37 -07:00
Ryan Leckey
2a9774d84f use cow::borrowed to remove a minor allocation in postgres/startup
refs #214
2020-03-31 21:41:29 -07:00
Ryan Leckey
3a997f06ab
Merge pull request #214 from jamwaffles/encoded-connection-string
Decode username on read
2020-03-31 21:38:33 -07:00
James Waples
f05f6bedd9 Decode username on read 2020-03-31 23:03:17 +01:00
Neeraj Jaiswal
c29fc5cccd Remove matches dependency and use matches macro from std 2020-03-31 18:01:06 +05:30
Ryan Leckey
b65602d842 postgres: remove unused import 2020-03-30 18:52:52 -07:00
Ryan Leckey
d3eb9c7800 postgres: use PgStream::receive over PgStream::read to handle errors
* PgStream::read should probably be named better; maybe PgStream::raw_receive

Fixes #203
2020-03-30 18:38:31 -07:00
Ryan Leckey
bbbc1811ce postgres: tweak DataRow::read 2020-03-30 18:31:05 -07:00
Oliver Bøving
bcb3959379
Add array of uuid, chrono, time, bigdecimal, and ipnetwork as well as JsonValue to query macro (#154)
* Add array of uuid, chrono, time, bigdecimal, and ipnetwork to query macro

* Comment out tests for arrays of BigDecimal

Currently arrays of BigDecimal doesn't in query macros compile.
As all of the other types work just fine, BigDecimal is simply omitted.

* Add serde_json::Value to query macros

This also adds serde_json as an optional dependency to sqlx_macros along
side a new json feature flag.
2020-03-28 17:28:47 -07:00
Ryan Leckey
dddaefec41 postgres: capitalize the W in handling the WHERE field for notice
Fixes #120
2020-03-27 16:43:15 -07:00
Austin Bonander
e594a7fdca Postgres: don't cache failed statement 2020-03-27 15:54:28 -07:00
Ryan Leckey
3103d50be8 postgres: implement PgTypeInfo::with_name
- remove PgTypeInfo::with_oid
 - use a new PgRawBuffer type instead of Vec<u8> for encoding
2020-03-26 19:29:49 -07:00
Ryan Leckey
2409c2b042 postgres: indicate that we do not support CITEXT right now 2020-03-26 19:16:54 -07:00
Austin Bonander
e99a863288 remove now-unused imports and reformat 2020-03-25 21:37:11 -07:00
Austin Bonander
6e3fa49ad5 add unit tests for DatabaseError downcasting 2020-03-25 18:26:57 -07:00
Austin Bonander
673f133cab un-generify Error and support downcasting in DatabaseError 2020-03-25 18:13:56 -07:00
Ryan Leckey
41608c3f60 rename {DB}Error -> {DB}DatabaseError 2020-03-25 04:50:27 -07:00
Ryan Leckey
2274b69556 postgres: support "CHAR" and OID 2020-03-25 04:46:17 -07:00
Ryan Leckey
6049f976f9 opt out of compatible type check for null values 2020-03-25 04:25:38 -07:00
Ryan Leckey
7ab772ea80 postgres: simplify JSON support to just Json<T> 2020-03-25 04:20:35 -07:00
Ryan Leckey
8454fa4e96 fix tests and ensure all types are being tested in CI 2020-03-25 04:06:14 -07:00
Ryan Leckey
2f6bab396a Add PartialEq for PgTypeInfo and SqliteTypeInfo 2020-03-25 03:59:29 -07:00
Ryan Leckey
fbd1a0435f postgres: support NAME and UNKNOWN types (compatible to TEXT) 2020-03-25 02:28:30 -07:00
Ryan Leckey
6ebd5c8c1e postgres: test type compatibility for record fields 2020-03-25 02:28:10 -07:00
Ryan Leckey
129efcd367 implement a runtime type compatibility check before decoding values 2020-03-25 02:07:17 -07:00
Ryan Leckey
1dc582edd0 postgres: have PgValue remember its type OID
this is in preparation of doing type compatibility checks
2020-03-25 01:46:13 -07:00
Ryan Leckey
63aa3e8f0f add support for VARCHAR and BPCHAR in postgres 2020-03-24 12:49:52 -07:00
Ryan Leckey
aa1cb24de9 remove DecodeOwned 2020-03-24 03:03:04 -07:00
Ryan Leckey
fa4138b25c add docs to explain the SQL <-> Rust mapping 2020-03-24 02:56:52 -07:00
Ryan Leckey
412f7125fb document Cursor 2020-03-24 01:53:56 -07:00
Ryan Leckey
1940b685d3 fix warnings from rustdoc 2020-03-24 01:36:17 -07:00
Ryan Leckey
792acdd554 audit Row, FromRow, and ColumnIndex
* tweak FromRow to accept Row by reference, should make it easier to compose FromRow impls
 * rename ColumnIndex::resolve to ColumnIndex::index
 * document behaviors
2020-03-24 01:24:10 -07:00
Ryan Leckey
a0bf61cc4a Declare ColumnIndex over Row instead of over Database 2020-03-23 21:21:59 -07:00
Ryan Leckey
cb2e3220e0 simplify lifetimes on Row 2020-03-21 03:25:17 -07:00
Ryan Leckey
200d534b8a Fix time/chrono decode tests 2020-03-21 03:01:23 -07:00
Ryan Leckey
db543f8391 clean up Time impl, impl for text modes 2020-03-21 02:34:21 -07:00
Ryan Leckey
4a98a51a19 Merge remote-tracking branch 'utter-step/time-rs' 2020-03-21 01:25:00 -07:00
Ryan Leckey
05d8ac2747 Finish up JSON/JSONB support for Postgres
* implement for &serde_json::RawValue

 * sqlx::types::Json<T> is a common type that all JSON-compatible databases can implement for,
   postgres implements Json<T> as JSONB

 * sqlx::postgres::types::PgJson<T> resolves to JSON

 * sqlx::postgres::types::PgJsonB<T> resolves to JSONB
2020-03-21 01:16:34 -07:00
Oliver Bøving
b7e53e885a First draft of JSON/JSONB support for postgres
This introduces two new wrapper types `Json` and `Jsonb`, currently
exported by `sqlx::postgres::{Json, Jsonb}` and adds serde and
serde_json as optional dependencies, under the feature flag `json`.
Wrapping types in `Json[b]` that implement `serde::Deserialize` and
`serde::Serialize` allows them to be decoded and encoded respectivly.
2020-03-20 23:59:25 -07:00
Daniel Akhterov
cbdc1bbfb2 Refactor the error to be generic over database 2020-03-20 23:51:45 -07:00
Ryan Leckey
f86f80d8b9 mysql: ping now follows the normal stream lifecycle
fixes test introduced by #142

Co-authored-by: Daniel Akhterov <daniel@launchbadge.com>
2020-03-20 20:47:30 -07:00
Ryan Leckey
ec27b65b26 postgres: change types in macros
Co-authored-by: Oliver Bøving <oliverboving@gmail.com>
2020-03-20 20:07:52 -07:00
Ryan Leckey
e42a995fd9 Extract a PgSequenceDecoder from ArrayDecoder and RecordDecoder and improve to support mutual nesting 2020-03-20 19:56:25 -07:00
Ryan Leckey
13997ce957 Change HasSqlType to Type 2020-03-20 19:55:47 -07:00
Ryan Leckey
f562e919b7 Merge branch '1d-array-pg-support' of https://github.com/oeb25/sqlx into oeb25-1d-array-pg-support 2020-03-20 10:11:02 -07:00
Ryan Leckey
50c3e5fefb
Merge pull request #138 from PoiScript/master
postgres: ipnetwork support
2020-03-20 09:54:43 -07:00
Ryan Leckey
a017150890 postgres: tls: accept invalid certificates and mismatched hostnames under "prefer" 2020-03-20 09:47:18 -07:00
PoiScript
fbbae16a74 update decoding and encoding 2020-03-20 11:10:36 +08:00
PoiScript
7ab76ba84e make inet and cidr compatible 2020-03-20 10:19:14 +08:00