Ryan Leckey
e54d030381
fix(mysql): str should produce VARCHAR not BLOB
2020-06-08 02:30:21 -07:00
Ryan Leckey
9a7401a427
chore: update dependencies
2020-06-07 16:30:21 -07:00
Ryan Leckey
f2885f84a7
fix(mssql): handle NULL values
2020-06-07 16:30:07 -07:00
Ryan Leckey
a0ccc135aa
style(mssql): rename MsSql to Mssql as MSSQL is not written MsSQL
2020-06-07 05:39:12 -07:00
Ryan Leckey
c9eef8b030
fix(postgres): failure to detect errors on postgres 9.5
2020-06-07 05:09:51 -07:00
Ryan Leckey
53c074130f
Merge remote-tracking branch 'origin/ab/macro-fixes'
2020-06-07 02:35:12 -07:00
Daniel Akhterov
c050611bac
fix: remove DatebaseError impl for stringprep::Error and panic instead
2020-06-07 02:34:41 -07:00
Daniel Akhterov
362a546484
feat(postgres): make sure username is ran through saslprep before sending to server
2020-06-07 02:34:41 -07:00
流光
ebfd5eb4f8
fix bug in init_min_connections
2020-06-07 02:34:20 -07:00
Ryan Leckey
9233cb5812
fix(sqlite): minor typo when encode for Option<T> became a macro
2020-06-07 02:15:48 -07:00
Ryan Leckey
13598c0eeb
feat(mssql): add support for offline
2020-06-07 02:15:10 -07:00
Ryan Leckey
ef2527ff3e
feat(mssql): fix a few bugs and implement Connection::describe
2020-06-07 02:00:31 -07:00
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
80b4e2fca6
fix(macros): reintroduce and fix macro tests for MySQL
2020-06-05 21:02:24 -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
Peter Maatman
30d13174ea
mysql: Add JSON support
2020-04-19 15:58:47 -07:00
Felix Wiedemann
57f52ffbc4
postgres: Use $USER as default for the username
2020-04-18 14:31:31 -07:00
Felix Wiedemann
f3fe41ebdb
postgres: Use username as default for database name
2020-04-18 14:31:31 -07:00
Felix Wiedemann
a2673f7880
postgres: Add support for postgres:///?host=...
connection strings
2020-04-18 14:31:31 -07:00
Felix Wiedemann
fc78f15ebf
postgres: Add support for non-default socket paths
2020-04-18 14:31:31 -07:00
Felix Wiedemann
5628658d3f
postgres: Add unix domain socket support
2020-04-18 14:31:31 -07:00
Felix Wiedemann
49f15713d6
Move empty host handling to the DB specific code
2020-04-18 14:31:31 -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
George Kaplan
7df6d4dbcf
undo URL percent-encoding for SQLite connection strings
2020-04-17 18:23:33 -07:00
meh
2fb38dd0c1
Derive all traits and impl Deref and AsRef for types::Json
2020-04-16 11:00:31 -07:00
Austin Bonander
80eb2cc7d2
make the stream returned from Map::fetch()
Unpin
...
closes #244
2020-04-11 03:04:21 -07:00
Ryan Leckey
90fd35745c
Prepare v0.3.4
2020-04-10 15:56:13 -07:00
xiaopengli89
5711e1cc94
refactor: mysql decimal value is just ascii str
2020-04-10 15:35:58 -07:00
xiaopengli89
229635771a
fix: test
2020-04-10 15:35:58 -07:00
xiaopengli89
771d423c6f
fix: change u8::MAX to std::u8::MAX
2020-04-10 15:35:58 -07:00
xiaopengli89
401ffd19e6
add test_encode_decimal, test_decode_decimal
2020-04-10 15:35:58 -07:00
xiaopengli89
b354ed430d
implement DECIMAL
type support for mysql
2020-04-10 15:35:58 -07:00
Ryan Leckey
d360f682f8
fix(postgres): guarantee the type name on a PgTypeInfo to always be set
...
fixes #241
2020-04-10 13:37:08 -07:00
Ryan Leckey
cd6735b5d7
fix(sqlite): handle empty statements, fixes #231
2020-04-08 02:13:37 -07:00
Ryan Leckey
72bd933e41
add MapRow impls; closes #228
2020-04-08 01:24:57 -07:00
Kristy Brambila
0e61642165
Make postgres type name resolution case-insensitive
2020-04-08 01:22:37 -07:00
kosyak
6c9241a3a9
Fixed types of variables that interact with libsqlite3
2020-04-07 04:10:47 -07:00
Ryan Leckey
e7ace2adc7
Prepare v0.3.3
2020-04-01 18:24:08 -07:00
Ryan Leckey
2a9774d84f
use cow::borrowed to remove a minor allocation in postgres/startup
...
refs #214
2020-03-31 21:41:29 -07:00
Ryan Leckey
3a997f06ab
Merge pull request #214 from jamwaffles/encoded-connection-string
...
Decode username on read
2020-03-31 21:38:33 -07:00
James Waples
f05f6bedd9
Decode username on read
2020-03-31 23:03:17 +01:00
Ryan Leckey
283f0ef6d8
Merge pull request #216 from Ace4896/must-use-types
...
Mark several types as #[must_use]
2020-03-31 11:49:05 -07:00
Jon Pacheco
ccc2bfa0a6
Mark several types as #[must_use]
2020-03-31 14:39:29 +01:00
Neeraj Jaiswal
c29fc5cccd
Remove matches dependency and use matches macro from std
2020-03-31 18:01:06 +05:30
Ryan Leckey
a9fc05378e
Prepare v0.3.2
2020-03-31 03:02:01 -07:00
Ryan Leckey
371e843bb2
mysql: remove random println
2020-03-31 03:00:31 -07:00
Ryan Leckey
a84e1f6626
Prepare v0.3.1
2020-03-30 18:53:03 -07:00
Ryan Leckey
b65602d842
postgres: remove unused import
2020-03-30 18:52:52 -07:00
Ryan Leckey
d820763bb9
mysql: infer empty password to mean no password
2020-03-30 18:42:25 -07:00
Ryan Leckey
d3eb9c7800
postgres: use PgStream::receive over PgStream::read to handle errors
...
* PgStream::read should probably be named better; maybe PgStream::raw_receive
Fixes #203
2020-03-30 18:38:31 -07:00
Ryan Leckey
bbbc1811ce
postgres: tweak DataRow::read
2020-03-30 18:31:05 -07:00
Ryan Leckey
670265f103
docs: fix link to db types
2020-03-29 16:34:05 -07:00