Austin Bonander
eff7c9e125
fix Pool to remove possibility of "leaking" connections ( #84 )
...
* fix `Pool` to reduce possibility of "leaking" connections
now uses RAII guards to control `SharedPool::size`
* add smoke test for `Pool` to both Postgres and MySQL tests
add `Pool::is_closed()`
* fix documentation re: pool
* refactor pool implementation to not use futures oneshot channels
https://github.com/launchbadge/sqlx/pull/84#issuecomment-580476223
* run cargo fmt
* Pool: remove superfluous guard struct, document some internal methods
2020-01-31 23:33:42 -08:00
Ryan Leckey
24d6c696f8
Merge pull request #70 from launchbadge/ab/idents-fix
...
sqlx-macros: fix handling of invalid idents
2020-01-21 16:01:56 -08:00
Wesley Norris
1461891901
Fix passwords not being percent decoded
...
The password portion of the `Url` type is post-percent encoding
and needs to be manually decoded before processing and being
sent to the server.
2020-01-21 18:53:07 -05:00
Austin Bonander
831ce2d615
fix build with TLS feature on
2020-01-21 11:57:01 -08:00
Austin Bonander
efed9b3d6d
sqlx-macros: fix handling of invalid idents
...
add regression test with Trybuild
fix lint warnings as otherwise Trybuild wanted to include them
2020-01-21 01:52:57 -08:00
Jonas Platte
f93beb460a
Add PgTypeInfo::with_oid
2020-01-18 14:04:17 +01:00
Ryan Leckey
d00c18ec75
Fix query! for the no results case in Postgres and MySQL
2020-01-18 00:43:59 -08:00
Austin Bonander
beba141aec
PgConnection: clear buffers after TLS upgrade
2020-01-16 13:30:48 -08:00
Ryan Leckey
809bc3964c
Run rustfmt
2020-01-15 01:34:20 -08:00
Ryan Leckey
92f12e11aa
Add support for Tokio
2020-01-15 01:17:33 -08:00
Ryan Leckey
96f14c0700
Merge remote-tracking branch 'origin/ab/proc-macro-unhack-sort-of' into rl-transaction-1
2020-01-15 00:29:43 -08:00
Ryan Leckey
2e5e273565
Fix Pool alias with Pool changes
2020-01-15 00:26:22 -08:00
Ryan Leckey
b1a27ddac2
Add a Transaction type to simplify dealing with Transactions
2020-01-15 00:22:01 -08:00
Austin Bonander
0fdb875c20
support arbitrary numbers of bind parameters in query!() et al
2020-01-15 00:05:34 -08:00
Ryan Leckey
28ed854b03
Extract Connection::open into a new trait Connect::connect
2020-01-14 23:58:17 -08:00
Ryan Leckey
3183413e9e
Merge pull request #50 from launchbadge/rl-refactor-types
...
Refactor HasSqlType to provide an array of compatible types
2020-01-14 23:32:45 -08:00
Ryan Leckey
6b22fb7489
Refactor HasSqlType to provide an array of compatible types.
...
* Intending to use in a new Row type to check types at runtime for
dynamic queries and to guard against schema changes
* Hoping the query! macro can utilize this to allow accepting N
rust types for 1 sql type and returning N rust types for 1 sql
type.
2020-01-14 23:27:42 -08:00
Austin Bonander
fc66c8fa3f
give examples of connection strings enabling SSL
2020-01-14 12:07:43 -08:00
Ryan Leckey
330b1e2b4e
Fix serialization test for postgres
2020-01-14 10:43:54 -08:00
Ryan Leckey
0a5b527d79
fix import errors and run rustfmt
2020-01-14 10:35:50 -08:00
Austin Bonander
f04e4bdbeb
document TLS options for Postgres
2020-01-13 14:54:29 -08:00
Austin Bonander
638852a2dd
implement TLS support for Postgres
2020-01-13 11:52:09 -08:00
Ryan Leckey
c4a0ac50df
Indicate that we support both forms of SCRAM (just always reject channel binding for now)
2020-01-11 03:52:12 -08:00
Daniel Akhterov
db230e2ce0
Resolve Comments
...
- Remove `hex` from root `Cargo.toml`
- Make `hmac` crate optional
- Clean up checking mechanisms for "SCRAM-SHA-256"
- Use `str::from_utf8` instead of `String::from_utf8_lossyf
- Update `Sasl*Response` structs be tuple structs
- Factor out `len` in `SaslInitialResponse.encode()`
- Use `protocol_err` instead of `expect` when constructing `Hmacf
instances
- Remove `it_connects_to_database_user` test as it was too fragile
- Move `sasl_auth` function into `postgres/connection` as it more
related to `Connection` rather than `protocl`
- Return an error when decoding base64 salt rather than panicing
in `Authentication::SaslContinue`
2020-01-11 03:33:38 -08:00
Daniel Akhterov
507d988fc4
Implememnt SASL Authentication
2020-01-11 03:33:21 -08:00
Kris
7464d35803
Check if enough bytes was received
2020-01-07 11:44:15 +01:00
Austin Bonander
589d06ec66
change UnexpectedEof to ConnectionAborted
2020-01-03 19:06:00 -08:00
Ryan Leckey
19e38ab8d3
[MySQL] [Postgres] Add support for BLOB and BYTEA types
2019-12-30 02:10:09 -08:00
Ryan Leckey
e16c043bf9
Add basic docs to MySql and Postgres Connection
2019-12-28 01:01:45 -08:00
Ryan Leckey
9b0f34b0ce
Fix a couple minor nits with Pool and run rustfmt
2019-12-27 22:47:25 -08:00
Ryan Leckey
017ee38725
De-duplicate error impls and forward MySqlConnection/PgConnection to crate root
2019-12-27 21:50:13 -08:00
Austin Bonander
7d745f98ea
implement query_as!() et al, document query macros
2019-12-27 21:45:31 -08:00
Ryan Leckey
d76b1357da
Audit MySql and Postgres protocols
2019-12-27 17:31:01 -08:00
Austin Bonander
786deecc36
replace bitflags::_core with std
...
for some reason IntelliJ-Rust reaches for this first
2019-12-19 18:46:37 -08:00
Austin Bonander
5192983093
implement Executor::send()
2019-12-19 18:46:37 -08:00
Austin Bonander
56875a8931
finish discussed refactors
2019-12-18 23:02:01 -08:00
Austin Bonander
8aa931356f
WIP implement statement caching for MySQL, perform discussed refactors
2019-12-18 23:02:01 -08:00
Austin Bonander
d8d93867b7
implement prepared statement caching for postgres
2019-12-18 23:02:01 -08:00
Austin Bonander
ca3fbd740a
implement support for chrono
...
fix tests
2019-12-11 19:59:41 -08:00
Austin Bonander
b0a36ddd5c
fix Executor::describe() for MariaDB
...
prevent exhaustive match of `describe` structs
2019-12-04 18:13:10 -08:00
Austin Bonander
193e79569a
query refactors
2019-12-04 13:30:19 -08:00
Austin Bonander
acca40c88e
make query!() output anonymous records
2019-12-03 21:30:53 -08:00
Ryan Leckey
871183d23b
Minor fixes and run rustfmt
2019-12-03 00:22:02 -08:00
Ryan Leckey
9558ab1c50
Remove bytes usage and update dependencies
2019-12-02 23:26:44 -08:00
Ryan Leckey
6925d5999c
Fix mariadb compile errors and remove useless Row wrapper
2019-12-02 21:11:49 -08:00
Ryan Leckey
2227303f20
Have Backend require Executor and de-duplicate some logic
2019-11-27 23:26:20 -08:00
Ryan Leckey
b87edd5a9a
Unify sqlx::CompiledSql and sqlx::SqlQuery into sqlx::Query as a common return type between sqlx::query and sqlx::query!
2019-11-22 22:41:37 +00:00
Ryan Leckey
b14d3da2ee
Add sqlx::Row
...
- Rename the existing trait to an internal RawRow trait
- Row is used for selecting a dyn and deferring pulling its values out till later
- FromSqlRow -> FromRow
2019-11-22 18:34:29 +00:00
Austin Bonander
4d033963ce
use protocol_err! instead of InvalidData in more places
2019-11-22 17:57:00 +00:00
Austin Bonander
905320ff39
return Error::Protocol instead of io::ErrorKind::InvalidData
2019-11-22 17:33:44 +00:00