Re: [PATCH] Add get_bytes() and set_bytes() functions
Joel Jacobson <joel@compiler.org>
From: "Joel Jacobson" <joel@compiler.org>
To: "David Fetter" <david@fetter.org>
Cc: "Aleksander Alekseev" <aleksander@timescale.com>,
pgsql-hackers@lists.postgresql.org
Date: 2024-08-14T17:25:51Z
Lists: pgsql-hackers
On Wed, Aug 14, 2024, at 18:31, David Fetter wrote: > On Wed, Aug 14, 2024 at 05:39:32PM +0200, Joel Jacobson wrote: >> On Wed, Aug 14, 2024, at 16:43, David Fetter wrote: >> >> I also think it would be nice to provide these convenience functions: >> >> to_bytes(bigint) -> bytea >> >> from_bytes(bytea) -> bigint >> > >> > Along with these, would it make sense to have other forms of these >> > that won't choke at 63 bits, e.g. NUMERIC or TEXT? >> >> I wonder what would be good names for such functions though? > > decimal_to_bytes(numeric), decimal_to_bytes(text) on one side > decimal_from_bytes(bytea, typeoid) I assume decimal_to_bytes() will only accept integer numerics, that is, that don't have a decimal digits part? Hmm, it's perhaps then a bit counter intuitive that the name contains "decimal", since some people might associate the word "decimal" stronger with "decimal digits" rather than the radix/base 10. What do we want to happen if passing a numeric with decimal digits, to decimal_to_bytes()? It must be an error, right? Example: SELECT decimal_to_bytes(1.23); > Naming Things™ is one of the hard problems in computer science. Bad > joke that includes cache coherency and off-by-one included by > reference. So true :) > As usual, I see "official documentation lacks helpful and/or > non-obvious examples" as a problem best approached by making good the > lack. I am aware that my ideas about pedagogy, documentation, etc. are > not shared universally, but they're widely shared by people whose main > interaction with documents is trying to get help from them. Well spoken. Regards, Joel
Commits
-
Allow casting between bytea and integer types.
- 6da469badaff 18.0 landed