Austin Bonander
531740550f
fix(pool): reimplement pool internals with futures-intrusive ( #1320 )
2021-07-21 16:28:44 -07:00
marshoepial
cb3ff28721
Keep track of column typing in SQLite EXPLAIN parsing ( #1323 )
...
* NewRowid, Column opcodes, better pointer handling
* Implement tracking of column typing on sqlite explain parser
* fmt for sqlite column typing for explain parsing
Co-authored-by: marshoepial <marshoepial@gmail.com>
2021-07-21 16:27:47 -07:00
nomick
be189bd11e
Support MACADDR in Postgres ( #1329 )
2021-07-19 16:55:53 -07:00
Austin Bonander
8f1d8c7e2f
more pool fixes ( #1211 )
...
* a task that is marked woken but didn't actually wake before being cancelled will instead wake the next task in the queue
* a task that wakes but doesn't get a connection will put itself back in the queue instead of waiting until it times out with no way to be woken
* the idle reaper now won't run if there are tasks waiting for a connection, and also uses
the proper `SharedPool::release()` to return validated connections to the pool so waiting tasks get woken
closes #622 , #1210
(hopefully for good this time)
Signed-off-by: Austin Bonander <austin@launchbadge.com>
2021-05-17 19:24:40 -07:00
link2xt
bd06836fba
test(sqlite): extend it_caches_statements() test
...
Test that initial PRAGMA statements and &str statements are not
cached, but sqlx::query() statements are cached by default.
2021-04-15 18:26:06 -07:00
Ryan Leckey
98cd619157
style: rustfmt
2021-04-09 00:24:14 -07:00
Alexander Krotov
78656eb469
fix(sqlite): reset the statement when fetch_many() stream is dropped
...
Unlike `Executor.fetch_optional()`, `Executor.fetch_many()` does not
have a single exit. The stream can be dropped at any time. To catch
this event, we create a `StatementResetter` structure inside the stream
loop and reset the statement when it is dropped.
A test case `it_resets_prepared_statement_after_fetch_many` is
similar to `it_resets_prepared_statement_after_fetch_one` which tests
`Executor.fetch_optional()`.
2021-04-09 00:23:17 -07:00
Ryan Leckey
fd828fed14
Merge remote-tracking branch 'demurgos/domain-type-description'
2021-04-08 23:59:25 -07:00
Diggory Blake
a3b73f8e08
Remove all listeners before returning a connection to the pool
2021-04-08 23:54:10 -07:00
Austin Bonander
5295ff10a5
fix: pool internals improvements
...
* fix `DecrementSizeGuard::drop()` only waking one `Waiter` regardless of whether that waiter was already woken
* fix connect-backoff loop giving up the size guard
* don't cut in line to open a new connection
* have tasks waiting on `acquire()` wake periodically to check if there's a connection in the queue
Signed-off-by: Austin Bonander <austin@launchbadge.com>
2021-04-06 09:04:20 -07:00
crajcan
469c4ac130
Correct Postgres' Length Limit for Bind Parameters ( #1141 )
...
* Bump limit for postgres' bind parameters
* Fix lingering fmt error
2021-03-29 19:39:27 -07:00
Ryan Leckey
b6e1275617
fix: derive(Type) should emit a forwarded impl for the compatible function
2021-03-18 16:12:00 -07:00
Charles Samborski
93b90be9f7
fix(postgres): Add support for domain types description
...
Fix commit updates the `postgres::connection::describe` module to add full support for domain types. Domain types were previously confused with their category which caused invalid oid resolution.
Fixes launchbadge/sqlx#110
2021-03-16 20:23:03 +01:00
Austin Bonander
0ed524d65c
fix(pool): always ping connection on release to see if it's still viable
...
Signed-off-by: Austin Bonander <austin@launchbadge.com>
2021-02-27 00:56:08 -08:00
Jonas Platte
2b2418c6d1
Add a test for nesting .map
2021-01-31 16:57:29 -08:00
Jonas Platte
7ebd362453
Update issue_104 test to use map instead of try_map
2021-01-31 16:57:29 -08:00
Austin Bonander
89305873b0
fix(postgres): patch nullable inference in Postgres using EXPLAIN
...
BREAKING CHANGE: some columns in `query!()` et. al. output will change from `T` to `Option<T>`
breakage should be minimal in practice as
these columns will need to have been manually
overridden anyway to avoid runtime errors
Signed-off-by: Austin Bonander <austin@launchbadge.com>
2021-01-20 22:27:44 -08:00
Austin Bonander
6b036055e5
format: run rustfmt
2021-01-20 22:26:48 -08:00
Austin Bonander
7c32928ebc
feat(macros): implement query_scalar!() and variants
...
Signed-off-by: Austin Bonander <austin@launchbadge.com>
2021-01-20 22:23:04 -08:00
Ryan Leckey
b0c430ed18
feat(sqlite): track nullable through left joins
2021-01-20 22:22:26 -08:00
Marcin Kaźmierczak
8328f893e4
sqlite test - prepared statements are reset after fetch_one
2021-01-20 22:10:59 -08:00
Florian Hübsch
68cf2f9cdb
Add constraint method to DatabaseError trait
...
Override `constraint` method for `PgDatabaseError`.
2021-01-20 22:00:44 -08:00
Jonas Platte
c5d43db312
Upgrade async runtime dependencies
...
Co-authored-by: Josh Toft <joshtoft@gmail.com>
Co-authored-by: Philip A Reimer <antreimer@gmail.com>
2021-01-20 21:50:45 -08:00
Jonas Platte
a1d562f04b
Remove the Done trait
2021-01-12 14:37:44 +01:00
Jonas Platte
fd0101afb2
Update some postgres trybuild tests
2021-01-12 03:39:10 -08:00
Jonas Platte
b3f78b8255
Add a trybuild test for sqlx(rename) deprecation warning
2021-01-12 03:39:10 -08:00
Jonas Platte
fd8b2b7f8a
Rename sqlx(rename) attribute to sqlx(type_name)
2021-01-12 03:39:10 -08:00
Ryan Leckey
e9e1dcf78e
style: rustfmt
2020-12-19 00:08:29 -08:00
Federico Rampazzo
c416c94d43
Fix escaping test query
2020-12-19 07:14:09 +00:00
Federico Rampazzo
3a7fe4da94
Fix more typos
2020-12-19 07:14:09 +00:00
Federico Rampazzo
0bb5e92836
Fix typo
2020-12-19 07:14:09 +00:00
Federico Rampazzo
05e42a8cac
Cargo fmt
2020-12-19 07:14:09 +00:00
Federico Rampazzo
b9e57de005
Rename mixedCase to camelCase, CamelCase to PascalCase, aligning with serde
2020-12-19 07:14:09 +00:00
Federico Rampazzo
00a999145f
Add mixedCase and CamelCase to rename-all, added rename-all to FromRow
2020-12-19 07:14:09 +00:00
Ryan Leckey
4f261b7346
test: added an explicit cast for bstr test where sqlite failed to do an implicit cast
2020-12-18 21:56:50 -08:00
Ryan Leckey
58618f62a2
fix(tests): update x.py with new runtime-* features
2020-12-18 21:33:51 -08:00
James Tomlinson
a959451e85
Add Sqlite Uuid type tests.
2020-12-18 21:33:49 -08:00
Josh Triplett
603c1950fe
Add tests for git2
2020-11-21 14:32:29 -08:00
Josh Triplett
d396e5a948
Add tests for bstr
2020-11-21 14:32:29 -08:00
Jonas Platte
a161bcba05
Rename cargo features in preparation for rustls support
2020-11-12 07:32:21 -08:00
David Yamnitsky
12b4250454
support sqlite bind parameters of the form $NNN
2020-11-06 15:08:08 -08:00
Julius de Bruijn
a0007b4e98
Fixing BigDecimal conversion for PostgreSQL
...
Now working properly with numbers, such as `0.01` and `0.012`.
2020-11-04 17:09:01 -08:00
Julius de Bruijn
333ee69f63
A test to reveal a bug with BigDecimal and PostgreSQL
2020-11-04 17:09:01 -08:00
dvermd
964837e255
Add #[derive(FromRow)] for tuple struct
2020-10-26 01:33:59 -07:00
Peter Maatman
5b7f3ab0e3
sqlite: Add test for JSON functions
2020-10-20 20:08:20 -07:00
Peter Maatman
fae72200e5
sqlite: Add basic json implementation
...
Fixes #608
2020-10-20 20:08:20 -07:00
Siddhant
65de83aff8
Fixed test cases
2020-10-20 15:13:18 -07:00
Siddhant
14191da283
Edited test cases to create and drop type
2020-10-20 15:13:18 -07:00
Siddhant
497f92f602
Added test cases for kebab-case enums
2020-10-20 15:13:18 -07:00
Austin Bonander
fa7981f68a
fix(pool): ignore spurious wakeups when waiting for a connection
...
fixes #622
2020-10-13 10:37:10 -07:00