Commit graph

448 commits

Author SHA1 Message Date
Ryan Leckey
559169cc79 refactor(mssql): clean up unused imports and other warnings 2020-06-07 02:00:13 -07:00
Ryan Leckey
12c1137d91 feat(mssql): add support for f32 and f64 2020-06-07 02:00:13 -07:00
Ryan Leckey
28636c1f5d feat(mssql): add support for string types including a framework for handling non-UTF8 data 2020-06-07 02:00:13 -07:00
Ryan Leckey
2a272bdd59 feat(mssql): setup type tests for MSSQL and add support for all the int types 2020-06-07 02:00:13 -07:00
Ryan Leckey
434bfaa76a feat(mssql): handle stream flushing 2020-06-07 02:00:13 -07:00
Ryan Leckey
c64122c03f feat(mssql): implement parameterized queries 2020-06-07 02:00:13 -07:00
Ryan Leckey
9a701313bc feat(mssql): implement enough to get simple queries working
Co-authored-by: Daniel Akhterov <akhterovd@gmail.com>
2020-06-07 02:00:12 -07:00
Ryan Leckey
05eb07e7d4 feat(mssql): setup the initial boilerplate for MSSQL
Co-authored-by: Daniel Akhterov <akhterovd@gmail.com>
2020-06-07 02:00:12 -07:00
Ryan Leckey
3bc11cea26 fix: comment in mysql should say mysql 2020-06-07 02:00:12 -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
Austin Bonander
e3dbd58bf2 PgConnection: use more obvious/safer query for ping() 2020-06-05 20:13:20 -07:00
rage311
a0d1106f90 Added quotes to listen/unlisten channel names to honor case sensitivity and be consistent with 'listen_all()' 2020-06-05 19:50:44 -07:00
dignifiedquire
9b68eb19ef fix(sqlx-macros): update trait definitions 2020-06-05 19:49:31 -07:00
Ryan Leckey
9341cb8651 test: mark macro doctests as ignored (for now) 2020-06-01 17:06:42 -07:00
Ryan Leckey
b7f8a5fa81 fix: remove outdated comment, we do have the test_on_acquire setting 2020-06-01 05:37:26 -07:00
Ryan Leckey
bb7c064bec fix: error handling in main options examples 2020-06-01 05:35:13 -07:00
Ryan Leckey
a3053119fa fix: expose runtime-actix in sqlx/Cargo.toml 2020-06-01 05:34:52 -07:00
dignifiedquire
994911b1fe
feat: implement FromRow for tuples up to 16 2020-05-31 00:08:33 -07:00
Ryan Leckey
51ae9f00e7
chore: bump version to 0.4.0-pre 2020-05-30 23:15:52 -07:00
Ryan Leckey
3fcd4cd80e
style(core): apply more clippy suggestions 2020-05-30 18:28:55 -07:00
Ryan Leckey
35bf560481
fix(core): tweak serialization impls to fix offline mode 2020-05-30 18:17:51 -07:00
Ryan Leckey
9b299d9f09
style(core): apply future-incompatible suggestions 2020-05-30 18:06:21 -07:00
Ryan Leckey
72c1f52caf
style(core): apply clippy suggestions 2020-05-30 18:00:21 -07:00
Ryan Leckey
e08f05b879
feat: re-introduce error downcasting 2020-05-30 17:51:56 -07:00
Ryan Leckey
e5b6047009
feat: introduce docker-compose based testing for running locally against many database combinations 2020-05-30 17:51:55 -07:00
Ryan Leckey
afd831b0d3
feat: re-introduce Pool::begin and add Pool::try_begin to match Pool::try_acquire 2020-05-30 17:51:55 -07:00
Ryan Leckey
0a04abdb3e
feat: Pool is now generic over Database, as opposed to Connection
this fixes an unfortunate interaction with HRTBs where the compiler would
produce infinitely nested PoolConnection<PoolConnection<....
2020-05-30 17:51:55 -07:00
Ryan Leckey
cf7606be1b
fix: Transaction now to rollbacks on drop (again) 2020-05-30 17:51:55 -07:00
Ryan Leckey
bb3b571a57
fix: tweak lifetimes in Executor to limit the scope for the borrow on the query to the single execution 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
88532ffc28
refactor: clean up warnings 2020-05-30 17:51:49 -07:00
Ryan Leckey
a54b1267f6
refactor(macros): adapt to the 0.4.x core refactor 2020-05-30 17:51:49 -07:00
Ryan Leckey
eaa7fba9d4
refactor(postgres): adapt to the 0.4.x core refactor 2020-05-30 17:49:30 -07:00
Ryan Leckey
2966b655fc
refactor(mysql): adapt to the 0.4.x core refactor 2020-05-30 17:48:10 -07:00
Ryan Leckey
37a69e0ac3
refactor(sqlite): adapt to the 0.4.x core refactor
* massive (~20x) performance improvement
2020-05-30 16:09:50 -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
Austin Bonander
6913695588 add support for building in "decoupled" mode 2020-05-30 16:02:37 -07:00
吴翱翔
77cdafe08a Fix a misspelling in MySQL types document 2020-05-15 12:46:35 -07:00
Ryan Leckey
cbccd68963
chore: prepare v0.3.5 2020-05-06 03:30:35 -07:00
meh
7b1cc7fd09 Derive Serialize and Deserialize for Json 2020-05-06 00:13:19 -07:00
Austin Bonander
c285e28670 fix and test handling of 0 for BigDecimal in Postgres/MySQL
closes #283
2020-04-28 11:54:41 -07:00
Peter Maatman
4122a3dbd9 mysql: Advance buffer to comply with protocol
Fixes #254
2020-04-27 16:47:38 -07:00
Hasan Ali
3e2ed00b60 Drop all statements before closing sqlite connection 2020-04-27 10:20:57 -07:00
Josh Holmer
581bcf0ceb Extract slow query threshold to constant 2020-04-23 14:09:59 -07:00
Josh Holmer
627d8292f8 Log queries from sqlx::query
This will make logged queries show
as from `sqlx::query` instead of `sqlx::db_name::executor`.

Followup to #268
2020-04-23 14:09:59 -07:00
Josh Holmer
f73149a90f Format SQL queries when printing them to the logs
Before, the query would be formatted equivalent to the input string:

```
[2020-04-18T23:47:32Z DEBUG sqlx_core::postgres::executor] SELECT id, queue, ..., elapsed: 2.320µs

        SELECT id, queue, payload, status, priority, created_at, updated_at
    FROM jobs
    WHERE status = $1
    ORDER BY priority ASC, created_at ASC

```

After, the query is formatted cleanly and consistently:

```
[2020-04-19T00:30:18Z DEBUG sqlx_core::postgres::executor] SELECT id, queue, ..., elapsed: 2.280µs

    SELECT
      id,
      queue,
      payload,
      status,
      priority,
      created_at,
      updated_at
    FROM
      jobs
    WHERE
      status = $1
    ORDER BY
      priority ASC,
      created_at ASC

```

This uses the `sqlformat` crate, which was ported from the
Javascript `sql-formatter-plus` library specifically for this purpose.
2020-04-19 16:11:50 -07:00
Ryan Leckey
1cdfb8507c fix: remove the clone on Encode for JsonValue 2020-04-19 16:05:37 -07:00
Peter Maatman
1b04829c46 json: Refactor Encode/Decode for serde values to be generic for DB
Since the implementation of Encode and Decode for both mysql and
postgres on serde's Value and RawValue were practically the same they
were moved to the generic json module.
2020-04-19 15:58:47 -07:00