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
PoiScript
c9cca27e65
rename feature gate to ipnetwork
2020-03-20 10:19:14 +08:00
PoiScript
060c5d2b66
postgres: ipnetwork support
2020-03-19 18:21:09 +08:00
Ryan Leckey
2a8906d1e5
add more documentation
2020-03-18 22:46:44 -07:00
Ryan Leckey
829f37793a
Re-export PgRecordEncoder and PgRecordDecoder
2020-03-18 22:11:02 -07:00
Ryan Leckey
5809f8687c
Merge remote-tracking branch 'origin/ab/bigdecimal'
2020-03-18 22:09:27 -07:00
Ryan Leckey
dfb313f0c6
Add Postgres <-> Rust type documentation
2020-03-18 22:08:32 -07:00
Ryan Leckey
cb67ed0300
Make PgTypeInfo::oid doc(hidden)
2020-03-18 22:08:18 -07:00
Austin Bonander
33677e86a8
move PgNumeric[Sign], PgRecord[Encoder,Decoder] to hidden postgres::types::raw
...
fix errors
2020-03-18 19:36:54 -07:00
Austin Bonander
7ffec2fef8
remove .expect() in impl TryFrom<PgNumeric> for BigDecimal
2020-03-18 19:12:14 -07:00
Austin Bonander
979c5cc944
remove unnecessary comment and update Cargo.lock
2020-03-18 19:09:10 -07:00
Austin Bonander
3a43e939e3
refactor PgNumeric so NaN can't be misinterpreted, document types
2020-03-18 19:06:14 -07:00
Austin Bonander
b7aabaa0ec
numeric/bigdecimal modules: fix warnings
2020-03-18 19:06:14 -07:00
Austin Bonander
3cb42def3b
macros: add support for Postgres + BigDecimal
2020-03-18 19:06:14 -07:00
Austin Bonander
94c40b3eb7
Postgres: implement numeric and BigDecimal support
2020-03-18 19:06:14 -07:00
Ryan Leckey
d380f4b4a8
remove is_null_type and use Option<TypeInfo>
2020-03-17 21:43:41 -07:00
Austin Bonander
8328e07c97
macros + sqlite: fix error for null-typed columns
2020-03-17 21:10:19 -07:00
Ryan Leckey
2a76123bc3
Merge pull request #134 from launchbadge/derives
...
Add derives to support custom types
2020-03-17 20:04:19 -07:00
Ryan Leckey
c1e6b2045c
postgres: support null in a record
2020-03-17 19:26:15 -07:00
Brian Misiak
459828ee3d
postgres: remove IntervalStyle to fix #130
...
Support more server versions, including CockroachDB, which only supports the `postgres` style.
2020-03-17 17:55:27 -07:00
Ryan Leckey
602e61ab27
postgres: add support for decoding anonymous tuples and more fully test encoding/decoding records
2020-03-17 02:47:37 -07:00
Ryan Leckey
a5d17eab00
add derive(Debug) for PgValue
2020-03-17 01:13:15 -07:00
Ryan Leckey
ced6713f57
add trailing newline
2020-03-17 01:11:15 -07:00
Tom Dohrmann
8841f83e68
removed unused imports
2020-03-16 22:58:31 -07:00
Tom Dohrmann
4cd179d42b
move decode_struct_field and encode_struct_field to sqlx-core
2020-03-16 22:58:31 -07:00
Tom Dohrmann
c3aeb275c2
add derive macros for weak & strong enums and structs
2020-03-16 22:58:25 -07:00
Ryan Leckey
e0ca521889
cursor: for now, add #[doc(hidden)] to from_connection and from_pool as we look for ways to remove them
2020-03-16 22:51:55 -07:00
Ryan Leckey
48714e8ea9
Remove unused import in postgres/listen.rs
2020-03-16 20:00:36 -07:00
Ryan Leckey
0e3eb7ce39
postgres: listen: go back to Vec<String> for channels
2020-03-16 19:54:38 -07:00
Ryan Leckey
e99e80cf94
listen: merge PgListener and PgPoolListener; allow PgListener to be used as an Executor; allow channels to be adjusted at run-time
2020-03-16 18:35:37 -07:00
Ryan Leckey
f677748a3b
postgres: Add lifetime to NotificationResponse
2020-03-16 18:31:09 -07:00
Ryan Leckey
b80080a95b
postgres: Stream::read -> Stream::receive and extract "just reading" to Stream::read
2020-03-16 18:30:45 -07:00
Ryan Leckey
1d0100b35d
Add DatabaseError::code
2020-03-16 18:29:41 -07:00
Ryan Leckey
12e250b52c
Inline MaybeOwned in ConnectionSource and add another variant to store owned or ref connections
2020-03-15 02:58:41 -07:00
Ryan Leckey
4419aea619
update postgres/listen.rs for internal changes
2020-03-15 02:17:14 -07:00
Anthony Dodd
3db54dd724
Remove the Drop impl for PgPoolListener.
...
This is being removed as it was causing undesired behavior under some
contexts.
2020-03-15 02:17:14 -07:00
Anthony Dodd
82923a1aaa
Update stream impls.
...
The basic PgListener stream impl now yields `Result<PgNotification>`
elements without an `Option` in the result. The option condition
originally represented the closure of the underlying connection. Now
such conditions will terminate the stream, as one would expect. The
`PgListener.recv()` method signature has not been changed.
PgPoolListener has also been updated. The interfaces on this struct will
never yield an inner `Option` as it will instead acquire a new
connection and continue its work. Both the stream impl & the `recv`
method have received an update to their signatures.
2020-03-15 02:17:14 -07:00
Anthony Dodd
608556f91a
Impl Drop for PgPoolListener & add to exports.
2020-03-15 02:17:14 -07:00
Anthony Dodd
ae7e15cbe3
Added demo program to show use of LISTEN/NOTIFY.
2020-03-15 02:17:14 -07:00
Anthony Dodd
a0da99e128
A good bit of refactoring.
...
Broke up PgListener into two types. PgListener for basic one-off
connections, and PgPoolListener for the listener created from the
PgPool.
The API is a bit more clear now with this change in terms of reconnect
behavior and the like.
Update `fn stream` to be `fn into_stream`, as that nomenclature is a bit
more normative in the Rust ecosystem.
2020-03-15 02:17:14 -07:00