* Use `create_new` instead of `atomic-file-write`
This provides the same functionality but without temporary files, platform-specific code, fragility of `O_TMPFILE` support, and an extra dependency.
* Properly handle acceptable failure cases
* Consider `PermissionDenied` as acceptable
Apparently this can occur on Windows.
---------
Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
* Updated ahash so it can compile on mac
* Updated MigrateDatabase Trait + related functions
* Postgres force drop database flag impl
* Update migrate.rs
* Reverted MigrateDatabase Trait
* Update migrate.rs
* Update migrate.rs
* Added force drop database fn impl
* Add Migrate Error
* Fixed changed function name
* cli: add --target-version CLI flags for migrate run/revert
* cli: fix broken test
* cli: test harness for `sqlx migrate` along with --target-version tests
* cli: Fail if version supplied to run/revert is too old/new
After some discussion with my coworkers, we thought about the behavior a bit more:
The behavior is now that for a run, if the provided version is too old, the CLI
will return with failure rather than being a no-op. This gives feedback to the
operator instead of being quiet.
It is still valid to up/downgrade to the latest version, this will still be a no-op
to allow for idempotency.
* add basic describe benchmarks
* separate memory from query state
* move branch tracking & deduplication logic into a dedicated BranchList class
* Convert to using IntMap
* move intmap to a separate module, drop dead code, clean up function names
* Update Cargo.lock
* skip branches to check foreign keys, as they generally shouldn't impact query result type
chrono 0.4's default features include the `oldtime` feature which pulls in time 0.1.44.
This is an unmaintained version with soundness issues (time-rs/time#293) and is rarely needed.
If downstream users require this dependency, they can enable the feature themselves.
* Fixed typo. (#2156)
* Set whoami default-features to false
Otherwise, whoami pulls in web-sys, wasm-bindgen and a BUNCH of
additional dependencies. This is really unnecessary, and if
someone has an actual use case where they are attempting to connect
to postgres from a browser, well ... they've probably already been
pwned by now. If it is deemed necessary, then add an additional
activation feature for that specific slew of deps.
---------
Co-authored-by: Chris Foster <cdbfoster@gmail.com>
* CHANGELOG: mention that users should upgrade CLI
* Added regexp support in sqlite
* Added a with_regexp function to sqliteconnectoptions
* Fixed tests
* Undo CHANGELOG.md change
---------
Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
Co-authored-by: Victor Koenders <victor.koenders@qrtech.se>
* Add tracing dep
* Switch over basic events
* Switch over dynamically enabled events
* Fix missing SocketAddr formatting
* More format fixing
* refactor: Apply tracing changes to new crate structure