Ryan Leckey
00137d4a04
feat: add sqlx::Done and return from Executor::execute()
...
+ Done::rows_affected()
+ Done::last_insert_id()
2020-07-14 04:31:25 -07:00
Ryan Leckey
61e4a4f566
feat: finish v1 of both cli and embedded migrations
2020-07-12 03:43:55 -07:00
Ryan Leckey
e765287dba
refactor: restructure relationship between Pool, Connection, and Options
...
* Pool::new -> Pool::connect
* Add Pool::connect_lazy
* Pool::builder -> PoolOptions::new
* PoolConnection no longer implements Connection
* Transaction no longer implements Connection
* Add ConnectOptions::connect
* Add Acquire - abstract between &Pool and &mut Connection within one function
* Remove Connect, move connect to Connection
Co-authored-by: Austin Bonander <austin@launchbadge.com>
2020-07-12 03:43:55 -07:00
Ryan Leckey
8d188c5f1a
feat: expose column information on Row
...
- add database-specific Column types: MySqlColumn, PgColumn, etc.
- add Row::columns() -> &[DB::Column]
- add Row::column(I) and Row::try_column(I)
2020-07-05 03:48:36 -07:00
Ryan Leckey
266a583a6b
fix: remove reference to accidentally added WIP module
2020-07-04 05:54:36 -07:00
Ryan Leckey
d112c4d807
feat(sqlite): support expressions and multiple no-data statements in the macros
2020-07-04 04:06:43 -07:00
Ryan Leckey
5d6516da68
fix: re-add MapRow and TryMapRow to fix HRTB normalization when more than one driver is in-use
2020-07-02 23:00:46 -07:00
Ryan Leckey
a7117dd71b
feat(any): introduce the Any database driver which enables choosing the database driver at runtime
2020-06-27 04:07:40 -07:00
Julius de Bruijn
2c2a277666
Caching methods in Connection
2020-06-25 10:44:05 +02:00
Julius de Bruijn
2b6f242a22
LRU statement cache for MySQL
2020-06-24 16:57:06 +02:00
Ryan Leckey
e1d22a1840
fix(core): async-stream crate seems to lose the stream if the stream owns the object we are streaming
...
hand-rolled a copy of the idea behind AsyncStream and things seem to work
2020-06-09 02:16:47 -07:00
Ryan Leckey
ef2527ff3e
feat(mssql): fix a few bugs and implement Connection::describe
2020-06-07 02:00:31 -07:00
Daniel Akhterov
2863247660
fix: remove mssql and db2 modules
2020-06-06 11:01:40 -07:00
Daniel Akhterov
1b9ef2b7f2
fix: comment out mssql module
2020-06-06 10:59:44 -07:00
Ryan Leckey
9341cb8651
test: mark macro doctests as ignored (for now)
2020-06-01 17:06:42 -07:00
Ryan Leckey
3fcd4cd80e
style(core): apply more clippy suggestions
2020-05-30 18:28:55 -07:00
Ryan Leckey
9b299d9f09
style(core): apply future-incompatible suggestions
2020-05-30 18:06:21 -07:00
Ryan Leckey
cf7606be1b
fix: Transaction now to rollbacks on drop (again)
2020-05-30 17:51:55 -07:00
Ryan Leckey
cc9d443434
feat: re-introduce Transaction
...
* Transaction now wraps `&mut Connection` instead of `Connection`
2020-05-30 17:51:55 -07:00
Ryan Leckey
9d2a0141cb
feat: introduce IntoArguments, query_with, query_as_with, and query_scalar_with
2020-05-30 17:51:55 -07:00
Ryan Leckey
757a930e21
refactor(core): remove the HRTB (higher rank trait bound) on Row in the aim of improving ergonomics
...
* removes the lifetime from Row
* removes MySqlQueryAs, SqliteQueryAs, etc. (no longer needed)
* introduce query_scalar
* introduce Decode::accepts to allow overriding runtime type checking
per-type (replaces TypeInfo::compatible)
* introduce Encode::produces to allow overriding the encoded type per-value
* adds a lifetime to Arguments (and introduce the HRTB HasArguments)
to support zero-copy encoding with SQLite
* renames Database::RawBuffer to HasArguments::ArgumentBuffer
* introduce Connect::connect_with to provide an ConnectOptions type
explicitly to opt-out of connection string parsing
* introduce Value and ValueRef traits to allow decoding-deferred
extraction of values from Rows
* introduce Encode::encode_by_ref and change Encode::encode to take
by-value to try and re-use memory where possible
* use thiserror to generate sqlx::Error
* [!] temporarily removes query logging
* [!] temporarily removes transactions
2020-05-30 16:09:08 -07:00
Josh Holmer
16229fd0ad
Add basic query logging
...
Prints each query performed at DEBUG level,
along with a timing of how long the query took
to execute.
Slow queries will be printed at WARN level.
Currently the slow query threshold is
hardcoded to 1 second.
2020-04-17 22:49:33 -07:00
Ryan Leckey
bbbc1811ce
postgres: tweak DataRow::read
2020-03-30 18:31:05 -07:00
Ryan Leckey
918a797581
move HasX types into the module where X is
2020-03-25 01:44:00 -07:00
Ryan Leckey
43a72657f9
add a hack so bigdecimal can be the package name and the feature name
2020-03-24 02:56:14 -07:00
Ryan Leckey
1940b685d3
fix warnings from rustdoc
2020-03-24 01:36:17 -07:00
Ryan Leckey
0182ce92f2
make sqlx_core::runtime private and add a runtime module to sqlx-macros
2020-03-24 01:19:03 -07:00
Ryan Leckey
06be59f7f0
Remove MaybeOwned
2020-03-18 17:08:44 -07:00
Ryan Leckey
751efdf31b
generalize MaybeOwnedConnection and clean up the connection file
2020-03-14 17:43:44 -07:00
Ryan Leckey
5d042e35b1
sqlite: stub
2020-03-14 17:43:44 -07:00
Ryan Leckey
c14338d329
remove unused imports
2020-03-11 02:29:20 -07:00
Ryan Leckey
c9df8acc41
Add zero-allocation to MySQL query execution
...
WIP mysql compiles with types and executor commented out
2020-03-11 01:47:29 -07:00
Ryan Leckey
b8cd2e9388
remove unused imports
2020-03-11 01:45:04 -07:00
Ryan Leckey
10232a2cdc
remove re-exports from sqlx-core and let sqlx fully define the module layout
2020-03-11 01:45:04 -07:00
Ryan Leckey
47f3d77e59
query_as: fully implement query_as, required a db-specific ext trait
2020-03-11 01:44:41 -07:00
Ryan Leckey
433aab1e5b
postgres: use RawValue in Decode and implement row-returning simple queries
2020-03-11 01:44:06 -07:00
Austin Bonander
0cb7bd1185
make macros work again
2020-03-11 01:43:27 -07:00
Ryan Leckey
a374c18a18
postgres: rewrite protocol in more iterative and lazy fashion
2020-03-11 01:43:17 -07:00
Ryan Leckey
ea1a4fb042
add Cursor and rewrite Executor/Query over it
...
* this breaks a lot internally as-is
* mysql needs a restructure
2020-03-11 01:43:04 -07:00
Jane Lusby
ea03fa47e7
Initial commit with doc_cfg changes
2020-01-22 13:10:10 -08:00
Ryan Leckey
92f12e11aa
Add support for Tokio
2020-01-15 01:17:33 -08:00
Ryan Leckey
b1a27ddac2
Add a Transaction type to simplify dealing with Transactions
2020-01-15 00:22:01 -08:00
Ryan Leckey
28ed854b03
Extract Connection::open into a new trait Connect::connect
2020-01-14 23:58:17 -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
Ryan Leckey
8d8fea874a
Use forbid(unsafe_code) over deny(unsafe_code)
2020-01-03 11:45:18 -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
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