Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge launchbadge/sqlx master into JetASAP/sqlx master (#12)
* Fix error message about wildcard overrides (launchbadge#1276) Co-authored-by: Austin Bonander <austin@launchbadge.com> * feat(docs): add an FAQ (launchbadge#1319) * doc(faq): mention how to invert `= ANY($1)` * doc(faq): empty array cases for `ANY` and `ALL` * doc(faq): fix wording for empty cases * Update crc 1.8.1 -> 2.0.0 (launchbadge#1256) * Support MACADDR in Postgres (launchbadge#1329) * fix(mysql): implement type traits for `chrono::DateTime<Local>` (launchbadge#1335) closes launchbadge#1222 * Keep track of column typing in SQLite EXPLAIN parsing (launchbadge#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> * fix(pool): reimplement pool internals with `futures-intrusive` (launchbadge#1320) * fix(pg_money): handle negative values correctly in `PgMoney::from_decimal()` (launchbadge#1334) closes launchbadge#1321 * fix(macros): tell the compiler about external files/env vars to watch (launchbadge#1332) * fix(macros): tell the compiler about external files/env vars to watch closes launchbadge#663 closes launchbadge#681 * feat(cli): add `migrate` subcommand for generating a build script suggest embedding migrations on `sqlx migrate add` in a new project * fix(macros): prefix generated variable names in `query_as!()` (launchbadge#1336) closes launchbadge#1322 * Use tokio `spawn_blocking` instead of `block_in_place` (launchbadge#1333) This fixes a panic when sharing an SQLite connection pool between tokio runtime and actix runtime * Mark the original DatabaseError as source. (launchbadge#1197) * Use postgres as maintenance db unless maintaining postgres itself (launchbadge#1339) Fixes launchbadge#1283. * Fix GitHub Actions and integration test (launchbadge#1346) * fix test suite * rustfmt * need Row * test: fix integration test scripts and update the upstream supported databases Signed-off-by: Atkins Chang <atkinschang@gmail.com> * ci(actions): update supported databases Signed-off-by: Atkins Chang <atkinschang@gmail.com> * ci(actions): use `pg_isready` instead of `sleep` to avoid error cause by database not ready Signed-off-by: Atkins Chang <atkinschang@gmail.com> * feat(core): add `trait PgConnectionInfo` for connection parameter status from server Signed-off-by: Atkins Chang <atkinschang@gmail.com> * test(postgres): fix integration test for postgres Signed-off-by: Atkins Chang <atkinschang@gmail.com> * test(mysql): fix integration tests Signed-off-by: Atkins Chang <atkinschang@gmail.com> * ci(actions): test database against the oldest and newest supported versions Signed-off-by: Atkins Chang <atkinschang@gmail.com> * docs(core): document `trait PgConnectionInfo` Signed-off-by: Atkins Chang <atkinschang@gmail.com> Co-authored-by: Montana Low <montanalow@gmail.com> * build(deps): bump git2 from 0.13.19 to 0.13.20 (launchbadge#1362) Signed-off-by: Atkins Chang <atkinschang@gmail.com> * sqlite: fix a couple segfaults (launchbadge#1351) * sqlite: use Arc instead of Copy-able StatementHandle This guarantees that StatementHandle is never used after calling `sqlite3_finalize`. Now `sqlite3_finalize` is only called when StatementHandle is dropped. (cherry picked from commit 5eebc05) * sqlite: use Weak poiter to StatementHandle in the worker Otherwise some tests fail to close connection. (cherry picked from commit 5461eee) * Fix segfault due to race condition in sqlite (launchbadge#1300) (cherry picked from commit bb62cf7) * fix(sqlite): run `sqlite3_reset()` in `StatementWorker` this avoids possible race conditions without using a mutex * fix(sqlite): have `StatementWorker` keep a strong ref to `ConnectionHandle` this should prevent the database handle from being finalized before all statement handles have been finalized * fix(sqlite/test): make `concurrent_resets_dont_segfault` runtime-agnostic Co-authored-by: link2xt <link2xt@testrun.org> Co-authored-by: Adam Cigánek <adam.ciganek@gmail.com> * Add docs for fetch_all, example for postgres transactions (launchbadge#1255) * reference fetch_all() in query macros * add example for using transactions in postgres * fix: Ignore __CARGO_FIX_PLZ when running "cargo metadata" in macro (launchbadge#1352) * Fix bug for PostgreSQL if the statement has type holes (launchbadge#1363) * fix: wait until ready after executing other helper queries while pg quering is executing Signed-off-by: Atkins Chang <atkinschang@gmail.com> * fix: use tls parameter for testing target Signed-off-by: Atkins Chang <atkinschang@gmail.com> * fix(cli): pin `clap_derive` version (launchbadge#1381) When `clap_derive 3.0.0-beta.4` released, new invocations of `cargo install sqlx-cli` would try to compile that against `clap 3.0.0-beta.2` which caused some breakages. Until `clap 3.0.0` proper is released, we need to pin both versions to insure against potential breakages from automatic upgrades. closes launchbadge#1378 * cockroachdb fix for macro (launchbadge#1386) * preparing 0.5.6 release (launchbadge#1382) * fix(pool): reenable connection reaper * fix warnings * chore: bump published crates to 0.5.6 * chore: update CHANGELOG.md for 0.5.6 * chore: bump versions of sqlx-* in dependencies * fix(macros): use `resolve_path` when getting path for `include_str!()` (launchbadge#1392) fixes launchbadge#1387 * fix(postgres): avoid recursively spawning tasks in `PgListener::drop()` (launchbadge#1393) refactor(pool): deprecate `PoolConnection::release()`, provide renamed alts * chore: prepare 0.5.7 (hotfix) release (launchbadge#1394) * fix(cli) move database_url launchbadge#1391 (launchbadge#1400) * Use promptly instead of dialoguer (launchbadge#1410) See launchbadge#1409 Co-authored-by: David James <davidcjames@gmail.com> * Getting current Handle in Drop (launchbadge#1395) Signed-off-by: Freyskeyd <simon.paitrault@gmail.com> * Add more debugging info to unresolved type declaration panic (launchbadge#1416) * Don't require cargo to build offline queries (launchbadge#1415) In particular building with bazel and cargo-raze doesn't imply having cargo at all, and deferring the lookup allows same-crate builds to succeed with no change to semantics. Fixes launchbadge#1414 Signed-off-by: Robert Collins <robert.collins@cognite.com> * Add executor trait "aliases" (launchbadge#1412) * feat: allow log level customization (launchbadge#1371) * don't assert #[repr(...)] on `#[derive(sqlx::Type)]` unless needed (launchbadge#1305) * Reduce futures-util features (launchbadge#1427) * Reduce futures-util features * Remove unused futures crate from sqlx-macros * Fix issue launchbadge#1431 (launchbadge#1432) Why: dotenv() must execute before clap's get_matches() Co-authored-by: David James <davidcjames@gmail.com> * Fix CIDR[] not being compatible with Vec<IpNetwork> (launchbadge#1433) * Support the immutable option on SQLite connections (launchbadge#1289) Co-authored-by: Austin Bonander <austin@launchbadge.com> * Finish support for Postgres COPY (launchbadge#1345) * feat(postgres): WIP implement `COPY FROM/TO STDIN` Signed-off-by: Austin Bonander <austin@launchbadge.com> * feat(postgres): WIP implement `COPY FROM/TO STDIN` Signed-off-by: Austin Bonander <austin@launchbadge.com> * test and complete support for postgres copy Co-authored-by: Austin Bonander <austin@launchbadge.com> * fix: run `cargo fmt` * Support custom initial options for sqlite (launchbadge#1295) * Support custom initial options for sqlite Apply suggestions from code review Co-authored-by: Austin Bonander <austin.bonander@gmail.com> Apply suggestions from code review Co-authored-by: Austin Bonander <austin.bonander@gmail.com> Use order-preserving map to set pragmas for an initial sqlite statement Use Cow<'static, str> instead of String Co-authored-by: Austin Bonander <austin@launchbadge.com> * docs: added a note about MySQL syntax in the README example (launchbadge#1445) * fix(mysql): handle multiple waiting results correctly (launchbadge#1439) * test(mysql): add test case for pending rows and dropped transaction * fix(mysql): handle multiple waiting results correctly * Fix a panic in the worker thread when dropping the connection while `SqliteRow`s still exist (launchbadge#1450) * chore(sqlite): add repro for launchbadge#1419 * fix(sqlite): hold a reference to the connection in `SqliteRow` fixes launchbadge#1419 * Upgrade hmac to 0.11 (launchbadge#1443) * Update postgres 14 test to 14rc1 (launchbadge#1454) * Shut down statement worker in Sqlite Connection::close (launchbadge#1453) * add explicit shutdown of sqlite statement worker in Connection::close() Signed-off-by: Andrew Whitehead <cywolf@gmail.com> * test sqlite database close method Signed-off-by: Andrew Whitehead <cywolf@gmail.com> * await worker shutdown after dropping SqliteConnection Signed-off-by: Andrew Whitehead <cywolf@gmail.com> * restore explicit drop Signed-off-by: Andrew Whitehead <cywolf@gmail.com> * Revert "feat: allow log level customization (launchbadge#1371)" (launchbadge#1465) This reverts commit 719d800. * [SQLite] encoding & decoding `NaiveTime` with correct format (launchbadge#1459) * Fix SQLite encoding format * Update SQLite decoding format * Update sqlx-core/src/sqlite/types/chrono.rs * fixup: add `#[rustfmt::skip]` Co-authored-by: Austin Bonander <austin.bonander@gmail.com> Co-authored-by: Austin Bonander <austin@launchbadge.com> * Add reverting instructions to README (launchbadge#1468) Instructions on reverting migrations are missing from the README. Here are some that others may find helpful. * preparing 0.5.8 release (launchbadge#1466) * preparing 0.5.8 release * fix warnings before release * prepare 0.5.9 hotfix release (launchbadge#1469) * Update README.md (launchbadge#1479) * fix(test): fix mismatched type error in MySQL type tests (launchbadge#1517) * fix new warning about trailing semicolon in expression macros * fix(test): fix mismatched type error in MySQL type tests * Add support for serialized threading mode to sqlite (launchbadge#1514) * Add support for serialized threading mode * Typos * Fix build * Add persistent setter (launchbadge#1503) (launchbadge#1508) * Reduce indexmap version to 1.6.2 (launchbadge#1501) deno_core currently uses `=1.6.2` for indexmap, and Cargo refuses to resolve a version with sqlx's requirement of 1.7.0. https://github.com/denoland/deno/blob/004d07dccd69c9fae8370665632d90401f770938/core/Cargo.toml#L18 * fix(postgres): allow rust_decimal::Decimal in PgRange (launchbadge#1523) * fix(postgres): allow rust_decimal::Decimal in PgRange * test(postgres): add tests for BigDecimal and Decimal in ranges * Update FAQ to include building on docs.rs (launchbadge#1497) Thanks to @jplatte in the sqlx Discord for providing this solution. * docs: revise `Pool` docs in a couple places (launchbadge#1526) * derive Clone, Copy for AnyKind (launchbadge#1474) * fix panic when converting negative chrono::Duration into PgInterval (launchbadge#1475) * fix PgInterval convert failure for negative chrono::Duration * add unit tests for PgInterval * Fix: remove redundancy because nanosecond overflow implies microsecond overflow * Encode/Decode impl for Cow<'_, str> (launchbadge#1343) * Encode/Decode impl for Cow<'_, str> resolves launchbadge#1214 * --wip-- [skip ci] * Add Cow decode/encode to other databases and fix build * Include a reference to the shape of the migration files in the migrate macro documentation (launchbadge#1498) * fix(readme): link to `dotenv` crate closes launchbadge#1405 * fix(readme): show runtime features in quickstart closes launchbadge#1492 * fix(readme): mention `offline` feature closes launchbadge#1490 * fix(readme): mention examples * fix(sqlx-cli/readme): mention `openssl-vendored` * Copy API improvement (launchbadge#1536) (launchbadge#1537) * expose PgCopyIn * downgrade Pool<Posgres> copy_in_raw/out_row to take &self * bump libsqlite3-sys to 0.23.1 (launchbadge#1535) Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com> Co-authored-by: Austin Bonander <austin@launchbadge.com> Co-authored-by: Akhil Velagapudi <4@4khil.com> Co-authored-by: nomick <michael.rossberg@tu-ilmenau.de> Co-authored-by: marshoepial <54693067+marshoepial@users.noreply.github.com> Co-authored-by: marshoepial <marshoepial@gmail.com> Co-authored-by: guylapid <53928652+guylapid@users.noreply.github.com> Co-authored-by: Luca Palmieri <lucapalmieri1993@hotmail.com> Co-authored-by: Daniel Faust <hessijames@mailbox.org> Co-authored-by: Atkins <atkinschang@gmail.com> Co-authored-by: Montana Low <montanalow@gmail.com> Co-authored-by: link2xt <link2xt@testrun.org> Co-authored-by: Adam Cigánek <adam.ciganek@gmail.com> Co-authored-by: Rafael Epplée <raffomania@users.noreply.github.com> Co-authored-by: Fredrik Østrem <1686349+frxstrem@users.noreply.github.com> Co-authored-by: Altan Özlü <altanozlu7@gmail.com> Co-authored-by: Evan Cameron <cameron.evan@gmail.com> Co-authored-by: David James <4576329+xpe@users.noreply.github.com> Co-authored-by: David James <davidcjames@gmail.com> Co-authored-by: Simon Paitrault <freyskeyd@gmail.com> Co-authored-by: Robert Collins <robertc@robertcollins.net> Co-authored-by: Elise <elise@headpat.services> Co-authored-by: Emil Gardström <emil.gardstrom@gmail.com> Co-authored-by: Paolo Barbolini <paolo@paolo565.org> Co-authored-by: David Marcin <david@metawork.com> Co-authored-by: Montana Low <montanalow@users.noreply.github.com> Co-authored-by: Ghass Mo <45806536+ghassmo@users.noreply.github.com> Co-authored-by: Vlad Frolov <frolvlad@gmail.com> Co-authored-by: Kohei Suzuki <github@wanko.cc> Co-authored-by: Andrew Whitehead <cywolf@gmail.com> Co-authored-by: Billy Chan <30400950+billy1624@users.noreply.github.com> Co-authored-by: Austin Bonander <austin.bonander@gmail.com> Co-authored-by: Erik <eraker@gmail.com> Co-authored-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com> Co-authored-by: Lucille Blumire <llblumire@gmail.com> Co-authored-by: Akira Hayakawa <ruby.wktk@gmail.com> Co-authored-by: Daniel Imfeld <daniel@imfeld.dev> Co-authored-by: meh <meh@schizofreni.co> Co-authored-by: Russ Weas <russweas@gmail.com> Co-authored-by: yuyawk <46620009+yuyawk@users.noreply.github.com> Co-authored-by: Kirill Mironov <vetrokm@gmail.com> Co-authored-by: Zbigniew Żołnierowicz <zbigniew.zolnierowicz@gmail.com> Co-authored-by: Akira Hayakawa <akira.hayakawa@supership.jp> Co-authored-by: David Yamnitsky <david@yamnitsky.com>
- Loading branch information