commits
it's *fine* but i don't think it's guaranteed that serde_json will round-trip the object structure exactly, and that might even be unlikely.
in general this shouldn't be a problem, since logs will still be exactly verifiable compared to upstream by canonicalizing into dag-cbor etc, but that's annoying.
leaving it for now but once we get there, we can:
- keep a copy of the original string beside the op (~2x memory? probably fine?) or
- use some rust trickery to let us keep the original string and put the parsed thing as a referencing struct next to it. (oroborus etc)
idk if this is even measurable but why not
>250k rows/sec on dev machine (...with pg running directly on host, not in docker)
`unlogged` seems to work in place of ~all the other tweakable knobs to make this as fast as possible
hopefully that's fine since we'll just be copying it back to the main table after
it's *fine* but i don't think it's guaranteed that serde_json will round-trip the object structure exactly, and that might even be unlikely.
in general this shouldn't be a problem, since logs will still be exactly verifiable compared to upstream by canonicalizing into dag-cbor etc, but that's annoying.
leaving it for now but once we get there, we can:
- keep a copy of the original string beside the op (~2x memory? probably fine?) or
- use some rust trickery to let us keep the original string and put the parsed thing as a referencing struct next to it. (oroborus etc)