* feat: add polygon
* test: paths for pgpoints in polygon test
* fix: import typo
* chore(Sqlite): remove ci.db from repo (#3768)
* fix: CI
* Fix breakage from Rustup 1.28 <https://blog.rust-lang.org/2025/03/02/Rustup-1.28.0.html>
* Let `Swatinem/rust-cache` generate cache keys
* fix(ci): upgrade Ubuntu image to 24.04
For some reason the `cargo +beta clippy` step is failing because `libsqlite3-sys` starts requiring Glibc >= 2.39 but I don't have time to figure out why and I can't reproduce it in a clean environment.
---------
Co-authored-by: joeydewaal <99046430+joeydewaal@users.noreply.github.com>
Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
* feat: add geometry path
* fix: paths to pg point
* test: remove array tests for path
* Fix readme: uuid feature is gating for all repos (#3720)
The readme previously stated that the uuid feature is only for postres but it actually also gates the functionality in mysql and sqlite.
* Replace some futures_util APIs with std variants (#3721)
* feat(sqlx-cli): Add flag to disable automatic loading of .env files (#3724)
* Add flag to disable automatic loading of .env files
* Update sqlx-cli/src/opt.rs
Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
---------
Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
* chore: expose bstr feature (#3714)
* chore: replace rustls-pemfile with rustls-pki-types (#3725)
* QueryBuilder: add `debug_assert` when `push_values` is passed an empty set of tuples (#3734)
* throw a warning in tracing so that the empty tuples would be noticed
* use debug assertion to throw a panic in debug mode
* fix: merge conflicts
* chore(cli): remove unused async-trait crate from dependencies (#3754)
* Update pull_request_template.md
* Fix example calculation (#3741)
* Avoid privilege requirements by using an advisory lock in test setup (postgres). (#3753)
* feat(sqlx-postgres): use advisory lock to avoid setup race condition
* fix(sqlx-postgres): numeric hex constants not supported before postgres 16
* Small doc correction. (#3755)
When sqlx-core/src/from_row.rs was updated to implement FromRow for tuples of up to 16 values, a comment was left stating that it was implemented up to tuples of 9 values.
* Update FAQ.md
* refactor(cli): replace promptly with dialoguer (#3669)
* docs(pool): recommend actix-web ThinData over Data to avoid two Arcs (#3762)
Both actix_web::web::Data and sqlx::PgPool internally wrap an Arc. Thus,
using Data<PgPool> as an extractor in an actix-web route handler results
in two Arcs wrapping the data of interest, which isn't ideal.
Actix-web 4.9.0 introduced a new web::ThinData extractor for cases like
this, where the data is already wrapped in an `Arc` (or is otherwise
similarly cheap and sensible to simply clone), which doesn't wrap the
inner value in a (second) Arc.
Since the new extractor is better suited to the task, suggest it in
place of web::Data when giving an example on how to share a pool.
* fix: merge conflicts
* fix: use types mod from main
* fix: merge conflicts
* fix: merge conflicts
* fix: merge conflicts
* fix: ordering of types mod
* fix: path import
* test: no array test for path
---------
Co-authored-by: Jon Thacker <thacker.jon@gmail.com>
Co-authored-by: Paolo Barbolini <paolo.barbolini@m4ss.net>
Co-authored-by: Ben Wilber <benwilber@users.noreply.github.com>
Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
Co-authored-by: joeydewaal <99046430+joeydewaal@users.noreply.github.com>
Co-authored-by: tottoto <tottotodev@gmail.com>
Co-authored-by: Ethan Wang <mailme@ethanavania.org>
Co-authored-by: Stefan Schindler <dns2utf8@users.noreply.github.com>
Co-authored-by: kildrens <5198060+kildrens@users.noreply.github.com>
Co-authored-by: Marti Serra <marti.serra+github@protonmail.com>
Co-authored-by: Jonas Malaco <jonas@protocubo.io>
* feat: add geometry line
* fix: point vs line
* fix: try regular comparison for line
* fix: undo point comparison change
* fix: regular comparison for array lines
* fix: remove line array test
* feat: point
* test: try if eq operator works for arrays of geometries
* fix: re-introduce comparison
* fix: test other geometry comparison
* test: geometry array equality check
* test: array match for geo arrays geo match for geo only
* fix: prepare geometric array type
* fix: update array comparison
* fix: try another method of geometric array comparison
* fix: one more geometry match tests
* fix: correct query syntax
* test: geometry test further
* feat: add cube
* docs: cube docs
* docs: update readme
* fix: cube is now not feature flagged
* fix: formatting
* fix: typeo for PgCube vs Cube
* fix: correct types
* fix: postgres only types for cube
* fix: cube readme
* fix: dont unwrap cubes
* fix: typo on interval
* fix: zero volume cube array
* fix: return type
* fix: update tests
* fix: run with one test type
* fix: log bytes in error
* fix: typo in test
* fix: log bytes for failed length
* fix: string deser
* docs: remove cube from readme
* fix: int to float
* fix: trim floats
* fix: exttra test
* fix: type safe into vectors
* fix: improve error messages
* docs: remove comments
* fix: front load most important logic and const at start
* fix: extract constants
* fix: flags
* fix: avoid redundant buffer creation and use FromStr trait
* fix: handle serializing
* test: cube vec test
* fix: no array cube test
* fix: update test with array for cube
* fix: dont use try from for u8
* fix: conditionally remove padding
* fix: conditional trimming
* fix: idiomatic trimming
* fix: linting
* fix: remove whitespace
* fix: lower case array
* fix: spacing input
* test: one more vec test
* fix: trim square brackets in case they are using postgres spec page
* fix: result types
* fix: format
* fix: box error
* fix: the borrow produces a value
* fix: self serialise
* chore: merge main
* fix: borrow
* fix: clippy
---------
Co-authored-by: James Holman <james.holman@betashares.com.au>
* feat(citext): implement citext for postgres
* feat(citext): add citext -> String conversion test
* feat(citext): fix ltree -> citree
* feat(citext): add citext to the setup.sql
* chore: address nits to #2478
* Rename `PgCitext` to `PgCiText`
* Document when use of `PgCiText` is warranted
* Document potentially surprising `PartialEq` behavior
* Test that the macros consider `CITEXT` to be compatible with `String` and friends
* doc: add `PgCiText` to `postgres::types` listing
* chore: restore missing trailing line break to `tests/postgres/setup.sql`
---------
Co-authored-by: Austin Bonander <austin@launchbadge.com>
* postgres: use Oid type instead of u32
* Make serde happy
* Expose the inner u32
* docs
* Try to fix tests
* Fix unit tests
* Fix order
* Not sure what happened here
- Remove Type bound from Encode + Decode which removes the defaults
for produces() and accepts(). This allows custom type implementations
to be more flexible.