Skip to content

Commit

Permalink
Merge launchbadge/sqlx master into JetASAP/sqlx master (#12)
Browse files Browse the repository at this point in the history
* 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
Show file tree
Hide file tree
Showing 113 changed files with 3,534 additions and 894 deletions.
72 changes: 40 additions & 32 deletions .github/workflows/sqlx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
runtime: [async-std, tokio, actix]
tls: [native-tls, rustls]
steps:
- uses: actions/checkout@v2

Expand All @@ -48,29 +49,30 @@ jobs:
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-check-${{ matrix.runtime }}-${{ hashFiles('**/Cargo.lock') }}
key: ${{ runner.os }}-check-${{ matrix.runtime }}-${{ matrix.tls }}-${{ hashFiles('**/Cargo.lock') }}

- uses: actions-rs/cargo@v1
with:
command: check
args: >
--manifest-path sqlx-core/Cargo.toml
--no-default-features
--features offline,all-databases,all-types,migrate,runtime-${{ matrix.runtime }}
--features offline,all-databases,all-types,migrate,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
- uses: actions-rs/cargo@v1
with:
command: check
args: >
--no-default-features
--features offline,all-databases,all-types,migrate,runtime-${{ matrix.runtime }},macros
--features offline,all-databases,all-types,migrate,runtime-${{ matrix.runtime }}-${{ matrix.tls }},macros
test:
name: Unit Test
runs-on: ubuntu-20.04
strategy:
matrix:
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
runtime: [async-std, tokio, actix]
tls: [native-tls, rustls]
steps:
- uses: actions/checkout@v2

Expand All @@ -93,7 +95,7 @@ jobs:
command: test
args: >
--manifest-path sqlx-core/Cargo.toml
--features offline,all-databases,all-types,runtime-${{ matrix.runtime }}
--features offline,all-databases,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
cli:
name: CLI Binaries
Expand Down Expand Up @@ -148,7 +150,8 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
runtime: [async-std, tokio, actix]
tls: [native-tls, rustls]
needs: check
steps:
- uses: actions/checkout@v2
Expand All @@ -165,14 +168,14 @@ jobs:
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-sqlite-${{ matrix.runtime }}-${{ hashFiles('**/Cargo.lock') }}
key: ${{ runner.os }}-sqlite-${{ matrix.runtime }}-${{ matrix.tls }}-${{ hashFiles('**/Cargo.lock') }}

- uses: actions-rs/cargo@v1
with:
command: test
args: >
--no-default-features
--features any,macros,migrate,sqlite,all-types,runtime-${{ matrix.runtime }}
--features any,macros,migrate,sqlite,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
--
--test-threads=1
env:
Expand All @@ -183,8 +186,9 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
postgres: [12, 10, 9_6, 9_5]
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
postgres: [13, 9_6]
runtime: [async-std, tokio, actix]
tls: [native-tls, rustls]
needs: check
steps:
- uses: actions/checkout@v2
Expand All @@ -201,23 +205,24 @@ jobs:
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-postgres-${{ matrix.runtime }}-${{ hashFiles('**/Cargo.lock') }}
key: ${{ runner.os }}-postgres-${{ matrix.runtime }}-${{ matrix.tls }}-${{ hashFiles('**/Cargo.lock') }}

- uses: actions-rs/cargo@v1
with:
command: build
args: >
--features postgres,all-types,runtime-${{ matrix.runtime }}
--features postgres,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
- run: docker-compose -f tests/docker-compose.yml run -d -p 5432:5432 postgres_${{ matrix.postgres }}
- run: sleep 10
- run: |
docker-compose -f tests/docker-compose.yml run -d -p 5432:5432 --name postgres_${{ matrix.postgres }} postgres_${{ matrix.postgres }}
docker exec postgres_${{ matrix.postgres }} bash -c "until pg_isready; do sleep 1; done"
- uses: actions-rs/cargo@v1
with:
command: test
args: >
--no-default-features
--features any,postgres,macros,all-types,runtime-${{ matrix.runtime }}
--features any,postgres,macros,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
env:
DATABASE_URL: postgres://postgres:password@localhost:5432/sqlx

Expand All @@ -226,7 +231,7 @@ jobs:
command: test
args: >
--no-default-features
--features any,postgres,macros,migrate,all-types,runtime-${{ matrix.runtime }}
--features any,postgres,macros,migrate,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
env:
DATABASE_URL: postgres://postgres:password@localhost:5432/sqlx?sslmode=verify-ca&sslrootcert=.%2Ftests%2Fcerts%2Fca.crt

Expand All @@ -235,8 +240,9 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
mysql: [8, 5_7, 5_6]
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
mysql: [8, 5_6]
runtime: [async-std, tokio, actix]
tls: [native-tls, rustls]
needs: check
steps:
- uses: actions/checkout@v2
Expand All @@ -253,13 +259,13 @@ jobs:
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-mysql-${{ matrix.runtime }}-${{ hashFiles('**/Cargo.lock') }}
key: ${{ runner.os }}-mysql-${{ matrix.runtime }}-${{ matrix.tls }}-${{ hashFiles('**/Cargo.lock') }}

- uses: actions-rs/cargo@v1
with:
command: build
args: >
--features mysql,all-types,runtime-${{ matrix.runtime }}
--features mysql,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
- run: docker-compose -f tests/docker-compose.yml run -d -p 3306:3306 mysql_${{ matrix.mysql }}
- run: sleep 60
Expand All @@ -269,7 +275,7 @@ jobs:
command: test
args: >
--no-default-features
--features any,mysql,macros,migrate,all-types,runtime-${{ matrix.runtime }}
--features any,mysql,macros,migrate,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
env:
DATABASE_URL: mysql://root:password@localhost:3306/sqlx

Expand All @@ -278,8 +284,9 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
mariadb: [10_5, 10_4, 10_3, 10_2, 10_1]
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
mariadb: [10_6, 10_2]
runtime: [async-std, tokio, actix]
tls: [native-tls, rustls]
needs: check
steps:
- uses: actions/checkout@v2
Expand All @@ -297,13 +304,13 @@ jobs:
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-mysql-${{ matrix.runtime }}-${{ hashFiles('**/Cargo.lock') }}
key: ${{ runner.os }}-mysql-${{ matrix.runtime }}-${{ matrix.tls }}-${{ hashFiles('**/Cargo.lock') }}

- uses: actions-rs/cargo@v1
with:
command: build
args: >
--features mysql,all-types,runtime-${{ matrix.runtime }}
--features mysql,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
- run: docker-compose -f tests/docker-compose.yml run -d -p 3306:3306 mariadb_${{ matrix.mariadb }}
- run: sleep 30
Expand All @@ -313,7 +320,7 @@ jobs:
command: test
args: >
--no-default-features
--features any,mysql,macros,migrate,all-types,runtime-${{ matrix.runtime }}
--features any,mysql,macros,migrate,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
env:
DATABASE_URL: mysql://root:password@localhost:3306/sqlx

Expand All @@ -322,8 +329,9 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
mssql: [2019]
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
mssql: [2019, 2017]
runtime: [async-std, tokio, actix]
tls: [native-tls, rustls]
needs: check
steps:
- uses: actions/checkout@v2
Expand All @@ -340,13 +348,13 @@ jobs:
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-mssql-${{ matrix.runtime }}-${{ hashFiles('**/Cargo.lock') }}
key: ${{ runner.os }}-mssql-${{ matrix.runtime }}-${{ matrix.tls }}-${{ hashFiles('**/Cargo.lock') }}

- uses: actions-rs/cargo@v1
with:
command: build
args: >
--features mssql,all-types,runtime-${{ matrix.runtime }}
--features mssql,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
- run: docker-compose -f tests/docker-compose.yml run -d -p 1433:1433 mssql_${{ matrix.mssql }}
- run: sleep 80 # MSSQL takes a "bit" to startup
Expand All @@ -356,6 +364,6 @@ jobs:
command: test
args: >
--no-default-features
--features any,mssql,macros,migrate,all-types,runtime-${{ matrix.runtime }}
--features any,mssql,macros,migrate,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
env:
DATABASE_URL: mssql://sa:Password123!@localhost/sqlx
70 changes: 70 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,67 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 0.5.9 - 2021-10-01

A hotfix release to address the issue of the `sqlx` crate itself still depending on older versions of `sqlx-core` and
`sqlx-macros`.

No other changes from `0.5.8`.

## 0.5.8 - 2021-10-01 (Yanked; use 0.5.9)

[A total of 24 pull requests][0.5.8-prs] were merged this release cycle! Some highlights:

* [[#1289]] Support the `immutable` option on SQLite connections [[@djmarcin]]
* [[#1295]] Support custom initial options for SQLite [[@ghassmo]]
* Allows specifying custom `PRAGMA`s and overriding those set by SQLx.
* [[#1345]] Initial support for Postgres `COPY FROM/TO`[[@montanalow], [@abonander]]
* [[#1439]] Handle multiple waiting results correctly in MySQL [[@eagletmt]]

[#1289]: https://github.com/launchbadge/sqlx/pull/1289
[#1295]: https://github.com/launchbadge/sqlx/pull/1295
[#1345]: https://github.com/launchbadge/sqlx/pull/1345
[#1439]: https://github.com/launchbadge/sqlx/pull/1439
[0.5.8-prs]: https://github.com/launchbadge/sqlx/pulls?q=is%3Apr+is%3Amerged+merged%3A2021-08-21..2021-10-01

## 0.5.7 - 2021-08-20

* [[#1392]] use `resolve_path` when getting path for `include_str!()` [[@abonander]]
* Fixes a regression introduced by [[#1332]].
* [[#1393]] avoid recursively spawning tasks in `PgListener::drop()` [[@abonander]]
* Fixes a panic that occurs when `PgListener` is dropped in `async fn main()`.

[#1392]: https://github.com/launchbadge/sqlx/pull/1392
[#1393]: https://github.com/launchbadge/sqlx/pull/1393

## 0.5.6 - 2021-08-16

A large bugfix release, including but not limited to:

* [[#1329]] Implement `MACADDR` type for Postgres [[@nomick]]
* [[#1363]] Fix `PortalSuspended` for array of composite types in Postgres [[@AtkinsChang]]
* [[#1320]] Reimplement `sqlx::Pool` internals using `futures-intrusive` [[@abonander]]
* This addresses a number of deadlocks/stalls on acquiring connections from the pool.
* [[#1332]] Macros: tell the compiler about external files/env vars to watch [[@abonander]]
* Includes `sqlx build-script` to create a `build.rs` to watch `migrations/` for changes.
* Nightly users can try `RUSTFLAGS=--cfg sqlx_macros_unstable` to tell the compiler
to watch `migrations/` for changes instead of using a build script.
* See the new section in the docs for `sqlx::migrate!()` for details.
* [[#1351]] Fix a few sources of segfaults/errors in SQLite driver [[@abonander]]
* Includes contributions from [[@link2ext]] and [[@madadam]].
* [[#1323]] Keep track of column typing in SQLite EXPLAIN parsing [[@marshoepial]]
* This fixes errors in the macros when using `INSERT/UPDATE/DELETE ... RETURNING ...` in SQLite.

[A total of 25 pull requests][0.5.6-prs] were merged this release cycle!

[#1329]: https://github.com/launchbadge/sqlx/pull/1329
[#1363]: https://github.com/launchbadge/sqlx/pull/1363
[#1320]: https://github.com/launchbadge/sqlx/pull/1320
[#1332]: https://github.com/launchbadge/sqlx/pull/1332
[#1351]: https://github.com/launchbadge/sqlx/pull/1351
[#1323]: https://github.com/launchbadge/sqlx/pull/1323
[0.5.6-prs]: https://github.com/launchbadge/sqlx/pulls?q=is%3Apr+is%3Amerged+merged%3A2021-05-24..2021-08-17

## 0.5.5 - 2021-05-24

- [[#1242]] Fix infinite loop at compile time when using query macros [[@toshokan]]
Expand Down Expand Up @@ -925,3 +986,12 @@ Fix docs.rs build by enabling a runtime feature in the docs.rs metadata in `Carg
[@feikesteenbergen]: https://github.com/feikesteenbergen
[@etcaton]: https://github.com/ETCaton
[@toshokan]: https://github.com/toshokan
[@nomick]: https://github.com/nomick
[@marshoepial]: https://github.com/marshoepial
[@link2ext]: https://github.com/link2ext
[@madadam]: https://github.com/madadam
[@AtkinsChang]: https://github.com/AtkinsChang
[@djmarcin]: https://github.com/djmarcin
[@ghassmo]: https://github.com/ghassmo
[@eagletmt]: https://github.com/eagletmt
[@montanalow]: https://github.com/montanalow
Loading

0 comments on commit 6cdb35d

Please sign in to comment.