pqi 0.1.0.1 → 0.1.0.2
raw patch · 3 files changed
+17/−10 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- README.md +10/−8
- pqi.cabal +3/−2
CHANGELOG.md view
@@ -1,3 +1,7 @@+# v0.1.0.2++Polish the docs.+ # v0.1.0.1 Corrected the readme.
README.md view
@@ -11,7 +11,7 @@ |---------|-------------| | **[pqi](https://github.com/nikita-volkov/pqi)** *(this)* | The interface: `IsConnection` class, shared types, and connection-independent helpers | | [pqi-ffi](https://github.com/nikita-volkov/pqi-ffi) | FFI adapter backed by `postgresql-libpq` and the C `libpq` library. Battle-tested, production-safe |-| [pqi-native](https://github.com/nikita-volkov/pqi-native) | Pure-Haskell adapter speaking the PostgreSQL wire protocol directly. No C dependency. Experimental |+| [pqi-native](https://github.com/nikita-volkov/pqi-native) | Pure-Haskell adapter speaking the PostgreSQL wire protocol directly. No C dependency. Alpha — interchangeable with `pqi-ffi` | | [pqi-conformance](https://github.com/nikita-volkov/pqi-conformance) | Reusable `hspec` conformance suite that differentially tests any adapter against `postgresql-libpq` | ## Motivation@@ -29,12 +29,14 @@ - [`pqi-ffi`](https://github.com/nikita-volkov/pqi-ffi) — a thin wrapper around `postgresql-libpq`. Battle-tested, production-safe. The default choice.-- [`pqi-native`](https://github.com/nikita-volkov/pqi-native) — a pure-Haskell- implementation of the PostgreSQL wire protocol, generated with LLM- assistance. **Experimental.** It produces byte-identical output to `postgresql-libpq`- for all protocol-derived values (verified by differential testing), but it- has not yet been exercised in production at scale. If you adopt it, we want- to hear from you.+- [`pqi-native`](https://github.com/nikita-volkov/pqi-native) — a from-scratch+ pure-Haskell implementation of the PostgreSQL wire protocol. **Alpha.** It+ produces byte-identical output to `postgresql-libpq` for all+ protocol-derived values (verified by differential testing), but it has not+ yet been exercised in production at scale. Because it implements the same+ `pqi` interface as `pqi-ffi`, the two are fully interchangeable — switching+ between them is a one-line change, so adopting `pqi-native` now carries no+ lock-in. If you adopt it, we want to hear from you. A driver built against `pqi` gives its users transport choice without any changes to the driver itself. Each adapter package exports a single@@ -45,7 +47,7 @@ -- C-backed (safe, requires libpq) connection <- connectdb Pqi.Ffi.adapter settings --- Pure Haskell (experimental, no C dependency)+-- Pure Haskell (alpha, no C dependency) connection <- connectdb Pqi.Native.adapter settings ```
pqi.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: pqi-version: 0.1.0.1+version: 0.1.0.2 category: Database, PostgreSQL synopsis: Driver-agnostic interface to the PostgreSQL libpq API description:@@ -13,7 +13,8 @@ [@postgresql-libpq@](https://hackage.haskell.org/package/postgresql-libpq). * [@pqi-native@](https://hackage.haskell.org/package/pqi-native) — a pure-Haskell adapter that speaks the PostgreSQL wire- protocol directly.+ protocol directly. __Alpha__, and fully interchangeable with @pqi-ffi@: switching between them+ is a one-line @Adapter@ change. This package ships only the interface: the record types, and an 'Adapter' type for adapter packages to bundle their connection-establishing functions under.