Ryan Leckey
16f961584d
fix(mysql): handle reading binary-encoded string data
2021-02-23 12:14:23 -08:00
Ryan Leckey
0708b3a873
feat(mysql): detect BOOLEAN, SET, and ENUM with MySqlTypeInfo
2021-02-23 02:06:24 -08:00
Ryan Leckey
0756ef0e59
refactor(mysql): remove binary type IDs
2021-02-23 01:55: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
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
9a31baa15a
feat(mysql): expand MySqlRow
2021-02-22 21:22:30 -08:00
Ryan Leckey
6099468c7d
feat(mysql): expand MySqlDatabaseError
2021-02-22 19:21:28 -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
1227b934c8
style(mysql): clippy
2021-02-19 00:07:18 -08:00
Ryan Leckey
2bc2434fa0
fix(mysql): Executor for blocking runtime
2021-02-19 00:00:43 -08:00
Ryan Leckey
562ea39ee3
fix: resolve new future-incompatible lint, trailing ; on macros
2021-02-18 23:50:36 -08:00
Ryan Leckey
51cf310b61
test(mysql): fix usage of connect options
2021-02-18 23:48:53 -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
60cf88c38f
feat(mysql): implement the prepare phase for statements
2021-02-18 23:46:07 -08:00
Ryan Leckey
080fa46126
wip(mysql): add MySqlOutput, unsure on exact API
2021-02-18 23:46:07 -08:00
Ryan Leckey
924340c5b4
feat(mysql): handle conversions from other integer types in u8
2021-02-18 23:46:07 -08:00
Ryan Leckey
9d448c8d8e
feat(mysql): expand MySqlRow to handle the binary format from prepared queries
2021-02-18 23:46:07 -08:00
Ryan Leckey
f348a8f2ac
feat(mysql): expand MySqlTypeInfo, MySqlTypeId
2021-02-18 23:46:06 -08:00
Ryan Leckey
d143a790af
feat(mysql): expand protocol definitions for prepared queries, ColumnFlags, Execute, Prepare, PrepareOk
2021-02-18 23:46:06 -08:00
Ryan Leckey
42c3340f60
feat(mysql): add TypeInfo to MySqlRawValue
2021-02-18 23:46:06 -08:00
Ryan Leckey
5d1cadd47c
feat(mysql): expand MySqlColumn, add various helper methods
2021-02-18 23:46:06 -08:00
Ryan Leckey
7f036dfb4a
style: remove unused imports
2021-02-18 23:46:05 -08:00
Ryan Leckey
5a75655bdf
feat(mysql): impl Decode for str and String
2021-02-18 23:46:05 -08:00
Ryan Leckey
3415ce947c
feat(mysql): add inherent impls for try_get and try_get_raw to Row
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
0ce4a6a418
feat(mysql): MySqlTypeId, MySqlTypeInfo, and Decode/Encode impl for bool, u8
2021-02-18 23:46:04 -08:00
Ryan Leckey
6dfc91daf7
feat(mysql): add MySqlRawValue
...
- renamed from MySqlValue (from master)
2021-02-18 23:46:04 -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
4a1087db6c
refactor(mysql): create ResultPacket (OK or ERR), make Row parsing lazy, and move ERR handling to the Packet type
2021-02-18 23:46:04 -08:00
Ryan Leckey
c5bd3988d9
refactor(mysql): merge and cleanup recv_columns!
2021-02-18 23:46:04 -08:00
Ryan Leckey
93dc33adc0
refactor(mysql): break up execute() into executor/columns and executor/execute
2021-02-18 23:46:04 -08:00
Ryan Leckey
d04dc77b4f
chore(mysql): provide a trivial conversion from EOF to OK
2021-02-18 23:46:03 -08:00
Ryan Leckey
5926dcaa69
fix(mysql): handle Changed and Warnings in OK info parser
2021-02-18 23:46:03 -08:00
Ryan Leckey
ad6d4b5740
perf(mysql): guarantee no allocation if no columns are passed to Row::deserialize_with
2021-02-18 23:46:03 -08:00
Ryan Leckey
4cbdac6884
feat(mysql): minimally implement Row and Column
2021-02-18 23:46:03 -08:00
Ryan Leckey
499bc33e41
test(mysql): some test fixes in connect mocks
2021-01-27 19:55:33 -08:00
Ryan Leckey
a0d68e726c
feat(mysql): add MySqlQueryResult
2021-01-27 19:31:21 -08:00
Ryan Leckey
5836e1eb63
wip(mysql): impl Executor
2021-01-26 01:18:54 -08:00
Ryan Leckey
ce2fba7b8d
refactor(mysql): split off MySqlStream from MySqlConnection
2021-01-26 01:17:54 -08:00
Ryan Leckey
d279c6b978
feat(mysql): implement more protocol types: QueryResponse, Query, QueryStep, ColumnDef, Row
2021-01-26 01:17:54 -08:00
Ryan Leckey
ecec956f67
fix(sqlx): minor blocking fixes
2021-01-20 19:48:41 -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