74 Commits

Author SHA1 Message Date
Ryan Leckey
5e1743fd3f
refactor(core): do not convert encode or decode errors into sqlx::Error automatically 2021-02-26 00:18:15 -08:00
Ryan Leckey
59eb42610d
refactor(core): store parameter index or name in Argument for error messages 2021-02-26 00:17:49 -08:00
Ryan Leckey
2c66bcf19f
feat(core): expand and document Row 2021-02-26 00:04:55 -08:00
Ryan Leckey
ecb4bd0281
feat(core): add TypeNotCompatible error variants to Decode and Encode Error 2021-02-26 00:04:29 -08:00
Ryan Leckey
2934a18af4
fix(core): bind non-object-safe pieces of Type to Argument for later use
- allows for TypeDecode and TypeEncode to be simple Type + X aliases
2021-02-26 00:03:40 -08:00
Ryan Leckey
a92925a045
fix(core): require that RawValue::Database == other database associated types 2021-02-26 00:02:14 -08:00
Ryan Leckey
1107241170
feat(core): add query_as, FromRow 2021-02-23 02:28:09 -08:00
Ryan Leckey
22960f1610
feat(mysql): add support for &str and &[u8] 2021-02-23 01:51:21 -08:00
Ryan Leckey
d2da565d0b
refactor: remove unsafe for utf8 conversions within protocol 2021-02-22 23:41:22 -08:00
Ryan Leckey
3df0743bdf
fix(core): use cmp::max instead of infix max 2021-02-22 23:02:44 -08:00
Ryan Leckey
eddd873f4d
feat(core): add Row::get, Row::get_raw 2021-02-22 21:35:51 -08:00
Ryan Leckey
21f3a83c5f
feat(core): add Row::column, Row::try_column (from 0.5) 2021-02-22 21:32:52 -08:00
Ryan Leckey
d8e4030cb8
refactor: rename ordinal to index 2021-02-22 21:29:05 -08:00
Ryan Leckey
3470195839
feat(core): add ColumnIndex 2021-02-22 21:22:04 -08:00
Ryan Leckey
2b99b1aeaf
feat(core): expand variants and documentation of sqlx::Error 2021-02-22 18:57:06 -08:00
Ryan Leckey
301665360c
wip: plan out transaction options, to mirror connect options 2021-02-19 21:41:42 -08:00
Ryan Leckey
9413146bb7
style(core): clippy 2021-02-18 23:59:11 -08:00
Ryan Leckey
3078957a66
feat(core): implement Executor for blocking runtimes 2021-02-18 23:58:59 -08:00
Ryan Leckey
562ea39ee3
fix: resolve new future-incompatible lint, trailing ; on macros 2021-02-18 23:50:36 -08:00
Ryan Leckey
943f1e441a
style: remove unused imports 2021-02-18 23:46:07 -08:00
Ryan Leckey
1f28e7b0b3
feat(core): use a blanket impl for TypeEncode 2021-02-18 23:46:07 -08:00
Ryan Leckey
7db850da71
feat(mysql): thread E: Execute through the executor
+ handle normal errors separate from unexpected errors, an unexpected
   error causes the connection to close (in which case, if this was
   behind a pool, the pool would not allow this connection to be
   acquired again)
2021-02-18 23:46:07 -08:00
Ryan Leckey
d7151f3871
feat(core): add Execute 2021-02-18 23:46:06 -08:00
Ryan Leckey
367633a00a
feat(core): add Arguments::positional, returns an iterator over positional parameters 2021-02-18 23:46:06 -08:00
Ryan Leckey
46f314103a
feat(core): add TypeEncode::compatible 2021-02-18 23:46:06 -08:00
Ryan Leckey
ed3e9fdd38
feat(core): add Arguments, arguments::Argument, and arguments::ArgumentIndex 2021-02-18 23:46:06 -08:00
Ryan Leckey
831df74b93
feat(core): add Type, TypeEncode, and TypeDecode 2021-02-18 23:46:06 -08:00
Ryan Leckey
f7516ea22d
feat(core): add TypeInfo, Database::TypeInfo, Database::TypeId, and Column::type_info 2021-02-18 23:46:05 -08:00
Ryan Leckey
7f036dfb4a
style: remove unused imports 2021-02-18 23:46:05 -08:00
Ryan Leckey
ca7e138b68
chore: update lockfile 2021-02-18 23:46:05 -08:00
Ryan Leckey
a637e69d19
refactor: add Connect::connect_with(&Options) and reduce complexity of facade
- remove as much as possible from the DbConnectOptions facade with From and Deref

 - add From, Deref, and DerefMut to DbConnection facade
