Support sending ArrayBuffer values over the wire
PG supports sending ArrayBuffer views (e.g. TypedArray instances like Uint8Array) over the wire as values in queries, but it cannot send the underlying ArrayBuffer as a value.
Use case: I have one ArrayBuffer which represents packed binary data, it containing multiple TypedArray views e.g. one UInt8Array for meta data and one Float32Array containing a payload.
I want to insert this entire ArrayBuffer into a Postgres BYTEA column.
But, currently, the PG prepareValue util function does not support preparing ArrayBuffer values.
Preparing an ArrayBuffer is a simple change, it can just be converted to a Buffer by simply passing it to Buffer.from()
Yes, I was wondering the same thing. Having something that do not depend on node:Buffer would be great - and also runtime agnostic. Using ArrayBuffer would make it Deno compatible for bytea columns. E.g. Cloudflare D1 uses ArrayBuffer
@lroal You can use new Uint8Array(arrayBuffer) in pg right now.
@lroal You can use
new Uint8Array(arrayBuffer)in pg right now.
But this is only for incoming ? (inserts) Not for selects ?