Conversation
So cargo and rustc aren't necessary for the development shell
This is the prize I was looking for. Now the row decoders are built with the NULL handling parts a lot more inlined, which even means in a fully inlined row decoder we no longer box into a `Maybe a` to then case match on it and fail on `Nothing`, when the target record has a field typed as `a` (not a Maybe).
Types like `Scientific` are not being decoded optimally otherwise, and they can do better than in the current state
And use them almost everywhere.
…ingleFieldRowDecoder`
The rewrite rules for these weren't really being tested be for `FromPgField (Maybe a)` instances, and this shows that clearly
Rewrite rules are not reliable
mzabani
force-pushed
the
backpatch-row-decs-pinned-byte-arrays
branch
from
September 13, 2026 14:21
5d2024d to
e0e7ec5
Compare
Enum decoding failures used `error` before. That's gone.
mzabani
force-pushed
the
backpatch-row-decs-pinned-byte-arrays
branch
from
September 19, 2026 15:47
998cb9f to
bd9b6ec
Compare
`$` is not levity polymorphic enough and the type used for `Data.Text.Text`'s internal representation is imported from a different module
The inliner sees through `const $ ..` anyway, so there's no use having two separate methods
We'll measure and think about this later
mzabani
force-pushed
the
backpatch-row-decs-pinned-byte-arrays
branch
from
September 26, 2026 12:48
4781c6b to
f5f8ca2
Compare
This makes appending a strict PinnedByteArray a clearly non-quadratic operation. Memory usage goes up a bit in benchmarks, but runtime is untouched. We don't have benchmarks for really large rows. Those would maybe point to an improvement.
No need to break API compatibility here yet
mzabani
force-pushed
the
backpatch-row-decs-pinned-byte-arrays
branch
from
September 26, 2026 22:19
ab36565 to
ccab50f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is an attempt to do #54 without any breaking API changes, for two reasons: