Skip to content

Commit 6cdb35d

Browse files
vbeffajplatteabonanderakhillesnomick
authored
Merge launchbadge/sqlx master into JetASAP/sqlx master (#12)
* Fix error message about wildcard overrides (launchbadge#1276) Co-authored-by: Austin Bonander <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * ci(actions): update supported databases Signed-off-by: Atkins Chang <[email protected]> * ci(actions): use `pg_isready` instead of `sleep` to avoid error cause by database not ready Signed-off-by: Atkins Chang <[email protected]> * feat(core): add `trait PgConnectionInfo` for connection parameter status from server Signed-off-by: Atkins Chang <[email protected]> * test(postgres): fix integration test for postgres Signed-off-by: Atkins Chang <[email protected]> * test(mysql): fix integration tests Signed-off-by: Atkins Chang <[email protected]> * ci(actions): test database against the oldest and newest supported versions Signed-off-by: Atkins Chang <[email protected]> * docs(core): document `trait PgConnectionInfo` Signed-off-by: Atkins Chang <[email protected]> Co-authored-by: Montana Low <[email protected]> * build(deps): bump git2 from 0.13.19 to 0.13.20 (launchbadge#1362) Signed-off-by: Atkins Chang <[email protected]> * 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 <[email protected]> Co-authored-by: Adam Cigánek <[email protected]> * 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 <[email protected]> * fix: use tls parameter for testing target Signed-off-by: Atkins Chang <[email protected]> * 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 <[email protected]> * Getting current Handle in Drop (launchbadge#1395) Signed-off-by: Freyskeyd <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * Fix CIDR[] not being compatible with Vec<IpNetwork> (launchbadge#1433) * Support the immutable option on SQLite connections (launchbadge#1289) Co-authored-by: Austin Bonander <[email protected]> * Finish support for Postgres COPY (launchbadge#1345) * feat(postgres): WIP implement `COPY FROM/TO STDIN` Signed-off-by: Austin Bonander <[email protected]> * feat(postgres): WIP implement `COPY FROM/TO STDIN` Signed-off-by: Austin Bonander <[email protected]> * test and complete support for postgres copy Co-authored-by: Austin Bonander <[email protected]> * 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 <[email protected]> Apply suggestions from code review Co-authored-by: Austin Bonander <[email protected]> Use order-preserving map to set pragmas for an initial sqlite statement Use Cow<'static, str> instead of String Co-authored-by: Austin Bonander <[email protected]> * 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 <[email protected]> * test sqlite database close method Signed-off-by: Andrew Whitehead <[email protected]> * await worker shutdown after dropping SqliteConnection Signed-off-by: Andrew Whitehead <[email protected]> * restore explicit drop Signed-off-by: Andrew Whitehead <[email protected]> * 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 <[email protected]> Co-authored-by: Austin Bonander <[email protected]> * 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 <[email protected]> Co-authored-by: Austin Bonander <[email protected]> Co-authored-by: Akhil Velagapudi <[email protected]> Co-authored-by: nomick <[email protected]> Co-authored-by: marshoepial <[email protected]> Co-authored-by: marshoepial <[email protected]> Co-authored-by: guylapid <[email protected]> Co-authored-by: Luca Palmieri <[email protected]> Co-authored-by: Daniel Faust <[email protected]> Co-authored-by: Atkins <[email protected]> Co-authored-by: Montana Low <[email protected]> Co-authored-by: link2xt <[email protected]> Co-authored-by: Adam Cigánek <[email protected]> Co-authored-by: Rafael Epplée <[email protected]> Co-authored-by: Fredrik Østrem <[email protected]> Co-authored-by: Altan Özlü <[email protected]> Co-authored-by: Evan Cameron <[email protected]> Co-authored-by: David James <[email protected]> Co-authored-by: David James <[email protected]> Co-authored-by: Simon Paitrault <[email protected]> Co-authored-by: Robert Collins <[email protected]> Co-authored-by: Elise <[email protected]> Co-authored-by: Emil Gardström <[email protected]> Co-authored-by: Paolo Barbolini <[email protected]> Co-authored-by: David Marcin <[email protected]> Co-authored-by: Montana Low <[email protected]> Co-authored-by: Ghass Mo <[email protected]> Co-authored-by: Vlad Frolov <[email protected]> Co-authored-by: Kohei Suzuki <[email protected]> Co-authored-by: Andrew Whitehead <[email protected]> Co-authored-by: Billy Chan <[email protected]> Co-authored-by: Austin Bonander <[email protected]> Co-authored-by: Erik <[email protected]> Co-authored-by: Yerkebulan Tulibergenov <[email protected]> Co-authored-by: Lucille Blumire <[email protected]> Co-authored-by: Akira Hayakawa <[email protected]> Co-authored-by: Daniel Imfeld <[email protected]> Co-authored-by: meh <[email protected]> Co-authored-by: Russ Weas <[email protected]> Co-authored-by: yuyawk <[email protected]> Co-authored-by: Kirill Mironov <[email protected]> Co-authored-by: Zbigniew Żołnierowicz <[email protected]> Co-authored-by: Akira Hayakawa <[email protected]> Co-authored-by: David Yamnitsky <[email protected]>
1 parent 74bb0c1 commit 6cdb35d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

113 files changed

+3534
-894
lines changed

.github/workflows/sqlx.yml

+40-32
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ jobs:
3232
runs-on: ubuntu-20.04
3333
strategy:
3434
matrix:
35-
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
35+
runtime: [async-std, tokio, actix]
36+
tls: [native-tls, rustls]
3637
steps:
3738
- uses: actions/checkout@v2
3839

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

5354
- uses: actions-rs/cargo@v1
5455
with:
5556
command: check
5657
args: >
5758
--manifest-path sqlx-core/Cargo.toml
5859
--no-default-features
59-
--features offline,all-databases,all-types,migrate,runtime-${{ matrix.runtime }}
60+
--features offline,all-databases,all-types,migrate,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
6061
6162
- uses: actions-rs/cargo@v1
6263
with:
6364
command: check
6465
args: >
6566
--no-default-features
66-
--features offline,all-databases,all-types,migrate,runtime-${{ matrix.runtime }},macros
67+
--features offline,all-databases,all-types,migrate,runtime-${{ matrix.runtime }}-${{ matrix.tls }},macros
6768
6869
test:
6970
name: Unit Test
7071
runs-on: ubuntu-20.04
7172
strategy:
7273
matrix:
73-
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
74+
runtime: [async-std, tokio, actix]
75+
tls: [native-tls, rustls]
7476
steps:
7577
- uses: actions/checkout@v2
7678

@@ -93,7 +95,7 @@ jobs:
9395
command: test
9496
args: >
9597
--manifest-path sqlx-core/Cargo.toml
96-
--features offline,all-databases,all-types,runtime-${{ matrix.runtime }}
98+
--features offline,all-databases,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
9799
98100
cli:
99101
name: CLI Binaries
@@ -148,7 +150,8 @@ jobs:
148150
runs-on: ubuntu-20.04
149151
strategy:
150152
matrix:
151-
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
153+
runtime: [async-std, tokio, actix]
154+
tls: [native-tls, rustls]
152155
needs: check
153156
steps:
154157
- uses: actions/checkout@v2
@@ -165,14 +168,14 @@ jobs:
165168
~/.cargo/registry
166169
~/.cargo/git
167170
target
168-
key: ${{ runner.os }}-sqlite-${{ matrix.runtime }}-${{ hashFiles('**/Cargo.lock') }}
171+
key: ${{ runner.os }}-sqlite-${{ matrix.runtime }}-${{ matrix.tls }}-${{ hashFiles('**/Cargo.lock') }}
169172

170173
- uses: actions-rs/cargo@v1
171174
with:
172175
command: test
173176
args: >
174177
--no-default-features
175-
--features any,macros,migrate,sqlite,all-types,runtime-${{ matrix.runtime }}
178+
--features any,macros,migrate,sqlite,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
176179
--
177180
--test-threads=1
178181
env:
@@ -183,8 +186,9 @@ jobs:
183186
runs-on: ubuntu-20.04
184187
strategy:
185188
matrix:
186-
postgres: [12, 10, 9_6, 9_5]
187-
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
189+
postgres: [13, 9_6]
190+
runtime: [async-std, tokio, actix]
191+
tls: [native-tls, rustls]
188192
needs: check
189193
steps:
190194
- uses: actions/checkout@v2
@@ -201,23 +205,24 @@ jobs:
201205
~/.cargo/registry
202206
~/.cargo/git
203207
target
204-
key: ${{ runner.os }}-postgres-${{ matrix.runtime }}-${{ hashFiles('**/Cargo.lock') }}
208+
key: ${{ runner.os }}-postgres-${{ matrix.runtime }}-${{ matrix.tls }}-${{ hashFiles('**/Cargo.lock') }}
205209

206210
- uses: actions-rs/cargo@v1
207211
with:
208212
command: build
209213
args: >
210-
--features postgres,all-types,runtime-${{ matrix.runtime }}
214+
--features postgres,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
211215
212-
- run: docker-compose -f tests/docker-compose.yml run -d -p 5432:5432 postgres_${{ matrix.postgres }}
213-
- run: sleep 10
216+
- run: |
217+
docker-compose -f tests/docker-compose.yml run -d -p 5432:5432 --name postgres_${{ matrix.postgres }} postgres_${{ matrix.postgres }}
218+
docker exec postgres_${{ matrix.postgres }} bash -c "until pg_isready; do sleep 1; done"
214219
215220
- uses: actions-rs/cargo@v1
216221
with:
217222
command: test
218223
args: >
219224
--no-default-features
220-
--features any,postgres,macros,all-types,runtime-${{ matrix.runtime }}
225+
--features any,postgres,macros,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
221226
env:
222227
DATABASE_URL: postgres://postgres:password@localhost:5432/sqlx
223228

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

@@ -235,8 +240,9 @@ jobs:
235240
runs-on: ubuntu-20.04
236241
strategy:
237242
matrix:
238-
mysql: [8, 5_7, 5_6]
239-
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
243+
mysql: [8, 5_6]
244+
runtime: [async-std, tokio, actix]
245+
tls: [native-tls, rustls]
240246
needs: check
241247
steps:
242248
- uses: actions/checkout@v2
@@ -253,13 +259,13 @@ jobs:
253259
~/.cargo/registry
254260
~/.cargo/git
255261
target
256-
key: ${{ runner.os }}-mysql-${{ matrix.runtime }}-${{ hashFiles('**/Cargo.lock') }}
262+
key: ${{ runner.os }}-mysql-${{ matrix.runtime }}-${{ matrix.tls }}-${{ hashFiles('**/Cargo.lock') }}
257263

258264
- uses: actions-rs/cargo@v1
259265
with:
260266
command: build
261267
args: >
262-
--features mysql,all-types,runtime-${{ matrix.runtime }}
268+
--features mysql,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
263269
264270
- run: docker-compose -f tests/docker-compose.yml run -d -p 3306:3306 mysql_${{ matrix.mysql }}
265271
- run: sleep 60
@@ -269,7 +275,7 @@ jobs:
269275
command: test
270276
args: >
271277
--no-default-features
272-
--features any,mysql,macros,migrate,all-types,runtime-${{ matrix.runtime }}
278+
--features any,mysql,macros,migrate,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
273279
env:
274280
DATABASE_URL: mysql://root:password@localhost:3306/sqlx
275281

@@ -278,8 +284,9 @@ jobs:
278284
runs-on: ubuntu-20.04
279285
strategy:
280286
matrix:
281-
mariadb: [10_5, 10_4, 10_3, 10_2, 10_1]
282-
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
287+
mariadb: [10_6, 10_2]
288+
runtime: [async-std, tokio, actix]
289+
tls: [native-tls, rustls]
283290
needs: check
284291
steps:
285292
- uses: actions/checkout@v2
@@ -297,13 +304,13 @@ jobs:
297304
~/.cargo/registry
298305
~/.cargo/git
299306
target
300-
key: ${{ runner.os }}-mysql-${{ matrix.runtime }}-${{ hashFiles('**/Cargo.lock') }}
307+
key: ${{ runner.os }}-mysql-${{ matrix.runtime }}-${{ matrix.tls }}-${{ hashFiles('**/Cargo.lock') }}
301308

302309
- uses: actions-rs/cargo@v1
303310
with:
304311
command: build
305312
args: >
306-
--features mysql,all-types,runtime-${{ matrix.runtime }}
313+
--features mysql,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
307314
308315
- run: docker-compose -f tests/docker-compose.yml run -d -p 3306:3306 mariadb_${{ matrix.mariadb }}
309316
- run: sleep 30
@@ -313,7 +320,7 @@ jobs:
313320
command: test
314321
args: >
315322
--no-default-features
316-
--features any,mysql,macros,migrate,all-types,runtime-${{ matrix.runtime }}
323+
--features any,mysql,macros,migrate,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
317324
env:
318325
DATABASE_URL: mysql://root:password@localhost:3306/sqlx
319326

@@ -322,8 +329,9 @@ jobs:
322329
runs-on: ubuntu-20.04
323330
strategy:
324331
matrix:
325-
mssql: [2019]
326-
runtime: [async-std-native-tls, tokio-native-tls, actix-native-tls, async-std-rustls, tokio-rustls, actix-rustls]
332+
mssql: [2019, 2017]
333+
runtime: [async-std, tokio, actix]
334+
tls: [native-tls, rustls]
327335
needs: check
328336
steps:
329337
- uses: actions/checkout@v2
@@ -340,13 +348,13 @@ jobs:
340348
~/.cargo/registry
341349
~/.cargo/git
342350
target
343-
key: ${{ runner.os }}-mssql-${{ matrix.runtime }}-${{ hashFiles('**/Cargo.lock') }}
351+
key: ${{ runner.os }}-mssql-${{ matrix.runtime }}-${{ matrix.tls }}-${{ hashFiles('**/Cargo.lock') }}
344352

345353
- uses: actions-rs/cargo@v1
346354
with:
347355
command: build
348356
args: >
349-
--features mssql,all-types,runtime-${{ matrix.runtime }}
357+
--features mssql,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
350358
351359
- run: docker-compose -f tests/docker-compose.yml run -d -p 1433:1433 mssql_${{ matrix.mssql }}
352360
- run: sleep 80 # MSSQL takes a "bit" to startup
@@ -356,6 +364,6 @@ jobs:
356364
command: test
357365
args: >
358366
--no-default-features
359-
--features any,mssql,macros,migrate,all-types,runtime-${{ matrix.runtime }}
367+
--features any,mssql,macros,migrate,all-types,runtime-${{ matrix.runtime }}-${{ matrix.tls }}
360368
env:
361369
DATABASE_URL: mssql://sa:Password123!@localhost/sqlx

CHANGELOG.md

+70
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,67 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## 0.5.9 - 2021-10-01
9+
10+
A hotfix release to address the issue of the `sqlx` crate itself still depending on older versions of `sqlx-core` and
11+
`sqlx-macros`.
12+
13+
No other changes from `0.5.8`.
14+
15+
## 0.5.8 - 2021-10-01 (Yanked; use 0.5.9)
16+
17+
[A total of 24 pull requests][0.5.8-prs] were merged this release cycle! Some highlights:
18+
19+
* [[#1289]] Support the `immutable` option on SQLite connections [[@djmarcin]]
20+
* [[#1295]] Support custom initial options for SQLite [[@ghassmo]]
21+
* Allows specifying custom `PRAGMA`s and overriding those set by SQLx.
22+
* [[#1345]] Initial support for Postgres `COPY FROM/TO`[[@montanalow], [@abonander]]
23+
* [[#1439]] Handle multiple waiting results correctly in MySQL [[@eagletmt]]
24+
25+
[#1289]: https://github.com/launchbadge/sqlx/pull/1289
26+
[#1295]: https://github.com/launchbadge/sqlx/pull/1295
27+
[#1345]: https://github.com/launchbadge/sqlx/pull/1345
28+
[#1439]: https://github.com/launchbadge/sqlx/pull/1439
29+
[0.5.8-prs]: https://github.com/launchbadge/sqlx/pulls?q=is%3Apr+is%3Amerged+merged%3A2021-08-21..2021-10-01
30+
31+
## 0.5.7 - 2021-08-20
32+
33+
* [[#1392]] use `resolve_path` when getting path for `include_str!()` [[@abonander]]
34+
* Fixes a regression introduced by [[#1332]].
35+
* [[#1393]] avoid recursively spawning tasks in `PgListener::drop()` [[@abonander]]
36+
* Fixes a panic that occurs when `PgListener` is dropped in `async fn main()`.
37+
38+
[#1392]: https://github.com/launchbadge/sqlx/pull/1392
39+
[#1393]: https://github.com/launchbadge/sqlx/pull/1393
40+
41+
## 0.5.6 - 2021-08-16
42+
43+
A large bugfix release, including but not limited to:
44+
45+
* [[#1329]] Implement `MACADDR` type for Postgres [[@nomick]]
46+
* [[#1363]] Fix `PortalSuspended` for array of composite types in Postgres [[@AtkinsChang]]
47+
* [[#1320]] Reimplement `sqlx::Pool` internals using `futures-intrusive` [[@abonander]]
48+
* This addresses a number of deadlocks/stalls on acquiring connections from the pool.
49+
* [[#1332]] Macros: tell the compiler about external files/env vars to watch [[@abonander]]
50+
* Includes `sqlx build-script` to create a `build.rs` to watch `migrations/` for changes.
51+
* Nightly users can try `RUSTFLAGS=--cfg sqlx_macros_unstable` to tell the compiler
52+
to watch `migrations/` for changes instead of using a build script.
53+
* See the new section in the docs for `sqlx::migrate!()` for details.
54+
* [[#1351]] Fix a few sources of segfaults/errors in SQLite driver [[@abonander]]
55+
* Includes contributions from [[@link2ext]] and [[@madadam]].
56+
* [[#1323]] Keep track of column typing in SQLite EXPLAIN parsing [[@marshoepial]]
57+
* This fixes errors in the macros when using `INSERT/UPDATE/DELETE ... RETURNING ...` in SQLite.
58+
59+
[A total of 25 pull requests][0.5.6-prs] were merged this release cycle!
60+
61+
[#1329]: https://github.com/launchbadge/sqlx/pull/1329
62+
[#1363]: https://github.com/launchbadge/sqlx/pull/1363
63+
[#1320]: https://github.com/launchbadge/sqlx/pull/1320
64+
[#1332]: https://github.com/launchbadge/sqlx/pull/1332
65+
[#1351]: https://github.com/launchbadge/sqlx/pull/1351
66+
[#1323]: https://github.com/launchbadge/sqlx/pull/1323
67+
[0.5.6-prs]: https://github.com/launchbadge/sqlx/pulls?q=is%3Apr+is%3Amerged+merged%3A2021-05-24..2021-08-17
68+
869
## 0.5.5 - 2021-05-24
970

1071
- [[#1242]] Fix infinite loop at compile time when using query macros [[@toshokan]]
@@ -925,3 +986,12 @@ Fix docs.rs build by enabling a runtime feature in the docs.rs metadata in `Carg
925986
[@feikesteenbergen]: https://github.com/feikesteenbergen
926987
[@etcaton]: https://github.com/ETCaton
927988
[@toshokan]: https://github.com/toshokan
989+
[@nomick]: https://github.com/nomick
990+
[@marshoepial]: https://github.com/marshoepial
991+
[@link2ext]: https://github.com/link2ext
992+
[@madadam]: https://github.com/madadam
993+
[@AtkinsChang]: https://github.com/AtkinsChang
994+
[@djmarcin]: https://github.com/djmarcin
995+
[@ghassmo]: https://github.com/ghassmo
996+
[@eagletmt]: https://github.com/eagletmt
997+
[@montanalow]: https://github.com/montanalow

0 commit comments

Comments
 (0)