2021-02-18 23:46:05 -08:00
Ryan Leckey
8203410e3f
reactor(core): remove Rt param from Database trait and remove Connection associated type
- significantly cleans up the sqlx/ zero-prelude wrapping
2021-02-18 23:46:05 -08:00
Ryan Leckey
8925d2be0a
feat(core): add Encode and Decode 2021-02-18 23:46:04 -08:00
Ryan Leckey
b7cf04d9cf
feat(mysql): impl command state tracking, fetch_all, and fetch_optional
before each command, any dirty state is flushed
2021-02-18 23:46:04 -08:00
Ryan Leckey
b837a3ca25
feat(core): add fetch_optional and fetch_one 2021-02-18 23:46:04 -08:00
Ryan Leckey
a6c8cb02df
feat(core): expand Executor with fetch_x, declare Column, Row, and QueryResult 2021-02-18 23:46:03 -08:00
Ryan Leckey
76dd78f639
feat(core): add (minimal) Executor 2021-01-26 01:17:54 -08:00
Ryan Leckey
66ceff37b7
feat(core): impl io::Serialize for a byte slice 2021-01-26 01:17:54 -08:00
Ryan Leckey
965389557e
chore: update async-compat to release 0.2 (tokio 1.0 support) 2021-01-26 01:17:52 -08:00
Daniel Akhterov
d5053d1b1d
feat: begin work on postgres 2021-01-22 00:21:16 -08:00
Ryan Leckey
e10f1bf5d5
fix(mock): sqlx_core::Async is only available if feature = "async" 2021-01-20 19:43:19 -08:00
Ryan Leckey
a0ce421989
refactor: remove preludes and provide inherent methods on wrapped types
- sqlx::mysql::MySqlConnection is a tuple struct of sqlx_mysql::MySqlConnection

 - sqlx::mysql::MySqlConnection provides both connect() and connect().await
   using crate-local specialization from negative trait bound inference
2021-01-20 19:39:25 -08:00
Ryan Leckey
e719f698f4
polish: collapse a couple async/blocking groups 2021-01-14 19:01:39 -08:00
Ryan Leckey
d07eabd201
feat(core): add IoStream::shutdown and IoStream::shutdown_async 2021-01-11 00:45:11 -08:00
Ryan Leckey
f748c70132
refactor(core): merge flush and flush_async into flush! 2021-01-11 00:12:53 -08:00
Ryan Leckey
fbbf50a9d0
fix(mock): impl Async for Mock 2021-01-11 00:12:31 -08:00
Ryan Leckey
8562dba0dc
feat(core): add ConnectOptions::parse for convenience 2021-01-10 19:52:19 -08:00
Ryan Leckey
6c8d68e9d0
refactor: marker traits for non-blocking <Async> vs <runtime::Blocking>
- enforce compile-time errors if you try to block on an async-only runtime
   or await a blocking runtime

 - remove viral HRTB for Streams

 - support UNIX streams
2021-01-10 19:23:04 -08:00
Ryan Leckey
cbf280b240
docs: polish, add some information on supported databases and runtimes 2021-01-10 13:02:57 -08:00
Ryan Leckey
d3cfa6fccd
fix(mock): re-enable mock feature 2021-01-10 11:51:01 -08:00