217 Commits

Author SHA1 Message Date
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
51cf310b61
test(mysql): fix usage of connect options 2021-02-18 23:48:53 -08:00
Ryan Leckey
23b8d93023
chore: update lockfile 2021-02-18 23:46:07 -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
6b4e5fbc1c
wip: add query, Query 2021-02-18 23:46:06 -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
4844d347e0
docs(mysql): clean up quickstart and go over a few important notes 2021-02-18 23:46:05 -08:00
Ryan Leckey
fd90414161
test(mysql): add chinook for mysql 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
ca7e138b68
chore: update lockfile 2021-02-18 23:46:05 -08:00
Ryan Leckey
ae13a8d618
refactor(postgres): remove from facade
the template changed a lot and it needs re-done
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
b837a3ca25
feat(core): add fetch_optional and fetch_one 2021-02-18 23:46:04 -08:00
Ryan Leckey
06bad624de
chore: update lockfile 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
a6c8cb02df
feat(core): expand Executor with fetch_x, declare Column, Row, and QueryResult 2021-02-18 23:46:03 -08:00
rich-murphey
1fe689771c fix typo 2021-02-12 18:21:06 -08:00
rich-murphey
45a4f14f8c use space after comma to conform to fmt 2021-02-12 18:21:06 -08:00
rich-murphey
1d5ca38e0d postgres is bigendian. maintain rustfmt. use .consume() 2021-02-12 18:21:06 -08:00
rich-murphey
902114b756 postgres: peek at header then take whole message 2021-02-12 18:21:06 -08:00