Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
pgtype/hstore: Avoid Postgres Mac OS X parsing bug
Postgres on Mac OS X has a bug in how it parses hstore text values that causes it to misinterpret some Unicode values as spaces. This causes values sent by pgx to be misinterpreted. To avoid this, always quote hstore values, which is how Postgres serializes them itself. The test change fails on Mac OS X without this fix. While I suspect this should not be performance critical for any application, I added a quick benchmark to test the performance of the encoding. This change actually makes encoding slightly faster on my M1 Pro. The output from the benchstat program on this banchmark is: goos: darwin goarch: arm64 pkg: github.com/jackc/pgx/v5/pgtype │ orig.txt │ new-quotes.txt │ │ sec/op │ sec/op vs base │ HstoreSerialize/text-10 207.1n ± 0% 142.3n ± 1% -31.31% (p=0.000 n=10) HstoreSerialize/binary-10 100.10n ± 0% 99.64n ± 1% -0.45% (p=0.013 n=10) geomean 144.0n 119.1n -17.31% I have also attempted to fix the Postgres bug, but it will take a long time for this fix to get upstream: https://www.postgresql.org/message-id/CA%2BHWA9awUW0%2BRV_gO9r1ABZwGoZxPztcJxPy8vMFSTbTfi4jig%40mail.gmail.com
- Loading branch information