Hi, > On 19.08.24 16:10, Aleksander Alekseev wrote: > > To clarify, supporting bytea<->integer (and/or bytea<->numeric) casts > > doesn't strike me as a terrible idea but it doesn't address the issue > > I'm proposing to solve. > > What is the issue you are proposing to solve? > > You linked to a couple of threads and stackoverflow pages, and you > concluded from that that we should add get_bytes() and set_bytes() > functions. It's not obvious how you get from the former to the latter, > and I don't think the functions you propose are well-designed in isolation.
I guess there are in fact two problems, not one. 1. Converting between bytea and integer types 2. Multibyte versions of get_byte() / set_byte() As you rightly pointed out, for (1) we just need to add missing casts. Here is the corresponding patch, v3-0001. Note that I couldn't re-use int{2,4,8}recv because its first argument is StringInfo, so I ended up implementing my own bytea->int{2,4,8} functions. I think there may be value in (2) as well. It's implemented in v3-0002 and I did my best to clarify the commit message. On the flip side the situation when one wants something like extracting int4 from a bytea(or vice versa) and is not happy with convenience and/or performance of substr()+casts is arguably rare. I'll be fine with whatever consensus the community reaches about this patch. -- Best regards, Aleksander Alekseev
v3-0001-Allow-casting-between-bytea-and-integer-types.patch
Description: Binary data
v3-0002-Add-get_bytes-and-set_bytes-functions.patch
Description: Binary data